Next Previous Contents

6. Mešanje teksta in grafike in pretvornik dvips(1)

V splošnem se ta razdelek nanaša na katerikoli dokument v TeXu ali LaTeXu, v katerem se mešata besedilo in grafika. teTeX (kot večina TeXovih distribucij) privzeto zahteva pisave Computer Modern. Tiskanje spisov z raztegljivimi pisavami Type 1 ali grafiko je delo za program dvips(1). dvips(1) lahko uporablja rastrske pisave Computer Modern ali pa raztegljive pisave Type 1, ali kombinacijo obeh tipov. Najprej se osredotočimo na tiskanje in predogled grafike.

V splošnem boste hoteli oponašati ta postopek vsakič, ko bo LaTeXov izvorni dokument vseboval stavek

\includepackage{graphics}

v začetnih deklaracijah. Ta stavek pove LaTeXu naj vključi v dokument podporo, ki jo nudi paket graphics.sty. Za izvedbo nekaterih slikovnih operacij obstajajo posebni ukazi, dokument v navadnem TeXu vam navadno ne bo dal slutiti, da potrebujete dvips(1). Razlika bo vidna šele v izhodu, ko bo spis natisnjen z nekaterimi manjkajočimi slikami in drugo grafiko.

Za zdaj se bomo ukvarjali le s tiskanjem dokumentov, ki uporabljajo LaTeXov paket graphics.sty. Morda boste želeli pogledati originalni TeXov vhod. V teTeXovo distribucijo ni vključen, je pa dostopen na ~CTAN/macros/latex/packages/graphics/grfguide.tex. teTeXova distribucija vsebuje le ,,že prežvečen`` izhod v obliki datoteke .dvi. Za to obstaja razlog, ki ima opraviti z zahtevo za vključitev pisav Type 1 v izhod, če naj se dokument natisne pravilno. Če želite grfguide.tex obdelati z LaTeXom, glejte naslednji razdelek. Za zdaj bomo poskušali dobiti uporabe izhod s programom dvips(1).

Datoteka grfguide.dvi leži v imeniku

texmf/doc/latex/graphics

Prva stvar pri tiskanju datoteke grfguide.dvi je, da jo prevedemo v PostScript. Za to uporabimo dvips(1), ki naredi to, na kar nakazuje njegovo ime. dvips(1) lahko pokličemo z veliko izbirami, a (skoraj) najpreprostejša oblika je

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

Preklopna izbira -f pove dvipsu naj deluje kot filter, torej bere podatke s standardnega vhoda in izpisuje na standardni izhod. Dvipsov izhod lahko nastavite tudi tako, da se stiska z ukazom lpr(1). (Moja privzeta nastavitev je takšna, kar mi omogoča tiskanje neposredno iz programa dvips.) Postprocesorje, kot je Ghostscript, in tiskalniške filtre, kot je APSFILTER (glejte razdelek ,,APSFILTER``), lahko nastavite skladno z vašimi potrebami. Če morate podajati izhod ročno v postprocesor, je izbira -f prvo, kar morate vključiti v ukazno vrstico za klic programa dvips(1). Ta oblika se zdi tudi lažja za uporabo kot skripte ukaznih lupin.

Če lahko z ukazom lpr(1) tiskate PostScript neposredno na vaš tiskalnik, preprosto napišite

$ dvips -r grfguide.dvi

Izbira -r pove dvipsu, da naj tiska strani v obratnem vrstnem redu, tako da se lepo zložijo, ko pridejo iz tiskalnika. Uporabite jo, ali pa tudi ne, odvisno od vaše izhodne naprave.

Glede na to, ali imate še vedno znake, ki jih je dvilj2(1) generiral pri prejšnjem dokumentu, bosta morda morala dvips(1) in metafont narediti nove znake, ki jih potrebuje grfguide.dvi. Slej ko prej bo dvips(1) izvrgel več strani, prevedenih v PostScript, in imeli boste postscriptni izhod, pripravljen na izpis na katerikoli izhodni napravi, ki jo imate.

Če ste srečni (in bogati), že imate postscriptni tiskalnik in lahko kar natisnete datoteko grfguide.ps s tiskalniškim ukazom lpr(1). Če vaše tiskalniško programje iz nekega vzroka ne deluje s postscriptnimi datotekami, lahko v skrajni sili izpišete datoteko na postscriptni tiskalnik /dev/lp0 tudi takole:

$ cat grfguide.ps >/dev/lp0

To sicer ni priporočeno za vsakodnevno uporabo.

Denimo, kar je bolj običajno, da nimate postscriptnega tiskalnika. Če želite ročno pognati Ghostscript, je to standardna procedura. Najprej poglejte, katere ukaze vam ponuja Ghostscript:

$ gs -help | less

Videli boste na kupe podprtih izhodnih naprav in drugih ukazov. Izberite izhodno napravo, ki najbolj ustreza vašemu tiskalniku. Na računalniku Chanel3 uporabljam gonilnik cdjmono, ker izdelujem predvsem črno-bela besedila. Ta izbira postavi barvni tiskalnik Deskjet v monokromatski (črno-bel) način.

Sam bi torej uporabil takšno ukazno vrstico:

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

Ta ukaz naredi izhod, združljiv s tiskalniki HP, v imeniku /tmp. Uporaba imenika kot je /tmp je dobra zamisel, saj zna sicer gs(1) sitnariti zaradi pravic dostopa, in ne morete (in tudi ne smete) vedno računati, da boste prijavljeni kot root. Zdaj lahko natisnete datoteko:

$ lpr /tmp/gs.out

Seveda gre lahko vse to v skripte ukaznih lupin. Na mojem sistemu imam dve preprosti skripti imenovani pv in pr, ki preprosto izpišeta postscriptno datoteko na zaslon ali na tiskalnik. Zaslonski predogled je mogoč tudi brez grafičnega sistema X, a je daleč od popolnosti. Zato se vam vsekakor izplača namestiti XFree86 ali vsaj TinyX (kar sem storil sam) za predogledovanje izhoda na zaslonu.

Zaporedje ukazov v klicni vrstici programa gs(1) je pomembno, saj nekatere izbire ukažejo Ghostscriptu naj poišče delčke postscriptne kode v svoji knjižnici.

Pomembno si je zapomniti, da grfguide.dvi vsebuje zahteve tako za rastrske pisave družine Computer Modern, kot tudi za raztegljive pisave Type 1. Če lahko mešate rastrske in vektorske pisave v svojih dokumentih, ste na dobri poti, da postanete TeXpert.


Next Previous Contents