Hlavní navigace

TeXty TeXem

7. 11. 2000
Doba čtení: 5 minut

Sdílet

...aneb TeX - legenda free softwaru.

Kdesi v USA žije jeden chytrý pán, který se zajímá o počítače. Nebojte, nemyslím Billa Gatese, ale člověka, kterého možná ještě neznáte. Jmenuje se Donald E. Knuth (např. kniha The Art Of Computer Programming) a je autorem TeXu.

Tento pán psal chytré knížky plné matematických formulí a symbolů a vždy se spravedlivě zlobil na ty, kteří jeho knihy tiskli, protože mu do děl vnášeli chyby. Jelikož to byl člověk estetický, častokrát se nespokojoval ani s celkovým vzhledem a tak si jednoho dne udělal čas a napsal sázecí systém TeX, kterým vyřešil své problémy.

Samozřejmě to docela určitě nebylo za jedno odpoledne. Dříve než přistoupil k programování samotného TeXu, vytvořil si WEB, ve kterém TeX napsal. WEB je systém tzv. „dokumentovaného programování“ (angl. literate programming), který slučuje samotný zdrojový kód programu s jeho dokumentací (a jen tak mimochodem, s World Wide Webem nemá nic společného). Jinak řečeno, příkazy WEBu převedou zdrojáky do něčeho, čemu rozumí kompilátor a do něčeho, čemu rozumí člověk.

Knuth zdrojový kód TeXu spolu s WEBem poskytl k volnému užívání a tak se po mnoho let mohou noví a noví uživatelé zcela zdarma ponořovat do tajů typografie s tímto jistě úctyhodným (a v mnoha ohledech geniálním) programem.

Co je to TeX

Jak již bylo naznačeno v úvodu, TeX je typografický systém. Kromě toho, že sází, nabízí navíc uživatelům mocné programovací schopnosti, umožňující proces sazby výrazně ovlivňovat.

V praxi vypadá sazba asi tak, že si připravíte zdrojový text dokumentu, při jehož psaní se hojně používají makra TeXu. Vzdáleně bych zdrojáky dokumentů připodobnil k psaní HTML stránek – ale opravdu jen vzdáleně. V TeXu máte možnost definice vlastních maker a podobně.

Kdo by čekal, že spuštěním TeXu uvidí nějaký WYSIWYG nástroj, bude nejspíš zklamán. (My, linuxoví fanoušci, víme, že opravdu kvalitní nástroje se neovládají myší :-)

TeX nemá v oblasti dodržování typografických pravidel konkurenci. Přesto se však na některé aplikace nehodí. Jsou to především „malé“ dokumenty (dopis, leták apod.), při jejichž tvorbě v TeXu by vám psaní hlavičky a inicializačních částí souboru zabralo více práce než samotné jádro sdělení. Jako jinde i tady platí zásada o nevhodnosti střelby kanónem na vrabce…

Bude-li ale váš dokument většího rozsahu (a případně mít hodně matematiky, kterou TeX obzvlášť miluje), garantuji vám, že v TeXu jej připravíte lépe a rychleji (!!!) než v čemkoliv jiném.

Při navrhování TeXu se nepočítalo s barvami, což je jasný zápor. Nezkoumal jsem, jestli tento nedostatek náhodou neřeší nějaká nadstavba. Možná se to dá nějak obejít a barvy použít.

Jak se slovo TeX píše a vyslovuje

Logem TeXu jsou písmena T a X, mezi něž je vsunuto poněkud snížené E (viz obrázek). Správně mají na sebe písmena T, E a X přesně navazovat, tj. nesmí se křížit ani nedoléhat k sobě. Je-li slovo TeX psáno na médium, které takové čachry s písmeny nedokáže (typicky textový soubor), píše se TeX tak, jako v tomto článku, tedy TeX. Není přípustné Tex, natož pak třeba  tex.

Logo TeXu

Písmeno „X“ ve slově TeX podle Knutha znamená řecké písmeno chí. Angličany je vyslovováno jako „ch“ nebo jako „k“. (Rozhodně ne jako „ks“!) V české kotlině se většinou používá výslovnost „tech“.

Výstup TeXu

Výstupem TeXu je na zařízení nezávislý (device independent) formát DVI. Výtisk z tohoto formátu by měl vypadat stejně, ať už jej vytisknete na čemkoliv. Existují také různé konvertory z DVI formátu: třeba do PostScriptu, PDF a podobně.

Na otázku „jaká je kvalita výstupu TeXu“ existuje přímočará odpověď: „dostatečná“. Formát DVI vnitřně pracuje s jednotkami blízkými vlnové délce viditelného světla, tedy řádově s nanometry.

K čemu je METAFONT

METAFONT byl rovněž napsán Knuthem. Zatímco TeX definuje umístění znaků na stránce, METAFONT popisuje tvary znaků (glyfy) a vztahy mezi nimi.

Jazyk METAFONTu pro definici fontu dovoluje definovat geometrické tvary znaků, ale také vlastnosti zařízení, pro které je určen výstup. Jeho podrobná znalost však není mezi uživateli tak běžná, jako znalost tvorby TeXovských maker.

LaTeX, AMS-TeX a další…

Samotný TeX je ještě pořád hodně „syrový“ a tak Knuth pro něj napsal balík maker nazývaný plainTeX. Pokud někdo říká, že „něco napsal v TeXu“, myslí tím docela určitě plainTeX.

Pokud se rozhodnete s TeXem začít pracovat, nedoporučoval bych vám hned zkoušet štěstí v plainTeXu. Pro psaní běžných textů byly vyvinuty různé balíky maker, které se velmi snadno používají.

Nejrozšířenějším je patrně LaTeX, jehož autorem je Leslie Lamport. LaTeX má pěkný design a mnoho lidí ani nic jiného nepotřebuje. Najdete v něm nástroje pro sazbu nadpisů, vzorců, tabulek, obrázků, poznámek pod čarou, obsahu, rejstříku… Zkrátka vše, co musí mít každá správná kniha.

Dalším používaným balíkem je AMS-TeX napsaný původně pro Americkou Matematickou Společnost. AMS-TeX k plainTeXu přidává množství dalších nástrojů, které vypadají profesionálně a méně zatěžují autory.

V krátkosti vyjmenuji AMS-LaTeX a LAMS-TeX, které vznikly kombinací výše uvedených dvou balíků maker. Dále ještě můžete narazit na Eplain, což je další rozšíření plainTeXu, a Lollipop, který má usnadňovat psaní vlastních maker.

Budete-li chvíli hledat v archívech CTANu (Comprehensive TeX Archive Network), můžete nalézt velmi speciální balíky: například pro tvorbu šachových diagramů nebo třeba sazbu notových záznamů.

Proč se tedy trápit v plainTeXu, existuje-li taková spousta již hotových maker? Odpověď je jednoduchá. LaTeX a jemu podobní sice obsahují výkonná makra, na druhé straně ale uživateli „vnucují“ jednotný vzhled. Chce-li někdo svým knihám vtisknout osobitý styl, nezbývá mu, než psát (čti programovat) v plainTeXu.

LyX

LyX v akci

root_podpora

Na tomto místě se sluší ještě připomenout aplikaci LyX, což není nic jiného, než front-end k LaTeXu. Na obrázku si jej můžete prohlédnout. LyX byl mezi prvními programy, kterému se dostalo plného počeštění. Troufnu si ale říci, že v dnešní době je už překonán. Kdo má potřebu psát v LyXu, může stejně tak dobře psát ve StarOffice.

Dokončení příště.

Byl pro vás článek přínosný?

Autor článku

Michal Burda vystudoval informatiku a aplikovanou matematiku a nyní pracuje na Ostravské univerzitě jako odborný asistent. Zajímá se o data mining, Javu a Linux.