Vektorová grafika
TeX bol navrhnutý hlavne kvôli matematike, a neriešil otázku vkladania grafiky
obecnej grafiky a prácu s farbou. Dôsledkom tohoto historického obmedzenia je,
že vektorová grafika sa do textu zaraďuje niekoľkými spôsobmi, pričom každý nejakým
spôsobom dopĺňa chýbajúce schopnosti TeXu v tejto oblasti. Je veľmi užitočné
vybrať si taký spôsob, ktorý má najmenej obmedzení. Bohužiaľ je často nemožné sa
rýchlo zorrientovať v tejto oblasti, lebo na začiatku často nevieme čo hľadáme.
Dokument s vektorovou grafikou, určený primárne pre tlač, sa dá vytvoriť pomocou
TeXu v týchto podobách:
- -formát .dvi s vloženými príkazmi typu \special
- -formát .ps (PostScript) (generovaný z formátu .dvi programom DVIPS)
- -formát .pdf (generovaný z formátu .ps)
- -formát .pdf (priamo vytváraný programom PDFTEX)
Pri výbere je treba zohľadniť dva fakty:
- -zvolená cesta by nás nemala obmedziť na použitie iba v TeXu. TeX je stále živý, ale je
aj dosť starý a má niektoré zbytočné obmedzenia. O pár rokov možno budete
potrebovať použiť tie isté obrázky, ale je celkom možné, že aspoň niektorí z nás
budú pracovť v nejakom inom sádzacom systéme. Určite to nebude nejaký klikací
XXOffice (človek ktorý už raz prepadol TeXu, nevidí alternatívnu filozofiu práce).
Možno to bude nejaký nástupca TeXu (nejaká budúca verzia NTS), alebo nejaký XML
procesor. Dôležité je, že nebudete chcieť znovu vytvárať tie obrázky, ktorým ste
už venovali toľko hodín práce.
- -niektorí z nás sú niekedy donútení okolnosťami (a okolím) odovzdávať výsledok
v inom formáte, než je TeX (napríklad v nejakom XXOffice). V tejto nedobrovoľnej
schizofrénii je takisto dôležité nerobiť tú istú prácu dvakrát, tj. mať riešenie
čo najviac nezávislé na použitom sádzacom systéme.
Preto by mali byť netriviálne obrázky vytvárané ako samostatné súbory v niektorom
z formátov PS, PDF (a v budúcnosti aj SVG). Je takmer isté, že z týchto formátov
budete v budúcnosti schopní vygenerovať akýkoľvek iný grafický formát. Tieto formáty
tvoria otvorené štandardy, a sú široko akceptované (alebo sú aspoň na dobrej ceste).
Nástroje pre vektorovú grafika
Je to stručný prehľad všemožných editorov, procesorov a konvertorov.
Pri vytváraní vektorových obrázkov si nevystačíme s jediným nástrojom. Na vytváranie
grafiky voľnou rukou nám potrebujeme interaktívny editor s hladkými krivkami
(polynomické krivky 3. stupňa - splajny), na kreslenie organizačných schém bude
vhodný taký editor, ktorý dokáže ukotviť čiary k boxom. Na strojárske nákresy využijeme
radšej CAD program na ktorý sme zvyknutí. Na druhú stranu, pre
tvorbu grafov a deskriptívnej geometrie je interaktivita zbytočná, tu je veľmi
dôležité, či nástroj poskytuje dávkové spracovanie. Je to veľmi užitočné, keď chceme
vyrobiť 50 rovnakých grafov, ktoré sa líšia iba v zakreslených hodnotách.
Pri vyberaní grafického nástroja si hlavne treba všímať aké má možnosti exportu,
a ako si poradí s textom. Pre doplňovanie komplikovaných matematických popisov neexistuje
nič lepšie ako TeX, takže tu vedú tie editory a procesory, ktoré vedia spolupracovať s TeXom.
Nasleduje prehľad nástrojov, ktoré pre prácu
s formátmi PS a PDF (príp. SVG). Ak nebude uvedené inak, existujú vo verzii pre Win32 aj Linux, a teda
pravdepodobne pre väčšinu známejších platforiem.
- Metapost -- http://cm.bell-labs.com/who/hobby/MetaPost.html
- Dávkový procesor, ktorý generuje postscriptové obrázky. Obrázok sa programuje v jazyku Metapost. Výborná spolupráca s TeXom (popisy).
- Gnuplot -- http://www.gnuplot.info/
- Dávkový procesor na vytváranie 2D a 3D grafov. Vzhľad grafu je popísaný v makrojazyku Gnuplot. Od verzie 3.8j je
úplne použiteľný aj na písanie popisov s diakritikou.
- binárky: http://sourceforge.net/projects/gnuplot
- g3data -- http://www.acclab.helsinki.fi/~frantz/software/g3data.php
- Vhodný doplnok pre prácu s Gnuplotom - grafická utilita pre vyklikávanie dát (súradníc) z grafov uložených v niektorom
z rastrových formátov.
- TpX -- http://tpx.sourceforge.net/
- Asi najlepší interaktívny editor, import EMF/WMF, SVG, všetky mysliteľné výstupy (EPS, PDF, Metapost, ...). Text je exportovaný do prostredia picture.
- Xfig -- http://homepage3.nifty.com/tsato/xfig/
- Interaktívny editor, spústa výstupov (medziiným aj Metapost a LaTeX picture). Trochu "kamenné" prostredie.
- Metagraf -- http://w3.mecanica.upm.es/metapost/metagraf.php
- Grafický editor-nadstavba pre Metapost. Ukladá vo vlastnom formáte (verzia 1.3.1). Preto obsahuje aj vlastnú verziu
programu pstoedit, ktorá dokáže konvertovať PS súbor do formátu Metagraf.
V budúcnosti bude ukladať a načítať priamo súbory Metapostu. Potrebuje JavaVM (j2re 1.4).
- IPE -- http://ipe.compgeom.org/
- Interaktívny editor PS a PDF. Zatiaľ (verzia 6.0-10) sa zdá že vie otvoriť iba niektoré PS a PDF súbory (prevažne
iba tie ktoré boli vytvorené v IPE). Mal by nejako spolupracovať s TeXom pri spracovávaní textu.
- Ghostscript -- http://www.cs.wisc.edu/~ghost/doc/AFPL/
- Softvérový Postscriptový RIP. Ovláda sa z príkazového riadku. Nepostrádateľný nástroj pri prezeraní a tlačení Postscriptu a PDF. Dokáže konvertovať
PS a PDF navzájom, a exportovať do nespočetných bitmapových formátov. Existuje pod 2 licenciami. Voľne dostupná GNU verzia
vychádza s oneskorením. Najnovšiu verziu je pod Linuxom nutné si samostatne skompilovať.
- Pstoedit -- http://www.pstoedit.net/pstoedit
- Nepostrádateľný pri konverzii PS do všemožných vektorových formátov (vrátane MS Office). Podporuje konkrétne:
LaTeX picture, Metapost, Gnuplot, Xfig, SVG, Sketch, ... Ovláda sa z príkazového riadku.
- GSview -- http://www.cs.wisc.edu/~ghost/gsview/
- Grafické užívateľské rozhranie pre Ghostscript a pstoedit. Vo verzii pre Linux vyžaduje Ghostscript vo forme dynamickej knižnice,
čo nie je vždy samozrejmé. Napr. v Mandrake sa distribuuje ako spustiteľný súbor - je nutné si ho vlastnoručne skompilovať.
V Unixových systémoch sa vyskytuje program Ghostview, ktorý nemá s programom GSview nič spoločného (okrem filozofie práce),
a nemá ani také možnosti.
- Skencil (Sketch) -- http://sketch.sourceforge.net/
- Interaktívny editor. Jediný nástroj, ktorý vie prevádzať medzi formátmi PS(AI) a SVG. Okrem toho podporuje aj formáty
WMF, CGM, atď. Program napísaný v jazyku Python. Úplne použiteľný, má iba trochu problémy (verzia 0.6.15-1) so zobrazením
textu s diakritikou.
- Sodipodi -- http://www.sodipodi.com/
- Vynikajúci interaktívny editor SVG súborov. Zvlášť vydarený je kaligrafický efekt. Pre konverziu do
formátu PS treba použiť program Sketch. Na rozdiel od programu Sketch nezvláda výplň šrafovaním (verzia 0.32).
Texty spracováva v kódovaní UTF-8.
- Inkspace -- http://www.inkscape.org/
- Najnovší prírastok do rodiny interaktívnych SVG editorov. Vznikol ako oddelená vetva projektu Sodipodi.
Vyzerá sľubne, ale ešte som nemal čas ho preskúmať ...
- Dia -- http://www.gnome.org/projects/dia/
- Editor schém a štruktúr (na spôsob programu VISIO). Produkuje SVG a Metapost.
- Mayura Draw -- http://www.mayura.com/
- predtým PageDraw - editor AdobeIllustrator (AI) súborov. Dostupný iba na platforme Windows. Zadarmo je
dostupná iba jeho PageDraw verzia. Je pomerne nepoužiteľný, ale môže poslúžiť ako konvertor AI-PS na platforme Windows,
kde sú zatiaľ problémy s inštaláciou softvéru Sketch.
- VRR -- http://atrey.karlin.mff.cuni.cz/projekty/vrr/
- (Vector-based gRaphic editoR) Vyvíjajúci sa SVG editor. Podpora formátov PS, PDF, DXF. Dôraz na podporu sadzby v TeXu.
Beží iba v Linuxe a podobných systémoch.
- Asymptote -- http://asymptote.sourceforge.net/
- Dávkový procesor. Vraj lepší ako Metapost (farby, práca v 3D, geometrické operácie).
Vloženie externých obrázkov
Ako bolo vysvetlené, netriviálne obrázky by mali byť vytvorené ako samostatný
externý súbor, a v takejto podobe ich musíme vedieť vložiť do dokumentu.
DVI formát je schopný takúto grafiku riešiť iba cez príkazy \special , čím prenecháva
starosť na prehliadač DVI. Takéto riešenie je značne neprenositeľné z dôvodu nezaručiteľnej podpory
DVI prehliadačom, preto patrí do minulosti.
Formát Postscript (PS) je na tom dobre, pretože z TeXu existuje jediná cesta, a to z formátu
DVI cez program Dvips, ktorý je štandardnou súčasťou všetkých distribúcií TeXu.
Podpora súborov vo formáte PS je 100-percentná, pretože na miesto kde je v DVI
súbore uvedený príslušný príkaz \special na vloženie obrázku, program Dvips jednoducho
vloží telo externého obrázku do PostScriptového výstupu dokumentu. Obrázky z iných formátov
(tj. PDF aj SVG) je nutné konvertovať do formátu PS, lebo iný formát Dvips nie je
schopný spracovať.
Formát PDF vzniká dvoma cestami. Prvá (jednoduchšia), využíva konverziu hotového .ps
dokumentu do formátu .pdf . Na to sa využíva komerčný program Adobe Distiller, alebo
voľne dostupný Ghostscript. Existuje aj skratka - program Dvipdf, ktorý vytvorí
zo súboru .dvi hotový súbor .dvi (bez medzistupňa cez .ps). Pri tejto ceste platí
o formáte obrázku to isté, čo pri formáte Postscript.
Druhá cesta k PDF - pomocou programu PdfTeX (takisto štandardná súčasť) je
priamočiarejšia, ale čo sa týka obrázkov, prináša isté komplikácie. Pretože PDF
je zhruba podmnožinou PS, a PdfTeX rozumie iba TeXu a PDF, musia sa všetky iné
vektorové formáty (vrátane SVG) konvertovať do PDF. Existuje jediná výnimka, a tou
je Postscript generovaný programom Metapost. Je totiž tak
jednoduchý že sa kryje s podmnožinou PDF príkazov, a pomocou štandardných TeXovských
makier sa priamo vkladá do PDF.
Bez ohľadu na to, akým spôsobom vzniká dokument, pre vloženie a manipuláciu s
obrázkom je vhodné použiť vysokoúrovňové príkazy štandardných balíkov, pretože
je to prenositeľnejšie (stačí zmeniť koncovku súboru) a rýchlejšie na naučenie.
Prakticky jediným štandardným balíkom LaTeXu pre prácu s externou grafikou je:
- graphics -- TeX katalóg online
- základné príkazy
Vloženie inline obrázkov
Inline obrázkami rozumej obrázky, ktorých definícia je priamo vpísaná do dokumentu
na miesto, kde sa majú zobraziť. Dajú sa vpísať pomocou nízkoúrovňových \special príkazov
(ak používame cestu DVI - Dvips - PS), alebo nízkoúrovňovými príkazmi PdfTeXu. V praxi sa však
využívajú vysokoúrovňové príkazy TeXovských makier. Niektoré makrá dokonca spolupracujú
s obidvoma programami Dvips aj PdfTeX, takže dokument s takými obrázkami je pomerne
prenositeľný.
Miestne vpísanie definície obrázku vhodne dopĺňa klasický spôsob zaraďovania externých
obrázkov. Používame ho buď vtedy, keď je obrázok veľmi jednoduchý, keď ho určite nebudeme
chcieť použiť v inom sádzacom systéme, alebo keď chceme mať TeXovský dokument nezávislý
na použitom procesore (Dvips, Dvipdf, PdfTeX).
- LaTeX 2e
- štandardné prostredie picture a jeho príkazy
- mfpic -- http://comp.uark.edu/~luecking/tex/mfpic.html
- využíva Metafont a Metapost. Dokumentácia v češtine/slovenčine:
- diplomová práca o metaposte a mfpic: http://mirka.janik.cz/dp/
- články v Zpravodaji CSTUGu (čísla 1-3/2001): http://bulletin.cstug.cz/
- pgf -- TeX katalóg online
- vysokoúrovňové príkazy pre definovanie obrázkov - prenositeľnejšia náhrada za pstricks
- pstricks -- TeX katalóg online
- príkazy pre definovanie obrázkov - nepoužiteľné pre pdfTeX
- emp -- TeX katalóg online
- prostredie pre inline definície Metapostových obrázkov