Precedente Successivo Indice

6. Mettere insieme testo e grafica con dvips(1).

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 fonts Computer Modern. Quando vengono stampati documenti con fonts scalabili Type 1 o grafica, la resa dei font e della grafica è compito di dvips(1). dvips(1) può usare sia fonts 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(1). 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 fonts 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(1) 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(1) 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 -fdice a dvips(1) 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(1) (il mio funziona così, e questo mi permette di stampare direttamente da dvips). Puoi adattare alle tue necessità i post-processori come Ghostscript, e i filtri di stampa come APSFILTER (vedi la sezione aps-filter name="APSFILTER"). L'opzione -f è generalmente la prima che devi usare nella linea di comando di dvips(1) se vuoi inviare manualmente l'output ad un post-processore. Questa sembra anche essere la forma più facile da usare negli script della shell.

Se puoi stampare file PostScript sulla tua stampante con il comando lpr(1) 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(1) e metafont possono dover creare o no i nuovi fonts di cui grfguide.dvi ha bisogno, dipende se hai ancora i fonts che dvilj2(1) ha prodotto elaborando l'ultimo documento. Alla fine, comunque, dvips(1) 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(1). 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. Dato che stampo in genere testo in bianco e nero, su Chanel3 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. E` una buona idea usare una directory come /tmp, perché gs(1) 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. E` possibile avere un'anteprima su schermo senza usare X, ma non è la cosa migliore. Quindi vale sicuramente la pena installare XFree86 o TinyX (che è quello che ho fatto) per mostrare il documento sullo schermo.

L'ordine dei comandi in un comando gs(1) è importante, perché alcune delle opzioni dicono a Ghostscript di cercare parti di codice PostScript nella sua libreria.

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


Precedente Successivo Indice