Kapitola 2. Slovo na úvod

2.1. Čo je to TeX?

TeX je "programovací jazyk" určený na kvalitnú sadzbu textu, predovšetkým so zameraním na matematický text. Pracuje v podstate ako klasický prekladač. Predložený zdrojový textový súbor, v ktorom sú použité TeXové kontrolslová, sa prekladá TeXom na tzv. DVI (DeVice Independent) súbor. Prípadné chyby zistené TeXom pri preklade je nutné odstrániť v zdrojovom súbore a ten potom znova "TeXovať".

TeX je "public domain" (ďalej "p.d.") program. Bol vytvorený Donaldom Knuthom zo Standfordovej univerzity na prelome 70-80-tych rokoch a sám o sebe ako softwarový produkt by stál tisíce dolárov. Distribúciou TeXu a inováciami TeXových programov vo svete sa zaoberá TeX Users Group (TUG), ktorá prostredníctvom svojich časopisov TUGboat a TeXniques poskytuje informácie o vývoji TeXového hardwaru a softwaru. V Česko-Slovensku existuje obdobná organizácia "Čs. združenie užívateľov TeXu" (skratka CSTUG), založená v roku 1990. Distribuuje "p.d." programy adaptované na naše pomery a vydáva TeX bulletin s najaktuálnejšími informáciami o vývoji TeXu. Pokiaľ máte záujem, môžete sa i Vy stať jej členmi. Adresa je:

CSTUG c/o FI MU
Botanická 68a, 602 00 Brno
tel.: ++420-5-41512352, fax.: ++420-5-41212568 
http://www.cstug.cz

TeX býva často prirovnávaný k čerstvo narodenému dieťaťu: sám o sebe nevie takmer nič, ale rýchlo sa učí: užívateľ má možnosť napísať si makrá (v TeXu sa píšu makrá a nie programy) realizujúce akýkoľvek zložitý úkon (napr. cyklus, rozhodovanie, zapisovanie a čítanie z vonkajších súborov, automatické číslovanie, vytváranie obsahu, ...). Nie je samozrejme nutné, aby každý užívateľ TeXu vedel písať takéto makrá (k tomu by totiž musel prečítať TeXbook - 483 strán) [K] k TeXu existujú totiž nadstavby - akési väčšie balíky makier zamerané na sadzbu podľa určitého zamerania, ktoré sa nazývajú formáty. Tieto formáty je možné predom skompilovať a tak podstatne urýchliť prácu pre ich následné načítanie. Najrozšírenejšie sú tri základné formáty: plain, TeX, LaTeX a AmSTeX.

  1. plain TeX býva štandardne distribuovaný s TeXom (často s ním býva aj chybne stotožňovaný). Bol vytvorený autorom TeXu D.Knuthom a je veľmi podrobne popísaný v najzákladnejšej (a bezpochyby i najdokonalejšej) učebnici TeXu TeXbooku [K] . V tomto formáte sa dajú ľahko tvoriť jednoduché dokumenty, problémy vznikajú pri členitejších dokumentoch. Jeho zmyslom je predovšetkým poskytnúť základy pre tvorbu formátov vyššej úrovne. Toto sa ovšem netýka matematického módu, ktorý sa v ďalších nadstavbách zdokonaľuje minimálne. V češtine vyšli skriptá Jemný úvod do TeXu [DM] (sú voľným prekladom knihy M. Dooba), kde je možné nájsť popis najzákladnejších riadiacich slov TeXu (i plain TeXu) s množstvom príkladov a cvičení.

  2. LaTeX je jedným z najrozšírenejších formátov a ako nadstavba plain TeXu je tiež "p.d.". Jeho autorom je Laslie Lamport a jeho podrobný popis je v knihe LaTeX [LL] . Okrem toho vyšla obdobná (v množstve príkladov často i obsažnejšia) nemecká príručka LaTeX eine Einfuhrung.[KH] Okrem toho začiatočníkom je možné doporučiť napr. An introduction to LaTeX [UM] , alebo české skriptá Úvod do systému LaTeX [PK] , ktoré sú (až na poslednú kapitolu o BibTeXu) prekladom. LaTeX poskytuje užívateľovi relatívne komfortné užívateľské prostredie a je vhodný pre mnoho aplikácií (písanie listov, článkov, kníh, ...). Množstvo vecí robí automaticky: číslovanie rovníc, definícií, viet; umožňuje pomocou odkazov odvolávať sa na takto číslované veci (krížové referencie), môže automaticky vytvárať obsah a zoznam literatúry (tiež využívaním krížových referencií). Pridružený program BibTeX uspradúva zoznam literatúry, tabuliek, obrázkov podľa zvoleného kľúča. Umožňuje tiež kreslenie jednoduchých obrázkov a grafov, poskytuje lepšie prostredie pre kreslenie tabuliek. Existujú aj "užívateľsky prítulnejšie" prostredia pre kreslenie obrázkov, napr. program TeXCAD ("p.d."), v ktorom sa dá interaktívne nakresliť jednoduchý obrázok a ktorého výstupom je zdrojový súbor v LaTeXu. Poskytuje rad štýlov, ktoré zabezpečujú preddefinovanú úpravu textu. Aj napriek všetkému tomuto pohodliu, pri dlhšom používaní sa začnú objavovať nevýhody tohto formátu. Obvykle užívateľ využíva len veľmi malú časť ponúkaných možností a zvyšok zbytočne zaberá miesto v pamäti (štandardná implementácia TeXu s LaTeXom má hornú hranicu počtu strán dokumentu pri priemernom použití krížových referencií okolo stovky). Tiež opakované prekladanie zdrojového textu LaTeXom zaberá mnoho času. Skúsenejším užívateľom TeXu prekáža jeho obtiažna modifikovateľnosť a fakt, že LaTeX predefinováva niektoré makrá plain TeXu, takže často nefunguje ani najzákladnejšia filozofia TeXu podľa TeXbooku. [K] Navyše tiež používanie LaTeXovských vecí v matematickom móde kazí veľmi úsporný štýl plain TeXu. (Všeobecne pre porovnateľný výsledok sadzby v matematike je treba dlhší zdrojový text ako v plain TeXu.)

  3. AmSTeX je tiež nadstavbou plain TeXu a je rozšírený hlavne v matematických kruhoch. Jeho názov je odvodený od American Mathematical Society, ktorá ho začala medzi prvými používať pre vydávanie svojich časopisov. Autorom AmSTeXu je Michael Spivak a je podrobne popísaný v knihe The Joy of TeX. [S] Prednosťou AmSTeXu je, že sa "dobre znáša" s plain TeXom (takže smelo môžeme používať znalosti z TeXbooku. [K] Navyše poskytuje lepšie možnosti rôzneho zarovnávania formuliek a jednoduchšiu sadzbu niektorých matematických formuliek ako plain TeX. S AmSTeXom býva štandardne distribuovaný aj štýl amsppt.sty, ktorý poskytuje prostredie vhodné pre písanie článkov - obsahuje preddefinovanú úpravu titulnej strany, literatúry a štandardné prostredie na písanie viet, dôkazov a iné užitočné veci. Okrem toho s poslednou verziou AmSTeXu (2.0) je tiež distribuovaných niekoľko nových fontov pre matematiku, azbuku a "eulerovské" fonty.

Nepochybne existujú a budú vyvinuté i ďalšie nadstavby TeXu uľahčujúce niektoré špecifické činnosti pri sadzbe (napr. robenie tabuliek). TeX Users Group pravidelne uverejňuje vo svojich publikáciach informácie o nových balíkoch makier.

Programové prostriedky TeXu sú teda naozaj bohaté a rôznorodé; písanie makier pripomína skôr programovanie v assembleri. Ako príklad možno uviesť (trochu exotickú) skutočnosť, že v TeXu sa dá napísať makro, ktoré vypočíta n prvočísiel (a samozrejme ich vysádza s kvalitou jemu vlastnou) pre interaktívne zadávané hodnoty n. A ešte jedna veľká prednosť TeXu: jednoduché hladké texty sa sádzajú veľmi jednoducho.

\newdimen\x
\x=9.1pt
\setbox1=\hbox{I}
\setbox0=\vbox{\eightpoint\parfillskip0pt \tolerance=1000\parshape=11
-0\x0\x -1\x2\x -2\x4\x -3\x6\x -4\x8\x -5\x10\x
-6\x12\x -7\x14\x -8\x16\x -9\x18\x -10\x20\x
\ifdim\x>2em \rightskip=-\wd1\else \frenchspacing\rightskip=-\wd1plus1pt minus 1pt
\leftskip=0pt plus 1 pt minus 1pt\fi
\noindent \unskip{}A ani ta\-ké\-to tva\-ro\-va\-né texty,
vy\-ze\-ra\-jú\-ce veľ\-mi za\-u\-jí\-ma\-vo, sa nesádzajú nejako
obzvlášť ťažko.
A takýto útvar môže mať ľubovoľný tvar, napr.\ tvar kruhu,
troj\-u\-hol\-ní\-ka, \dots. Pekné, však?}
\centerline{\hbox to \wd1{\box0\hss}}

TeX teda poskytuje rad možností všelijakej sadzby textu, veľký výber fontov, prostriedky pre robenie tabuliek. Grafické prostriedky samotného TeXu sú dosť chudobné: čiary, vektory, kružnice, ovály - prípadne ich časti, ale len celé násobky štvrtín. Ak potrebujeme dokresliť do článku nejaké obrázky, napr. grafy, s TeXom nevystačíme. Môžeme použiť Metafont , ktorý vznikol spolu s TeXom (autor tiež D. Knuth) na vytváranie fontov pre TeX a je popísaný v The METAFONTbook [KM] prípadne nejaký iný grafický editor. Niektoré ovládače na tlačiareň a obrazovku (napr. z ďalej spomínaného "p.d." balíku emTeX) vedia zobraziť obrázky z MS Paint pod Windows a PCX (Paintbrush), teda v konečnom dôsledku aj "zoscanované" obrázky. V samotnom textovom súbore ale treba vynechať miesto pre obrázok, TeX nemá zatiaľ žiadne možnosti na zistenie veľkosti takýchto obrázkov (okrem možnosti konvertovania obrázku do fontu). V súčasnosti sa však venuje veľa úsilia predovšetkým zlepšeniu spolupráce TeXu s grafikou a tak sa dá očakávať, že sa tento stav čoskoro zlepší.

Záleží len na vás, ktorá zo spomínaných (prípadne iných) nadstavieb si získa vašu obľubu. Táto príručka je určená užívateľom AmSTeXu a podáva popis takmer všetkých jeho kontrolslov. Niektoré všeobecné črty nematematického módu sú však spoločné s plain TeXom, preto v tejto časti väčšina odvolávok sa vzťahuje k TeXbooku, [K] kde sa možno o daných veciach dozvedieť nepomerne viac ako v The Joy of TeX. [S] .