[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 209.   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 un'elaborazione successiva. I file DVI derivano principalmente da elaborazioni con il sistema di composizione TeX, con il quale sono distribuiti generalmente anche gli strumenti adatti a gestire tale formato.

Di solito, 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.(1)

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

209.1   Dvips

Dvips (2) è un programma fondamentale per chi utilizza il sistema di composizione TeX (capitolo 430), proprio per la sua abilità nel convertire file DVI in PostScript. Anche se il suo funzionamento è apparentemente molto semplice, si tratta di un programma complesso, pieno di dettagli che in circostanze particolari possono diventare molto utili. Qui si cerca di puntare l'attenzione sulle funzionalità usate più di frequente.

Dvips utilizza la libreria Kpathsea, attraverso la quale è in grado di rigenerare rapidamente i caratteri necessari che non dovessero essere già stati preparati in precedenza (naturalmente devono essere presenti le informazioni per generare tali caratteri).

Considerato che il formato PostScript è diventato lo standard di fatto per le code di stampa, Dvips tende anche a essere visto come un comando di stampa speciale per il formato DVI. Infatti, come viene mostrato meglio dalla descrizione della sua configurazione, se si utilizza nel modo più naturale, come nell'esempio seguente, si ottiene la trasformazione del file DVI indicato nella riga di comando in formato PostScript e l'invio di questa trasformazione direttamente alla coda di stampa predefinita:

dvips pippo.dvi[Invio]

La documentazione di Dvips è molto buona, ma usa delle convenzioni particolari, per cui il lettore casuale potrebbe fraintendere o restare confuso. In particolare, nella descrizione delle opzioni della riga di comando e delle direttive di configurazione, si usa l'asterisco per indicare la possibilità di aggiungere un argomento booleano, che però in generale non serve e di conseguenza non si usa.

209.1.1   Configurazione di Dvips

I file di configurazione di Dvips si trovano generalmente nella directory texmf/dvips/config/, cosa che potrebbe tradursi in pratica in /usr/share/texmf/dvips/config/ o altra collocazione simile. In pratica, se la gerarchia del file system è quella standard, questo potrebbe essere un collegamento simbolico alla directory reale /etc/texmf/dvips/.

Il file di configurazione generale è denominato config.ps, mentre è possibile affiancare a questo altri file simili che vengono presi in considerazione sono per l'invio a code di stampa particolari, attraverso l'opzione -P. Questi file aggiuntivi si distinguono in base all'estensione: config.coda_di_stampa. Il senso di questi file di configurazione aggiuntivi si dovrebbe chiarire con la descrizione della direttiva o del file di configurazione.

Se si osserva la directory di configurazione di Dvips si possono notare altri file, dei quali si può anche intuire lo scopo. Tuttavia, in condizioni normali non è il caso di intervenire sulla loro configurazione.

Naturalmente, oltre ai file di configurazione che riguardano il sistema, ogni utente può aggiungere un proprio file personale: ~/.dvipsrc.

I file di configurazione di Dvips sono file di testo normali, in cui, tutto ciò che inizia con il simbolo di percentuale (%) viene ignorato, assieme alle righe bianche e a quelle vuote. Tutte le altre righe sono da considerarsi direttive di configurazione.

Le direttive hanno un aspetto molto simile alle opzioni della riga di comando dell'eseguibile dvips, alle quali viene tolto il trattino iniziale. Tuttavia non bisogna generalizzare, perché non tutto è perfettamente identico.

Tabella 209.1. Alcune direttive.

Direttiva Descrizione
o file
o |comando

Questa direttiva (una lettera «o» minuscola) consente di definire il file predefinito o il condotto predefinito a cui inviare il risultato della conversione. Generalmente il file di configurazione complessivo contiene la direttiva seguente:

o |lpr

In questo senso, un file di configurazione specifico per la coda di stampa pippo potrebbe contenere invece la direttiva seguente:

o |lpr -Ppippo

Si osservi che questo modo di definire il flusso di uscita dell'elaborazione di Dvips è una consuetudine, non una necessità. Tuttavia è bene mantenere tali queste particolarità, perché sono quelle che tutti si aspettano.

O scostamento_orizzontale,\
  \scostamento_verticale
Questa direttiva (lettera «O» maiuscola), consente di riallineare le pagine attraverso la definizione di uno scostamento orizzontale e verticale. Si tratta di indicare due numeri seguiti dall'unità di misura. Dei valori positivi indicano rispettivamente uno spostamento a destra e in basso, mentre dei valori negativi indicano uno spostamento opposto.
Nel file di configurazione generale è bene annotare una direttiva neutra, del tipo O 0cm,0cm, mentre nei file di configurazione specifici per una particolare coda di stampa, si potrebbero specificare dei valori adeguati (a meno che la coda di stampa non sia già organizzata per correggere i difetti di allineamento eventuali della stampante, come descritto nella sezione 208.3).
K
Questa direttiva rappresenta l'attivazione di un'opzione, attraverso la quale si ottiene l'eliminazione dei commenti dal risultato PostScript, cosa che si può rendere necessaria quando i programmi di rielaborazione di tale formato hanno delle difficoltà che alle volte sembrano inspiegabili.
q|Q
Questa direttiva rappresenta l'attivazione di un'opzione, attraverso la quale si ottiene l'eliminazione dell'emissione delle informazioni che non rappresentano errori di qualche tipo.
r
Questa direttiva rappresenta l'attivazione di un'opzione, attraverso la quale si ottiene l'inversione dell'ordine delle pagine.
D n
X n
Y n
Il numero posto alla destra rappresenta la risoluzione. Nel caso della direttiva D si tratta simultaneamente di quella orizzontale e di quella verticale, mentre nel caso di X si tratta solo di quella orizzontale e nel caso di Y si tratta solo di quella verticale. Il valore è espresso in millesimi (n / 1 000). Si deve indicare un valore che va da un minimo di 10 a un massimo di 10 000. Non deve essere necessariamente un numero intero.
t formato
Questa direttiva permette di definire il formato finale del documento PostScript. Se non viene specificato, si intende il formato predefinito che generalmente corrisponde a letter. Generalmente possono essere utilizzati i nomi di formato seguenti: letter, legal, ledger, a4, a3.
m memoria_disponibile

La stampante PostScript, oppure il programma di conversione che elabora questo formato, potrebbe avere una limitazione nella memoria. Questo potrebbe impedire alla stampante o al programma di gestire correttamente un file troppo complesso. Questa direttiva consente di specificare l'ammontare massimo della memoria, in modo da prendere provvedimenti adeguati al riguardo. Per conosce il valore di questa memoria, basta realizzare un file PostScript fittizio contenente il codice seguente:

%!
/Times-Roman findfont 30 scalefont setfont \
  \144 432 moveto
vmstatus exch sub 40 string cvs \
  \show pop showpage

È probabile che il valore che appare sia abbastanza inferiore a quanto indicato in modo predefinito nel file di configurazione standard. In questo senso, dovrebbe essere opportuno aggiornare tale indicazione.

Viene mostrato brevemente un file di configurazione tipico.

% Ammontare della memoria disponibile.
m 1048576

% Il risultato della conversione in PostScript viene inviato alla stampa.
o |lpr

% Risoluzioni predefinite per la stampante.
D 600
X 600
Y 600

% Correzione dell'allineamento della stampa.
O 0pt,0pt

Naturalmente, il file di configurazione predefinito potrebbe contenere anche molte altre direttive, che in generale non conviene modificare se non si comprende il loro significato.

209.1.2   Riga di comando di Dvips

Il programma 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 come previsto nel file di configurazione e solitamente si tratta della coda di stampa predefinita. Il nome del file DVI può essere indicato completo o sprovvisto dell'estensione: .dvi.

dvips [opzioni] [file_dvi]

Tabella 209.3. Alcune opzioni.

Opzione Descrizione
-D n
-X n
-Y n
Queste opzioni permettono di indicare esplicitamente la risoluzione, sostituendosi alle direttive equivalenti del file di configurazione: D, X e Y.
Questa indicazione 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 10 000, riferendosi all'unità di misura dpi (Dot per inch). Generalmente questa opzione non viene indicata e si utilizza la configurazione che frequentemente richiede 600 dpi.
-q
Utilizzando questa opzione, si fa in modo che l'elaborazione non generi segnalazioni, tranne gli errori, come già fa la direttiva q nel file di configurazione.
-o file_ps
Permette di specificare un file di destinazione del risultato della trasformazione, oppure un comando che deve ricevere il risultato attraverso lo standard input. Dal momento che la configurazione normale convoglia il risultato nella coda di stampa, diventa necessario l'uso di questa opzione per generare un file separato. Un comando viene riconosciuto come tale se inizia con il simbolo |, ma si può anche realizzare un condotto vero e proprio indicando il trattino (-) al posto del nome del file.
-t formato
Questa opzione permette di definire il formato finale del documento PostScript. Se non viene specificato, si intende automaticamente il formato predefinito o quello fissato nella configurazione. Spesso il formato predefinito è letter, per cui, negli script è importante ricordarsi di utilizzare questa opzione per non avere poi brutte sorprese. Si utilizzano gli stessi nomi di formato relativi alla direttiva t del file di configurazione.
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).
-K
Questa opzione, come la stessa direttiva K, serve a ottenere l'eliminazione dei commenti dal risultato PostScript, cosa che si può rendere necessaria quando i programmi di rielaborazione di tale formato hanno delle difficoltà che alle volte sembrano inspiegabili.
-V
-V0
Attiva o disattiva l'inserimento delle informazioni sui caratteri tipografici che potrebbero non essere disponibili nel momento in cui si va a visualizzare il documento. In pratica, l'utilizzo di questa opzione (-V), dovrebbe facilitare la riproducibilità del contenuto del file.

Segue la descrizione di alcuni esempi.

209.2   Dvipdfm

Dvipdfm (3) è un programma funzionalmente analogo a Dvips, con la differenza che genera file PDF a partire dal formato DVI. In condizioni normali, è sufficiente un utilizzo elementare, simile all'esempio seguente:

dvipdfm prova.dvi[Invio]

In questo caso, si ottiene il file prova.pdf, senza nemmeno la necessità di specificarlo. In pratica, a differenza di Dvips, il risultato viene salvato in un file, in modo predefinito.

Come si comprende dall'esempio, Dvipdfm è costituito in pratica dall'eseguibile dvipdfm, che si usa sinteticamente secondo la sintassi seguente:

dvipdfm [opzioni] file_dvi

In pratica, il nome del file PDF viene determinato in modo predefinito, aggiungendo l'estensione .pdf, o sostituendola all'estensione .dvi del file di partenza. In alternativa, si può specificare un nome differente con l'uso di un'opzione apposita. La tabella 209.4 riepiloga le opzioni di uso più comune.

Tabella 209.4. Alcune opzioni di dvipdfm.

Opzione Descrizione
-c
Non prende in considerazione i colori nella conversione.
-m n
Definisce un rapporto di ingrandimento del documento, pari a n.
-o file_pdf
Definisce il nome del file PDF da creare.
-p {letter|legal|ledger\
  \|tabloid|a4|a3}
Definisce il formato finale del file PDF che si vuole ottenere.
-l
Nel caso sia stata specificata l'opzione -p, consente di indicare un orientamento orizzontale.
-s pag_iniziale-pag_finale\
  \[,pag_iniziale-pag_finale]...
Consente di selezionare uno o più intervalli di pagine.
-x scostamento_orizzontale
-y scostamento_verticale
Consentono di definire lo scostamento orizzontale e verticale. Il valore predefinito corrisponde a 1.0in, ovvero un pollice.
-z n
Consentono di definire il livello di compressione, con un numero da uno a nove. Il valore predefinito è nove, corrispondente alla compressione massima.
-v
Mostra più informazioni durante la conversione.
-vv
Mostra molte informazioni in più durante la conversione.

209.3   Anteprima di stampa

Anche per il formato DVI esistono strumenti per la visualizzazione in anteprima. Si tratta di programmi che usano il sistema grafico X, oppure che accedono direttamente alla scheda SVGA, oppure si limitano solo a generare una trasformazione in formato testo. In generale, le immagini PostScript incluse non vengono visualizzate nell'anteprima.

209.3.1   Catdvi

Catdvi (4) è un programma molto semplice per la lettura di file DVI attraverso un terminale a caratteri puro e semplice. Si compone in pratica dell'eseguibile catdvi, che si utilizza schematicamente nel modo seguente:

catdvi [opzioni] [file_dvi]

In pratica, se il file DVI non viene fornito come argomento, viene letto dallo standard input; in ogni caso, il risultato viene emesso attraverso lo standard output.

Attraverso le opzioni è possibile, tra le altre cose, delimitare la lettura a un gruppo di pagine. Tuttavia, il modo in cui queste pagine deve essere indicato può essere complesso, pertanto si rimanda per questo alla documentazione di Catdvi, per esempio catdvi(1).

In particolare, può essere importante definire la codifica da usare per il file di testo da generare, allo scopo di non perdere le lettere accentate. Per esempio:

catdvi -e 2 prova.dvi | less[Invio]

consente di scorrere il contenuto testuale del file prova.dvi, usando la codifica ISO 8859-1. In pratica, l'opzione si comporta così:

-e 0
--output-encoding=0
Unicode, UTF-8.
-e 1
--output-encoding=1
ASCII puro (sette bit).
-e 2
--output-encoding=2
ISO 8859-1.

209.3.2   Tmview

Tmview (5) è un programma in grado di visualizzare in anteprima un file DVI su schermo SVGA (nei sistemi GNU/Linux, attraverso la libreria SVGAlib descritta nel capitolo 215) e anche attraverso l'ambiente grafico X.

dvisvga [opzioni] [file_dvi]
dvilx [opzioni] [file_dvi]

Il primo dei due modelli sintattici si riferisce all'uso di Tmview su una console virtuale SVGA di un sistema GNU/Linux, mentre il secondo riguarda l'ambiente grafico X.

Tmview prevede alcuni file di configurazione: /etc/dvilx e ~/.dvilx nel caso dell'eseguibile dvilx; /etc/dvisvga e ~/.dvisvga nel caso dell'eseguibile dvisvga. I file di configurazione personali degli utenti vengono creati e aggiornati da Tmview in base all'utilizzo. Tra le altre cose, questo serve a memorizzare il percorso degli ultimi file letti. Gli utenti che non vogliono l'alterazione automatica di questi file, possono togliere i permessi di scrittura al loro file.

Probabilmente l'opzione della riga di comando che deve essere conosciuta è quella che permette di definire la dimensione della finestra, nel caso di dvilx, ovvero la risoluzione dello schermo, nel caso di dvisvga:

-dampiezzaxaltezza

Infatti, per quanto riguarda in particolare dvilx, una volta avviato non è possibile ridimensionare la sua finestra.

Quando si avvia Tmview, utilizzando uno dei due eseguibili in base alla convenienza, occorre considerare che potrebbe essere necessario attendere un po' di tempo per preparare i caratteri, come avviene già con applicazioni simili, quali Dvips, che utilizzano la libreria Kpathsea.

Dopo l'avvio, sia nel caso dell'edizione per schermi SVGA, sia per la versione per X, si interviene attraverso comandi della tastiera molto semplici. La tabella 209.6 ne riepiloga i più comuni.

Tabella 209.6. Alcuni comandi di Tmview per la navigazione del documento.

Comando Alternativa Descrizione
[?][?] Visualizza la guida interna.
[i] [Pagina su] Visualizza la pagina precedente.
[m] [Pagina giù] Visualizza la pagina successiva.
n[g] Va alla pagina n-esima (go).
[u] [Freccia su] Scorre in alto.
[n] [Freccia giù] Scorre in basso.
[h] [Freccia sinistra] Scorre a sinistra.
[j] [Freccia destra] Scorre a destra.
[z] Centra l'area visibile.
[b] Inserisce un segnalibro (bookmark).
[w] Raggiunge il prossimo segnalibro.
[^] Raggiunge il segnalibro precedente.
[s] Ricerca una stringa, di cui viene chiesto l'inserimento subito dopo (search).
[*][r] Rilegge il file (reload).
[q] Termina il funzionamento (quit).

209.3.3   Xdvi

Xdvi, (6) in qualità di software per l'ambiente grafico X, ha un'impostazione piuttosto vecchia e un utilizzo molto scomodo; in effetti si usa ancora molto poco, dal momento che esiste l'alternativa di Ghostview o GV dopo una conversione in PostScript.

Xdvi 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.

Figura 209.7. Xdvi.

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 1 024×768. In alternativa si è costretti a utilizzare i comandi attraverso la tastiera.

xdvi [opzioni] [file_dvi]

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

Tabella 209.8. Alcuni comandi da tastiera.

Comando Descrizione
[u], [d], [l], [r] Questi tasti (up, down, left, right), oppure i corrispondenti tasti freccia, possono essere usati per spostare il testo all'interno della finestra.
[n], [p] Questi tasti (next, previous), 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 (quit).

209.3.4   TkDVI

TkDVI (7) permette la visualizzazione di file DVI all'interno dell'ambiente grafico X, in modo analogo a quanto fa Xdvi. Tuttavia, a differenza del primo, visualizza meglio i caratteri, ma manca la possibilità di vedere le immagini PostScript incorporate. La figura 209.9 mostra come si presenta il programma in condizioni normali.

Figura 209.9. TkDVI.

tkdvi

L'utilizzo è abbastanza intuitivo e non serve una preparazione particolare. Per avviarlo, basta usare l'eseguibile tkdvi e in condizioni normali non si utilizzano delle opzioni. Tuttavia, è obbligatoria l'indicazione del file su cui intervenire:

tkdvi [opzioni] file

209.3.5   Xgdvi e SpawX11

Xgdvi e SpawX11 sono programmi che fanno parte del pacchetto TeX-Guy, (8) con lo scopo di visualizzare il contenuto di file DVI. I due si distinguono in particolare per il modo con cui è possibile interagire: il primo offre una serie di pulsanti grafici, mentre il secondo si usa semplicemente con il mouse, dove il tasto destro consente di visualizzare la pagina successiva, mentre quello sinistro riporta alla pagina precedente.

xgdvi [opzioni] file
spawx11 [opzioni] file

I due programmi funzionano in modo molto semplice, ma incontrano difficoltà nella visualizzazione di caratteri tipografici particolari.

Figura 209.10. Xgdvi.

xgdvi

209.3.6   Kdvi

Kdvi (9) è un programma per la visualizzazione di file DVI, con un'interfaccia grafica conforme allo stile di KDE.

Figura 209.11. Kdvi

Kdvi

kdvi [opzioni] [file]

Si veda eventualmente la pagina di manuale kdvi(1).

209.4   Dvilj

Dvilj (10) è un pacchetto di programmi in grado di convertire un file DVI direttamente in formato PCL, quello usato dalle stampanti HP Laserjet.

I programmi in questione sono differenti dal momento che esistono diverse varianti nel linguaggio in base alle caratteristiche delle stampanti stesse. Per la precisione, si distingue tra:

La sintassi per l'utilizzo di questi programmi è la stessa, a parte il nome:

dvilj [opzioni] file_dvi
dvilj2p [opzioni] file_dvi
dvilj4 [opzioni] file_dvi
dvilj4l [opzioni] file_dvi

Si può osservare che non si prevede l'indicazione del file generato dall'elaborazione come argomento finale. Infatti, in condizioni normali, questo file viene creato in modo predefinito, utilizzando lo stesso nome di quello corrispondente del file DVI, dove al posto dell'ultima estensione si utilizza .lj; in alternativa può essere indicato attraverso un'opzione apposita.

Per esempio, il comando seguente dovrebbe generare il file pippo.lj:

dvilj4l pippo.dvi[Invio]

I programmi di Dvilj non sono in grado di gestire i «caratteri virtuali», cosa che richiede generalmente una pre-elaborazione del file DVI attraverso il programma dvicopy, praticamente nel modo seguente:

dvicopy pippo.dvi pippo.2.dvi[Invio]

dvilj4l pippo.2.dvi[Invio]

La tabella 209.12 riassume le opzioni di questi programmi che compongono il blocco di Dvilj.

Tabella 209.12. Opzioni della riga di comando dei programmi di Dvilj.

Opzione Descrizione
-cn
Stampa ogni pagina n volte.
-D1
Stampa solo le pagine dispari (destre).
-D2
Stampa solo le pagine pari (sinistre).
-efile
Crea il file indicato invece di quello predefinito.
-e-
Emette il risultato attraverso lo standard output.
-fn
Stampa a partire dalla pagina n.
-tn
Stampa fino alla pagina n.
-pn
Stampa solo n pagine.
-m#n
Ridimensiona in rapporto di n / 1 000.
-m0
Ridimensiona a 1 000 / 1 000.
-mh
Ridimensiona a 1 095 / 1 000.
-m1
Ridimensiona a 1 200 / 1 000.
-mq
Ridimensiona a 1 250 / 1 000.
-m2
Ridimensiona a 1 440 / 1 000.
-m3
Ridimensiona a 1 728 / 1 000.
-m4
Ridimensiona a 2 074 / 1 000.
-m5
Ridimensiona a 2 488 / 1 000.
-r
Inverte l'ordine delle pagine.
-s1
Carta in formato «executive» (7,25 in × 10,5 in).
-s2
Carta in formato «lettera» (8,5 in × 11 in).
-s3
Carta in formato «legale» (8,5 in × 14 in).
-s26
Carta in formato A4.
-s80
Busta «monarch» (3,875 in × 7,5 in).
-s81
Busta «commercial-10» (4,125 in × 9,5 in).
-s90
Busta «DL» (110 mm × 220 mm).
-s91
Busta «C5» (162 mm × 229 mm).
-v
Mostra informazioni più dettagliate.
-VK
Compatibilità con stampanti Kyocera.
-VB
Compatibilità con stampanti Brother.
-V6
Compatibilità con stampanti HP Laserjet 6L.

I programmi di Dvilj possono funzionare anche come filtro. Per questo, se al posto del file in ingresso si indica un trattino (-), si intende indicare per questo lo standard input.

209.5   Programmi di servizio vari sul formato DVI

Il formato DVI non offre molti strumenti per la sua rielaborazione. Vale la pena di conoscere quel poco che c'è, tenendo conto però che a volte si tratta di script che compiono il loro lavoro attraverso una rielaborazione in PostScript.

Tra tutti questi programmi di servizio merita attenzione dvicopy, il quale si occupa di generare un nuovo file DVI nel quale siano contenuti solo riferimenti a caratteri standard. In pratica, vengono trasformati i riferimenti ai «caratteri virtuali» che possono creare problemi ad alcuni programmi che utilizzano il formato DVI.

209.5.1   Utilizzo di «dvicopy»

Il programma dvicopy (11) trasforma un file DVI in un altro che non contenga più riferimenti a caratteri virtuali:

dvicopy [opzioni] [file_dvi_ingresso [file_dvi_uscita]]

Come si può intuire dallo schema sintattico, quando non si indica il file DVI in uscita, il risultato dell'elaborazione viene emesso attraverso lo standard output; quando manca anche l'indicazione del file in ingresso, questo viene atteso dallo standard input.

Il programma dvicopy prevede l'uso eventuale di opzioni, che però non sono determinanti per il suo scopo fondamentale, per cui non vengono mostrate.

dvicopy pippo.dvi pippo.2.dvi[Invio]

L'esempio che si vede, serve semplicemente a generare il file pippo.2.dvi, a partire da pippo.dvi.

209.5.2   Utilizzo di «dviselect»

Il programma dviselect (12) permette di selezionare un gruppo di pagine da un file DVI, generando un altro file DVI contenente tale raccolta.

dviselect [opzioni] intervallo_pagine[,intervallo_pagine]... [file_dvi_ingresso [file_dvi_uscita]]

Come avviene con dvicopy, quando non si indica il file DVI in uscita, il risultato dell'elaborazione viene emesso attraverso lo standard output; quando manca anche l'indicazione del file in ingresso, questo viene atteso dallo standard input. Tuttavia, in aggiunta, si possono usare delle opzioni particolari per indicare espressamente quale file è in ingresso e quale è in uscita.

Dal momento che le opzioni non sono determinanti per il funzionamento di dviselect, queste non vengono mostrate; piuttosto, è necessario descrivere come si indicano gli intervalli di pagine:

dviselect 20:30,60:70 pippo.dvi pippo.2.dvi[Invio]

L'esempio mostra la creazione del file pippo.2.dvi a partire da pippo.dvi, selezionando solo le pagine da 20 a 30 e da 60 a 70.

209.5.3   Utilizzo di «dvidvi»

Il programma dvidvi (13) permette di selezionare un gruppo di pagine da un file DVI, generando un altro file DVI contenente tale raccolta.

dvidvi [opzioni] file_dvi_ingresso file_dvi_uscita

dvidvi consente anche di raggruppare assieme più pagine logiche in una sola pagina fisica, attraverso l'opzione speciale -m, come possono fare le PSUtils con i file PostScript. Tuttavia, tale funzionalità è incompleta, perché manca la possibilità di ridurre le dimensioni e di ruotare le pagine.

Tabella 209.13. Alcune opzioni.

Opzione Descrizione
-f n
Seleziona le pagine a partire dal numero indicato.
-l n
Seleziona le pagine fino al numero indicato.
-n n
Seleziona un numero massimo di n pagine.
-i {m..n|n}[,{m..n|n}]...
Questa opzione, consente di indicare una serie di intervalli di pagine da includere. Gli intervalli sono indicati separando le due estremità con due punti in orizzontale (..). Indicando un numero isolato, si fa riferimento esclusivamente alla pagina relativa.
-x {m..n|n}[,{m..n|n}]...
Questa opzione, consente di indicare una serie di intervalli di pagine da escludere da quanto già incluso. Funziona come l'opzione -i.
-r
Inverte l'ordine delle pagine.

Segue la descrizione di alcuni esempi.

209.5.4   Utilizzo di «dviconcat»

Il programma dviconcat (14) permette di unire assieme un gruppo di file DVI, generando un file DVI unico, contenente tale raccolta.

dviconcat [opzioni] file...

L'opzione più importante è -o file, che permette di indicare il nome del file che si vuole generare, a partire dall'unione di tutti i file indicati come argomento nella parte finale della riga di comando. In mancanza di tale opzione, il risultato viene emesso attraverso lo standard output.

dviconcat -o risultato.dvi primo.dvi secondo.dvi[Invio]

L'esempio mostra la creazione del file risultato.dvi a partire da primo.dvi e secondo.dvi.

209.5.5   Utilizzo di «dvi2fax»

In alcuni sistemi esiste il programma dvi2fax, (15) che in realtà è uno script che utilizza Dvips e Ghostscript per generare un file in formato FAX a partire da uno in DVI.

dvi2fax {-hi|-lo} file_dvi opzioni_per_dvips

Come si vede dalla sintassi, non viene indicato il nome del file finale, che in generale è lo stesso di quello di origine, con la variante dell'estensione che diventa .fax.

Per arrivare a questo risultato, lo script dvi2fax si avvale di Dvips con due configurazioni speciali a seconda della risoluzione del fax: config.dfaxlo e config.dfaxhigh. Dvips viene usato per generare un file PostScript con la risoluzione necessaria, mentre Ghostscript svolge il passaggio finale per trasformare il file PostScript in fax.

dvi2fax -hi pippo.dvi[Invio]

L'esempio mostra il caso tipico, in cui si vuole ottenere il file pippo.fax a partire dal file pippo.dvi. Come si può intuire, l'opzione -hi genera un file FAX ad alta risoluzione, mentre l'opzione opposta, -lo genererebbe un file a bassa risoluzione.

209.5.6   Utilizzo di «dvipng»

Il programma dvipng (16) permette di generare una serie di file in formato PNG, dalle pagine di un file DVI:

dvipng [opzioni] file_dvi[.dvi]

Se tra le opzioni della riga di comando non si specifica il nome o il modello del nome dei file da generare, si ottiene qualcosa che riprende la radice del nome del file DVI, seguita da un numero e dall'estensione (.png).

Tabella 209.14. Alcune opzioni.

Opzione Descrizione
-D n
Specifica la risoluzione (orizzontale e verticale) in punti per pollice.
-p [=]n
-l [=]n
Queste due opzioni consentono di selezionare l'intervallo di pagine desiderato. L'opzione -p indica la pagina iniziale, l'opzione -l (last) serve per indicare la pagina finale. Se si usa il segno = davanti al numero, si intende fare riferimento a numeri assoluti di pagina.
-pp m-n
Questa opzione consente di specificare un intervallo di pagine da generare e può essere usata anche più volte.
-o modello
Questa opzione (output) consente di specificare il modello da usare per i nomi dei file da creare. Nel modello, la sigla %d, oppure %03d, viene rimpiazzata con il numero della pagina (nel secondo caso è sempre di tre cifre).
-x n
Specifica il livello di ingrandimento o di riduzione, dove n rappresenta un valore in millesimi.

Segue la descrizione di alcuni esempi.

209.5.7   Utilizzo di «dvired»

Lo script dvired, (17) attraverso Dvips e PSUtils, genera una trasformazione in PostScript che poi viene trasformata in modo da ridurre il formato, ottenendo due pagine logiche in una singola pagina fisica.

dvired [-o file_ps_uscita | -P coda_di_stampa | -f] [altre_opzioni_per_dvips] file

Come si può vedere dallo schema sintattico, attraverso le opzioni indicate è possibile decidere se il risultato finale, in PostScript, debba essere inviato a una coda di stampa, a un file, o debba essere emesso attraverso lo standard output. Se si indicano altre opzioni, queste vengono passate tali e quali a Dvips.

dvired pippo.dvi[Invio]

L'esempio mostra il caso più semplice, ma anche più logico, dal momento per situazioni più complesse conviene gestire direttamente Dvips e i programmi delle PSUtils. In pratica, se Dvips è configurato in modo standard, si ottiene la stampa del file pippo.dvi, dopo che questo è stato ridotto in modo da stampare due pagine logiche per una sola pagina reale.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) Alcune distribuzioni GNU comuni non includono tutto il necessario per arrivare al risultato finale della stampa attraverso i programmi del pacchetto Dvilj.

2) Dvips   GNU GPL

3) Dvipdfm   GNU GPL

4) Catdvi   GNU GPL

5) Tmview   licenza speciale

6) Xdvi   MIT

7) TkDVI   software libero con licenza speciale

8) TeX-Guy   GNU GPL e GNU LGPL

9) Kdvi   GNU GPL

10) Dvilj   GNU GPL

11) dvicopy   GNU GPL

12) dviselect   licenza speciale

13) dvidvi   GNU GPL

14) dviconcat   ?

15) dvi2fax   dominio pubblico

16) dvipng   GNU GPL

17) dvired   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome dvi.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!