DVI

MANUALI
CURRICULUM
LA MIA TESI
CHI SONO
TELELAVORO
CORSI ONLINE
ENGLISH
SCRIVIMI
WEBMASTER
XML
AUTOCAD
IL visualizzatore DVI

A fianco del formato PostScript per i documenti finali, pronti per la stampa, ne esiste un altro: DVI, il cui nome sta per DeVice Indipendent. Il file DVI, come nel caso di quello PostScript, contiene tutte le informazioni necessarie a descrivere il risultato finale stampato, anche se non esistono stampanti DVI. Si tratta quindi di un formato intermedio che, per essere stampato, richiede una successiva elaborazione. I file DVI derivano principalmente da elaborazioni con LaTeX, e con questo sistema di composizione tipografica sono generalmente distribuiti anche gli strumenti adatti a gestire tale formato.


Generalmente, l'uso degli strumenti riferiti al formato DVI si limita a dvips che converte file DVI in PostScript. Tuttavia sono disponibili anche altri strumenti che permettono di arrivare a un risultato stampato senza passare per il PostScript. Si tratta in particolare di dvilj per la generazione di un formato HP PCL (HP Printer Control Language), adatto alle stampanti compatibili HP LaserJet, solo che le comuni distribuzioni Linux non includono tutto il necessario per arrivare al risultato finale.

In pratica, la gestione dei file DVI è basata, di fatto, sulla conversione in PostScript attraverso dvips, e sulla successiva rielaborazione dei file PostScript attraverso altri strumenti.


IL comando dvips

Il comando dvips elabora il file DVI fornito come argomento e ne genera un altro in PostScript. Se non viene indicato qualcosa di diverso attraverso le opzioni, il risultato viene inviato al sistema di stampa (alla coda di stampa predefinita). Il nome del file DVI può essere indicato completo o sprovvisto dell'estensione: .dvi.

Alcune opzioni
-D n


Permette di indicare esplicitamente la risoluzione, sia verticale che orizzontale. Questo ha rilevanza nella scelta dei tipi di carattere da usare per la composizione del file PostScript, e per la loro spaziatura. Il numero può avere un valore minimo di 10 e massimo di 10000, e si riferisce a dpi (Dot Per Inch). Generalmente questa opzione non viene indicata, e dvips utilizza normalmente una risoluzione di 600 dpi.

-q


Utilizzando questa opzione, si fa in modo che dvips lavori senza produrre segnalazioni di alcun tipo.

-o <file-ps>


Permette di specificare un file di destinazione del risultato della trasformazione, evitando di inviare i dati direttamente al sistema di stampa.

-t <formato>


Questa opzione permette di definire il formato finale del documento PostScript. Se non viene specificato, si intende automaticamente il formato letter. Sotto questo aspetto, l'utilizzo di questa opzione è quasi obbligatorio. Generalmente possono essere utilizzati i seguenti nomi di formato:

letter,

legal,

ledger,

a4,

a3.

Questa stessa opzione può essere usata per specificare un formato orizzontale, landscape, eventualmente anche utilizzandola due volte (la prima per indicare il formato della carta, la seconda per aggiungere che deve essere intesa come orizzontale).

Esempi
dvips -t a4 -o miofile.ps miofile.dvi

Elabora il file miofile.dvi generando il file miofile.ps, in formato A4.

dvips -t a4 miofile.dvi

Elabora il file miofile.dvi, trasformandolo in PostScript, inviando il risultato alla coda di stampa predefinita.

Anteprima di stampa

Anche per il formato DVI esiste uno strumento per la visualizzazione in anteprima. Si tratta di xdvi. La sua impostazione è piuttosto vecchia e il suo utilizzo molto scomodo; in effetti si usa ancora molto poco, dal momento che si può utilizzare Ghostview o gv dopo una conversione in PostScript.

xdvi

È un programma che permette la visualizzazione di file DVI all'interno dell'ambiente grafico X. In presenza di immagini incorporate di tipo PostScript, richiede la presenza di GhostScript.

Il programma xdvi.

xdvi è rimasto decisamente spartano nella sua impostazione; oltre a questo, per visualizzare tutti i bottoni grafici che possono essere utilizzati, richiede una risoluzione dello schermo di almeno 1024x768. In alternativa si è costretti a utilizzare i comandi attraverso la tastiera.

xdvi [<opzioni>] [<file-dvi>]


xdvi viene utilizzato generalmente senza alcun argomento, eventualmente può essere fornito il nome del file DVI che si vuole visualizzare.

Alcuni comandi da tastiera
[u], [d], [l], [r]

Questi tasti, oppure i corrispondenti tasti freccia, possono essere usati per spostare il testo all'interno della finestra.

[n], [p]

Questi tasti, oppure i corrispondenti tasti [pagina giù] e [pagina su], permettono di passare alla visualizzazione della pagina successiva o alla pagina precedente.

[q]

conclude il funzionamento del programma.

Mettere insieme testo e grafica con dvips.

In generale questa sezione si applica ad un documento TeX o LaTeX in cui siano presenti testo e grafica. teTeX, come la maggior parte delle distribuzioni TeX, è predisposto per richiedere i font Computer Modern. Quando vengono stampati documenti con font scalabili Type 1 o grafica, la resa dei font e della grafica è compito di dvips. dvips può usare sia font Computer Modern bit-mapped che scalabili Type 1, o una combinazione dei due. Come prima cosa ci concentreremo sulla stampa e la visione in anteprima della grafica.

In generale occorrerà seguire questa procedura ogni volta che un sorgente LaTeX contiene l'istruzione


\includepackage{graphics}

nel proprio preambolo. Questa istruzione fa sì che LaTeX includa il testo del pacchetto graphics.sty nel sorgente. Ci sono altri comandi che servono per eseguire operazioni relative alla grafica, e le istruzioni in documenti in TeX puro possono non suggerirti che c'è bisogno di usare dvips. La differenza sarà evidente comunque quando il documento sarà stampato senza figure o altri elementi grafici.
Quindi per ora ci concentreremo sulla stampa di documenti che usano il pacchetto LaTeX graphics.sty. Probabilmente vuoi dare un'occhiata al sorgente TeX originale. Non è incluso nella distribuzione teTeX, ma lo puoi trovare a

~CTAN/macros/latex/packages/graphics/grfguide.tex.

Incluso nella distribuzione teTeX c'è invece il file .dvi già elaborato da TeX. C'è una ragione per questo, ed ha a che fare con la necessità di includere font Type 1 perché il documento possa essere stampato correttamente. Se vuoi elaborare grfguide.tex con LaTeX leggi la prossima sezione. Per ora, comunque, faremo in modo di ottenere con dvips un output utilizzabile.
Il file grfguide.dvi si trova nella directory

texmf/doc/latex/graphics

Il primo passo per poter ottenere qualcosa di utile da grfguide.dvi consiste nel tradurlo in PostScript. Il programma dvips serve a questo scopo. Fa esattamente quello che il suo nome suggerisce. Ci sono molte opzioni con le quali può essere chiamato, ma la forma più semplice (o quasi) è

dvips -f -r <grfguide.dvi >grfguide.ps

Lo switch -f dice a dvips di lavorare come un filtro, cioè leggere dallo standard input e scrivere sullo standard output. dvips può anche essere configurato per inviare il suo output direttamente a lpr.
Se puoi stampare file PostScript sulla tua stampante con il comando lpr puoi digitare semplicemente

dvips -r grfguide.dvi

L'opzione -r dice a dvips di produrre le pagine in ordine inverso così che vengano impilate nell'ordine giusto in uscita dalla stampante. Usalo se questo è utile per la tua stampante.
dvips e metafont possono dover creare o no i nuovi font di cui grfguide.dvi ha bisogno, dipende se hai ancora i font che dvilj2 ha prodotto elaborando l'ultimo documento. Alla fine, comunque, dvips scriverà l'elenco delle pagine che ha tradotto in PostScript e avrai così un file PostScript pronto per essere inviato a qualunque dispositivo tu abbia.

Se sei fortunato (e ricco) allora hai una stampante in grado di capire direttamente il PostScript che potrà stampare direttamente grfguide.ps. Puoi inviare il file alla coda di stampa usando lpr. Se per qualche ragione il tuo software di stampa non funziona correttamente con i file PostScript puoi semplicemente inviare il file alla stampante con

cat grfguide.ps >/dev/lp0

o a qualunque altra porta la tua stampante è collegata. Comunque questo non è il metodo raccomandato per l'uso quotidiano.
Se vuoi o devi eseguire Ghostscript manualmente questa è la procedura standard per usarlo. La prima cosa da fare per eseguire Ghostscript è vedere quali sono gli argomenti della linea di comando, e si può fare così:

gs -help | less

Vedrai una lista dei dispositivi che Ghostscript supporta e molti altri comandi. Scegli il dispositivo che corrisponde maggiormente alla tua stampante. In genere stampo testo in bianco e nero e uso il driver cdjmono, che controlla una stampante a colori Deskjet in modo monocromatico (bianco e nero).
La linea di comando che uso è:

gs -dNOPAUSE -sDEVICE=cdjmono -sOutputFile=/tmp/gs.out grfguide.ps -c quit

Questo mette il mio output compatibile HP nella directory /tmp. È una buona idea usare una directory come /tmp, perché gs può essere un po' difficile riguardo ai permessi di accesso, e non puoi (né dovresti) contare sul fatto di essere sempre collegato come root quando effettui queste operazioni. Adesso puoi stampare il file:
lpr /tmp/gs.out

Ovviamente puoi mettere tutto in uno script della shell. Sul mio sistema ho due semplici script, pv e pr che inviano il file PostScript rispettivamente allo schermo o alla stampante. È possibile avere un'anteprima su schermo senza usare X, ma non è la cosa migliore. Quindi vale sicuramente la pena installare XFree86 per mostrare il documento sullo schermo.
L'ordine dei comandi in un comando gs è importante, perché alcune delle opzioni dicono a Ghostscript di cercare parti di codice PostScript nella sua libreria.

È importante ricordare che grfguide.dvi richiede sia font bit mapped Computer Modern che font scalabili Type 1. Se sei capace di mettere insieme font scalabili e bit mapped in un documento, sei sulla buona strada per diventare un TeXnico.


5.1 E se la mia stampante non è supportata?
La distribuzione teTeX ha solo una selezione limitata di driver DVI: dvips, driver per le stampanti Hewlett Packard LaserJet, e niente di più. Se hai una stampante non compatibile con le LaserJet hai due possibilità: puoi usare dvips e Ghostscript, cosa che raccomando comunque per le ragioni di cui ho già parlato, o puoi cercare altri driver DVI.

Alcuni driver DVI sono stati riscritti per Linux e sono disponibili già compilati. Si trovano nell'archivio Linux sul sito ftp://sunsite.unc.edu/pub/Linux/apps/tex/dvi/.

Il sito principale su cui viene mantenuta una libreria di driver DVI si trova all'Università dello Utah. Se non riesci a trovare là un driver che supporta la tua stampante è molto probabile che non esista. Puoi anche scrivere da solo il tuo driver DVI usando degli schemi disponibili là. L'URL del sito è ftp://ftp.math.utah.edu/pub/tex/dvi/.

MATLAB
FORTRAN 90
TURBOPASCAL
C/C++
PERL
JAVA
JAVASCRIPT
SCILAB
LATEX
FORTRAN 77
LINUX
UNIX