<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Il teTeX HOWTO: La guida locale a Linux-teTeX: Mettere insieme testo e grafica con dvips. </TITLE> <LINK HREF="TeTeX-HOWTO-6.html" REL=next> <LINK HREF="TeTeX-HOWTO-4.html" REL=previous> <LINK HREF="TeTeX-HOWTO.html#toc5" REL=contents> </HEAD> <BODY> <A HREF="TeTeX-HOWTO-6.html">Avanti</A> <A HREF="TeTeX-HOWTO-4.html">Indietro</A> <A HREF="TeTeX-HOWTO.html#toc5">Indice</A> <HR> <H2><A NAME="dvips"></A> <A NAME="s5">5. Mettere insieme testo e grafica con <CODE>dvips</CODE>. </A></H2> <P>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 <CODE>dvips</CODE>. <CODE>dvips</CODE> 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. <P>In generale occorrerà seguire questa procedura ogni volta che un sorgente LaTeX contiene l'istruzione <PRE> \includepackage{graphics} </PRE> nel proprio preambolo. Questa istruzione fa sì che LaTeX includa il testo del pacchetto <CODE>graphics.sty</CODE> 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 <CODE>dvips</CODE>. La differenza sarà evidente comunque quando il documento sarà stampato senza figure o altri elementi grafici. <P>Quindi per ora ci concentreremo sulla stampa di documenti che usano il pacchetto LaTeX <CODE>graphics.sty</CODE>. Probabilmente vuoi dare un'occhiata al sorgente TeX originale. Non è incluso nella distribuzione teTeX, ma lo puoi trovare a <PRE> ~CTAN/macros/latex/packages/graphics/grfguide.tex. </PRE> Incluso nella distribuzione teTeX c'è invece il file <CODE>.dvi</CODE> 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 <CODE>grfguide.tex</CODE> con LaTeX leggi la prossima sezione. Per ora, comunque, faremo in modo di ottenere con <CODE>dvips</CODE> un output utilizzabile. <P>Il file <CODE>grfguide.dvi</CODE> si trova nella directory <PRE> texmf/doc/latex/graphics </PRE> Il primo passo per poter ottenere qualcosa di utile da <CODE>grfguide.dvi</CODE> consiste nel tradurlo in PostScript. Il programma <CODE>dvips</CODE> 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) è <P> <PRE> dvips -f -r <grfguide.dvi >grfguide.ps </PRE> Lo switch <CODE>-f</CODE> dice a <CODE>dvips</CODE> di lavorare come un filtro, cioè leggere dallo standard input e scrivere sullo standard output. <CODE>dvips</CODE> può anche essere configurato per inviare il suo output direttamente a <CODE>lpr</CODE>. <P>Se puoi stampare file PostScript sulla tua stampante con il comando <CODE>lpr</CODE> puoi digitare semplicemente <PRE> dvips -r grfguide.dvi </PRE> L'opzione <CODE>-r</CODE> 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. <P><CODE>dvips</CODE> e metafont possono dover creare o no i nuovi font di cui <CODE>grfguide.dvi</CODE> ha bisogno, dipende se hai ancora i font che <CODE>dvilj2</CODE> ha prodotto elaborando l'ultimo documento. Alla fine, comunque, <CODE>dvips</CODE> 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. <P>Se sei fortunato (e ricco) allora hai una stampante in grado di capire direttamente il PostScript che potrà stampare direttamente <CODE>grfguide.ps</CODE>. Puoi inviare il file alla coda di stampa usando <CODE>lpr</CODE>. Se per qualche ragione il tuo software di stampa non funziona correttamente con i file PostScript puoi semplicemente inviare il file alla stampante con <PRE> cat grfguide.ps >/dev/lp0 </PRE> o a qualunque altra porta la tua stampante è collegata. Comunque questo non è il metodo raccomandato per l'uso quotidiano. <P>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ì: <PRE> gs -help | less </PRE> 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 <CODE>cdjmono</CODE>, che controlla una stampante a colori Deskjet in modo monocromatico (bianco e nero). <P>La linea di comando che uso è: <PRE> gs -dNOPAUSE -sDEVICE=cdjmono -sOutputFile=/tmp/gs.out grfguide.ps -c quit </PRE> Questo mette il mio output compatibile HP nella directory <CODE>/tmp</CODE>. È una buona idea usare una directory come <CODE>/tmp</CODE>, perché <CODE>gs</CODE> può essere un po' difficile riguardo ai permessi di accesso, e non puoi (né dovresti) contare sul fatto di essere sempre collegato come <CODE>root</CODE> quando effettui queste operazioni. Adesso puoi stampare il file: <PRE> lpr /tmp/gs.out </PRE> Ovviamente puoi mettere tutto in uno script della shell. Sul mio sistema ho due semplici script, <CODE>pv</CODE> e <CODE>pr</CODE> 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. <P>L'ordine dei comandi in un comando <CODE>gs</CODE> è importante, perché alcune delle opzioni dicono a Ghostscript di cercare parti di codice PostScript nella sua libreria. <P>È importante ricordare che <CODE>grfguide.dvi</CODE> 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. <P> <H2><A NAME="ss5.1">5.1 E se la mia stampante non è supportata?</A> </H2> <P>La distribuzione teTeX ha solo una selezione limitata di driver DVI: <CODE>dvips</CODE>, 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 <CODE>dvips</CODE> e Ghostscript, cosa che raccomando comunque per le ragioni di cui ho già parlato, o puoi cercare altri driver DVI. <P>Alcuni driver DVI sono stati riscritti per Linux e sono disponibili già compilati. Si trovano nell'archivio Linux sul sito <A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/tex/dvi/">ftp://sunsite.unc.edu/pub/Linux/apps/tex/dvi/</A>. <P>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 <EM>tuo</EM> driver DVI usando degli schemi disponibili là. L'URL del sito è <A HREF="ftp://ftp.math.utah.edu/pub/tex/dvi/">ftp://ftp.math.utah.edu/pub/tex/dvi/</A>. <P> <HR> <A HREF="TeTeX-HOWTO-6.html">Avanti</A> <A HREF="TeTeX-HOWTO-4.html">Indietro</A> <A HREF="TeTeX-HOWTO.html#toc5">Indice</A> </BODY> </HTML>