TeX: dinosaurus stále živý - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Sazba

TeX: dinosaurus stále živý

22. června 2000, 00.00 | Tex zůstává stranou zájmu mnoha uživatelů pohybujících se v oblasti DTP. Program přitom již takřka dvě desetiletí nabízí zcela zdarma možnost vysoce kvalitní a flexibilní sazby. Malým pokusem o nápravu uvedeného stavu je tento článek.

Úvodem

I když je vznik počítačových systémů pro elektronickou sazbu provázen relativně dlouhou historií, nedá se říct, že by těchto produktů bylo právě mnoho. Důvodem tohoto stavu jsou bezesporu především nároky kladené na jejich schopnosti a obvykle i tomu odpovídající cena.
A přesto se zdá, že stranou zájmu mnoha uživatelů pohybujících se v oblasti DTP zůstává program TeX. Ten přitom již takřka dvě desetiletí nabízí zcela zdarma možnost vysoce kvalitní a flexibilní sazby. Malým pokusem o nápravu uvedeného stavu je tento článek.

Z historie

TeX přišel na svět velmi netradičním způsobem. Je totiž výtvorem jediného muže, Američana Donalda Knutha (http://sunburn.stanford.edu/~knuth/). Tento guru světového programování, slavný především vícedílnou publikací "The Art of Computer Programming", působí dlouhá desetiletí na Stanfordské univerzitě. Na konci sedmdesátých let se zde, nespokojen s typografickým zpracováním své poslední knihy, rozhodl vytvořit počítačový systém schopný kvalitní sazby především komplikovaných matematických textů.
Do svého úkolu se pustil opravdu důkladně: prostudoval mnoho klasické literatury věnované typografii a své koncepce konzultoval s předními odborníky oboru (byli to např. Hermann Zapf, Chuck Bigelow či Kris Holmes). Postupně odhalil řadu matematických zákonitostí stojících za zdánlivě zcela intuitivní prací typografa a ty v podobě sofistikovaných algoritmů vtělil do svého programu, který pojmenoval TeX. (Název čtěme jako "Tech", neboť je odvozen od řeckého slova "techné" čili "umění" či "dovednost".) Souběžně s TeXem pak vytvořil program Metafont určený pro tvorbu písma.


Takhle může vypadat práce v TeXu: připravíte zdrojový text

Oba programy napsal Knuth tak, aby byly snadno implementovatelné na libovolné platformě. TeX se díky tomu stal s lety spustitelný prakticky na všech počítačových systémech, ať už se jedná o mainframy, unixové pracovní stanice, klony IBM PC, Apple Macintosh, Amigu, Atari či NextStep. Biblí uživatelů TeXu a Metafontu se stala pětisvazková publikace "Computers & Typesetting" (vysázená samotným autorem v TeXu), která na více jak dvou tisících stran dopodrobna popisuje oba programy z uživatelského i programátorského hlediska. (Zdrojové soubory základních dílů "The TeXbook a The Metafontbook" jsou díky autorovi trvale volně dostupné na Internetu.) Mimo ní pak s postupem času vzniklo velké množství dalších knih a také časopisových a internetových článků, popisujících práci s TeXem na všech uživatelských úrovních.
Co je na tomto místě třeba poznamenat, jedním z hlavních důvodů, pro který se TeX stal záhy oblíbeným sázecím programem především univerzitních pracovišť, ale také řady renomovaných vydavatelství, byl vynikající poměr kvality a výkonu: Knuth jej totiž dal světu k dispozici zcela zdarma!

Jak TeX pracuje

TeX simuluje práci sazeče dávkovým, neinteraktivním způsobem. Je to vlastně interpret, který ze vstupního, čistě textového ASCII souboru, obsahujícího mimo samotného textu také řídicí sekvence - makra, vytvoří "na zařízení nezávislý" ("DeVice Independent" - zkratka DVI) soubor. Tento soubor již obsahuje vysázený text v podobě informací o umístění znaků na jednotlivých stránkách, a je dále zpracovatelný v nejrůznějších programech (prohlížeče, tiskové programy, převodníky, ...), vytvořených na základě znalosti jeho formátu.

Co TeX umí

Výčet kladů TeXu je třeba zahájit chválou vysoké kvality jeho výstupů. Měrové údaje, podle kterých umisťuje písmo na stránku, mají přesnost vlnové délky světla! Originální algoritmy pro řádkový a stránkový zlom produkují vysoce optimalizované výstupy, jejichž podoba je ovlivnitelná nastavením řady parametrů. Od samého začátku pracuje TeX s kerningy i ligaturami způsobem, který mu dodnes mohou mnohé vychvalované sázecí programy jen závidět. Totéž lze říci i o jeho dělících algoritmech.
Kapitolou samou pro sebe jsou matematické výrazy: přes veškerou snahu jiných výrobců zůstane TeX v této oblasti už asi jednou provždy naprosto nepřekonatelný.
Síla TeXu ovšem není pouze v kvalitní sazbě. Vzhledem k tomu, že je to vlastně interpret programovacího jazyka, lze v něm realizovat úlohy, které by jiný sázecí systém zvládal bez speciálních rozšíření jen obtížně. Příkladem mohou být personalizované výstupy, automatizované zpracování velkých souborů nebo generování textu na základě matematických výpočtů.
Velkou výhodou je také nezávislost TeXu na zařízení: tentýž DVI soubor lze vytisknout z PC na jehličkové tiskárně stejně dobře jako z grafické stanice na osvitové jednotce, přičemž se změní pouze vnější podoba výstupu daná kvalitou výstupního zařízení a nikoli vnitřní formát. Zdrojové soubory TeXu mají, jak již bylo řečeno, čistě textový formát, a jsou tudíž rovněž velmi snadno přenositelné mezi jednotlivými platformami.

Slabiny a nedostatky

Skeptik se nyní jistě dotáže, kde jsou slabiny. Těch samozřejmě není ušetřen ani ten nejdokonalejší program.
V případě TeXu považuje mnoho lidí za hlavní slabinu programu právě jeho základní ideu. Absence interaktivity a nutnost osvojit si dovednosti patřící do říše programování mnoho lidí odrazuje. Přitom často zapomínají, že vzhledem ke stabilitě celé koncepce zůstanou jejich dovednosti zachovány jednou provždy, což se o jiných sázecích systémech, měnících s každou verzí minimálně částečně své vlastnosti, dá říct jen stěží.


Grafiky ani PostScriptu se bát nemusíte

Základní koncepce je na obtíž v případě tvorby složitěji strukturovaných barevných dokumentů s množstvím různorodě umístěného textu a grafiky. Zde jsou interaktivní sázecí programy s propracovanou správou barev typu Quarku či PageMakeru přece jen těžko nahraditelné. Zjednodušeně řečeno, na sazbu efektně vyhlížejících reklamních letáčků, novin a časopisů se TeX příliš nehodí. Na druhou stranu je ovšem pravdou, že je-li grafika v celém dokumentu umístěna unifikovaným způsobem (např. u knih), je její zpracování v TeXu snad i snazší než u uvedených interaktivních systémů. Prakticky všechny dnešní implementace TeXu také obsahují silnou podporu jazyka PostScript (viz dále).
Poněkud problematická bývala v TeXu práce s písmem. Protože TeX vznikl dávno před uvedením postscriptových a truetypových fontů, musel mít vlastní systém tvorby a správy písma. Generování tohoto bitmapově založeného písma pomocí Metafontu a jeho zavedení do systému bylo pro mnoho uživatelů noční můrou. Většina uživatelů zůstávala proto raději odkázána na základní font TeXu Computer Modern, který je sice velmi dobře navržený, ale jen stěží univerzálně použitelný. S postupem času ovšem vznikla řada komerčních i nekomerčních řešení, díky kterým se TeX naučil vyžívat i novodobé písmové technologie. Dnes v něm tedy lze poměrně snadno používat prakticky každý font dostupný v počítačové podobě.

Makro nástavby TeXu

Jak jsme již řekli, TeX je založen na využívání řídících sekvencí - maker. Základní balík maker napsaný samotným Knuthem se jmenuje plain TeX. Jedná se o sadu určenou zejména náročnějším a také zručnějším uživatelům, schopným ze základních příkazů sestavovat makra vlastní.
Pro "běžné" uživatele, netoužící příliš po tom stát se mistry v programování, je zde LaTeX, mohutná makro nástavba vytvořená původně v 80. letech Američanem Leslie Lamportem. Dnes na jejím dalším vývoji a distribuci pracuje speciální tým. Původní Lamportův balík je dodnes používán jako LaTeX 2.09, nové řešení nese označení LaTeX 2epsilon a jednou by se z něj měl stát LaTeX 3.
Plain TeX a LaTeX si tak trochu konkurují - ne každé makro z plain TeXu lze použít v LaTeXu, obráceně to platí prakticky stoprocentně. To samozřejmě není příliš příznivý jev pro platformu zákládající si tolik na své stabilitě a unifikovanosti. Nicméně vzhledem k relativně rozdílné cílové skupině uživatelů vedle sebe obě nástavby koexistují celkem bezproblémově.
Nad plain TeXem a LaTeXem postupně vznikly nejrůznější nástavby rozšiřující jejich možnosti (Eplain, AMS-TeX, AMS-LaTeX, Context aj.) a dále pak desítky různých makro balíků pokrývající dnes prakticky jakýkoli uživatelský požadavek: k dispozici jsou nástroje pro sazbu různých typů tabulek, poznámkového aparátu, plovoucích a obtékaných objektů, nejrůznějších jazyků (vč. např. hebrejštiny, arabštiny či japonštiny, korejštiny a čínštiny), herní notace (šachy, go, bridž, křížovky /!/, ...), notových zápisů, vědeckých textů (chemické vzorce, strukturní diagramy, ...), atd. Prakticky všechny tyto balíky jsou zdarma a dostupné na Internetu.

Implementace TeXu

Až dosud jsme o TeXu hovořili pouze v obecné, "na zařízení nezávislé" rovině. Nyní si povězme o jeho konkrétních implementacích.
Nejprve je třeba si objasnit, co takováto implementace obnáší. V minimální podobě by měla obsahovat alespoň textový editor, překladač TeXu, prohlížeč, tiskový program a programy pro práci s písmy (Metafont aj.). Mimo těchto komponent pak většina implementací nabízí přehršle dalších programů a prográmků rozšiřující možnosti zpracování texovských vstupů i výstupů - jsou to například převodníky, o kterých budeme hovořit v jiné části tohoto článku, programy pro tvorbu rejstříků (MakeIndex, Xindy), zpracování citací (BibTeX, BibMaker, BibDB, ...), výstup metafontových zdrojů do EPS-formátu (Metapost), tvorbu obrázků v texovské notaci (TeXCad, XFig, ...) a mnoho, mnoho jiných.
Většina dále popisovaných řešení je v ostrých (public domain, freeware, shareware) nebo alespoň demo verzích (komerční implementace) dostupná na Internetu (o archivech CTAN viz dále). Prostřednictvím uživatelských sdružení (opět viz dále) lze texovský software získat také na CD-ROM. (Jestliže v tuto chvíli na někoho působí divně, že existují i komerční implementace TeXu, pak je třeba říct, že tyto produkty netěží z prodeje samotného kompilátoru, ale z nabídky většího uživatelského komfortu např. poskytováním interaktivity či propracované správy fontů.)
Nyní již tedy ke stručnému přehledu dostupných implementací na třech hlavních platformách dneška, tj. Unix, MS-DOS/Windows a Mac OS. (Řešeními pro "exotičtější" systémy se zabývat nebudeme, nicméně, jak již bylo naznačeno, existují.)
Vzhledem ke svému akademickému založení se TeX šířil dobře především na platformě Unixu. Masivní implementace Web2C (autor Karl Berry) bývá průběžně updatována a v kompilované podobě existuje nejen pro nejrůznější unixové systémy (včetně populárního Linuxu), ale i pro jiné operační systémy (MS-DOS/Windows, Macintosh, Amiga, ...). Pozornost zaslouží také LyX, WYSIWYG front end editor založený na LaTeXu.
Ve světě nekomerčních řešení vyvíjených na PC panoval dlouhá léta balík emTeX (autor Eberhard Mattes) určený pro MS-DOS. Postupně byl nahrazen pro Windows určeným MikTeXem (autor Christian Schenk). Zajímavým konkurenčním projektem pak je nedávno uvedený sharewarový BaKoMa TeX (autor Basil K. Malishev). Z komerčních implementací lze na PC za velmi vydařený považovat VTeX (výrobce Micropress, Inc.), dalšími produkty tohoto typu jsou PC TeX (výrobce Personal TeX, Inc.), Y&Y TeX (výrobce Y & Y, Inc.) a TrueTeX (autor Richard Kinch). Drahé, ale velmi pozoruhodné možnosti především v oblasti zpracování matematických textů, nabízí (pro Windows i Macintosh) textový procesor ScientificWord od Mackichan Software. Přípravu zdrojových souborů pro TeX lze ve Windows řešit nejlépe ve výborném editoru WinEdt (autor Aleksander Simonic).
Uživatelé počítačů Macintosh mají (mimo portovaného Web2C a zmírajícího DirectTeXu) na výběr mezi dobře zpracovaným sharewarovým OzTeXem (autor Andrew Trevorrow) a komerčními Textures (výrobce Blue Sky Research), které pro mnohé po léta představují nejvydařenější implementaci TeXu vůbec. K dispozici je také TeXgX (autor Jonathan Kew), sharewarová implementace TeXu podporující technologii QuickDraw GX. Pro editaci zdrojových souborů lze použít velmi dobré programy BBEdit (výrobce Barrebone Software) a AlphaEdit (autor Pete Keleher).

TeX a soudobé elektronické publikování
Vzhledem k tomu, že se valná část uživatelů a příznivců TeXu rekrutuje z řad počítačových odborníků, není vůbec divné, že tento systém dokáže formou nejrůznějších konvertorů držet velmi snadno krok se všemi trendy v oblasti elektronického zpracování dokumentů.
Z dnešního pohledu zaslouží zvláštní pozornost především soužití TeXu s jazyky PostScript, PDF a HTML.
Úzké spojení s PostScriptem zajišťuje zejména freewarový program dvips (autor Tom Rokicki), který, jak již název naznačuje, převádí do PostScriptu DVI soubory. Díky dvips lze do postscriptového výstupu texovských souborů začleňovat postscriptovou grafiku i nejrůznější postscriptové příkazy a výstupní soubor také případně nejrůznějším způsobem transformovat (kopie, ořezové značky atd.). Pokud jste již někdy s nějakým konvertorem do PostScriptu pracovali (obvykle tisk postscriptovým tiskovým ovladačem do souboru), překvapí vás, jak optimalizované soubory dokáže konvertor připravit. Výstupní soubor pak lze bez problému prohlížet a tisknout například v programu Ghostview, prohlížeči využívajícím interpret Ghostscript, těšícím se mezi uživateli TeXu velké oblibě.


V TeXu lze vytvořit opravdu ledasco: "TeXbook naruby" Petra Olšáka v PDF formátu, plný záložek a odkazů

PDF soubory lze z texovských souborů vytvářet několika způsoby. Největší pozornost zde zaslouží zdarma šířený program pdfTeX, kompilátor TeXu nabízející přímý výstup do PDF formátu. Tento produkt vytvořil a dále průběžně updatuje vietnamský student fakulty informatiky brněnské Masarykovy univerzity Han The Thanh. Mimo pdfTeXu pak lze jako další nekomerční řešení využít konvertor dvipdfm (autor Mark A. Wicks), který do PDF převádí DVI soubory. Do PDF formátu lze rovněž ukládat z prostředí DVI prohlížeče BaKoMa TeXu a prakticky ve všech komerčních implementacích.
Soubory TeXu je možné převádět také do jazyka HTML. Řada existujících nekomerčních a komerčních konvertorů (tex2html, tth, texi2html, LaTeX2html, ...) takto transformuje soubory napsané v plain TeXu resp. LaTeXu. Pozoruhodné možnosti nabízí komerční program Texpider firmy Micropress, který je vlastně překladačem TeXu s výstupem do HTML.
Mimo uvedených formátů existují převodníky například i pro formáty SGML a XML.
Zvláštní pozornost zaslouží rovněž opačná možnost, tj. TeXem zpracovat dokumenty v nejrůznějších formátech (MS Word, RTF, WordPerfect, FrameMaker, ...) opět díky různým komerčním i nekomerčním převodníkům. Podrobnější přehled těchto řešení lze nalézt například na http://www.fz-juelich.de/isr/1/texconv/textopc.html.

Podpora TeXu ve světě a u nás

Výbornou věcí, kterou může TeX nabídnout vedle svých kvalitních výstupů, jsou aktivity jeho uživatelů. Již v roce 1980 vznikla na podporu TeXu a Metafontu při American Mathematical Society společnost TUG (TeX Users Group; www.tug.org). Ta od té doby mimo jiné pořádá pravidelné srazy svých členů, vydává časopis TUGboat a organizuje nejrůznější typy školení týkající se TeXu a přidruženého softwaru. Po léta také na Internetu provozuje a spravuje Comprehensive TeX Archive Network (zkratka CTAN), rozsáhlou elektronickou zásobárnu texovského softwaru. (Viz např. ftp://ctan.tug.org/tex-archive/, zrcadla uvedeného serveru jsou rozeseta celosvětově.)
Vedle a pod záštitou TUG postupně vznikly v různých dalších zemích národní sdružení uživatelů TeXu, která se mimo obecných řešení především snaží vytvářet nástroje pro sazbu TeXem v místních podmínkách. Československé sdružení uživatelů TeXu - Czechoslovak TeX Users Group (CSTUG) vzniklo v roce 1990 a od té doby vyvíjí neúnavné aktivity spojené se šířením TeXu v Čechách a na Slovensku. Díky činnosti jeho členů (Petr Olšák, Petr Sojka, Jiří Veselý, Karel Wagner aj.) vznikl především komplexní balík maker, fontů a doplňkového softwaru, umožňujících sazbu v českém a slovenském jazyce. Mimoto společnost provozuje vlastní internetový server (www.cstug.cz) plný zajímavých informací a texovského softwaru (zrcadlo CTAN a také místní zdroje). Pro své členy také vydává Zpravodaj, jehož starší čísla jsou na výše uvedeném serveru volně dostupná v elektronické podobě. Členstvo sdružení se rekrutuje převážně z členů akademické obce, významnější podpoře se CSTUG těší zejména na fakultě informatiky Masarykovy univerzity v Brně.
Již zmíněný Petr Olšák publikoval v českém jazyce o TeXu dvě knihy (Typografický systém TeX, TeXbook naruby), z nichž druhá jmenovaná si svým rozsahem a kvalitou (a místy pochopitelně také ezoterností) s Knuthovým TeXbookem nijak nezadá. Přitom si ji lze v elektronické podobě zdarma stáhnout z Internetu (http://www.cstug.cz/literatura/tbn.html). Uživatelé, hodlající využívat LaTeX, mohou sáhnout po knize Jiřího Rybičky LaTeX pro začátečníky. (Bližší podrobnosti opět na serveru CSTUG.)
Pohlédneme-li na českou knižní produkci posledních let, nemůžeme přehlédnout podíl, jaký v ní mají právě publikace sázené v TeXu. V dlouhé řadě stojí vedle sebe produkce velkých (např. Votobia) i malých (např. Trigon) nakladatelství, o akademických (zejména matematických) publikacích nemluvě, ale také různé netradiční projekty (např. Ottova encyklopedie, jízdní řády brněnské MHD aj.). Přesto se ovšem zdá, že valná většina členů české polygrafické obce buď o TeXu vůbec neví nebo má o něm a jeho možnostech jen zcela povšechné a mnohdy dokonce docela opovržlivé mínění.

Má TeX budoucnost?

I když se dotaz po budoucnosti softwarového produktu může zdát být současnému uživateli, zvyklému každou chvíli upgradovat své vybavení, zcela legitimní, netěší se u konzervativních uživatelů TeXu příliš velké pozornosti. Může za to především sám "velký čaroděj" Donald Knuth, který svůj systém (v mnohém asi oprávněně) považuje za zcela hotový. Již od začátku devadesátých let jej proto nehodlá dále měnit a nepřeje si ani, aby jakékoli jeho budoucí klony nesly název TeX. S uvedeným názorem se ale, zdá se, ztotožňuje jen část uživatelů. V současnosti totiž vzniká hned několik konkurenčních projektů, které se (víceméně) snaží dodržet zpětnou kompatibilitu s původním programem.
Prvním produktem uvedeného typu je Omega (autoři John Plaice a Yannis Haralambous). Ten rozšiřuje původní TeX o možnost práce s 16-bitově kódovanými znaky, a tudíž snazší sazbu jazyků, jako je arabština, khmerština, čínština či japonština. Verze LaTeXu pro tento systém nese název Lambda, autoři vytvořili také novou kódovací normu "TeX Unicode".
Další projekt e-TeX je ještě smělejší. Jak již název trochu skrytě napovídá (e-TeX znamená "expanded TeX"), hlavním cílem je rozšířit původní Knuthův program o nové vlastnosti.
Konečně posledním, a v současné době asi nejambicióznějším projektem je NTS - New Typesseting System. Jedná se o upravený a do jazyka Java přeportovaný překladač TeXu, který by měl podle záměru tvůrců představovat řešení, odpovídající po všech stránkách dnešním požadavkům elektronického publikování. Projekt je financován německým sdružením uživatelů TeXu DANTE, samotný vývoj provádí brněnský programátor Karel Skoupý pod supervizí Hanse Hagena.
Mimo uvedených alternativ stojí ještě za zmínku Lout (autor Jeffrey H. Kingston). Ten sice využívá některé původní Knuthovy algoritmy, syntaxí svého jazyka a přímým výstupem do PostScriptu a PDF se ovšem od TeXu odlišuje velmi výrazně. Na prověření jeho kvalit ovšem ještě nebylo příliš mnoho času.

Závěrem

Náš malý výlet do světa jednoho z nejstarších a přitom stále nejmodernějších sázecích systémů je právě u konce. Věřme, že dokázal alespoň u některých čtenářů vzbudit zájem poznat jej blíže. I když začátky s ním mohou být krušné, vložené úsilí se většinou výrazně zhodnotí. Ostatní čtenáři pak možná pozměnili své názory na produkt, který ve světě kvalitní sazby ještě zdaleka neřekl své poslední slovo.

Článek byl převzat z měsíčníku Svět tisku č. 5/2000. Bližší informace o časopise naleznete na adrese http://www.svettisku.cz




Tématické zařazení:

 » Rubriky  » Sazba  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: