TeX

Stanislav Brabec

Na počátku byla nespokojenost jednoho programátora a následoval vznik zajímavého programátorského sázecího systému, který se rozrostl v rozsáhlý projekt. Dnes je TeX velice diskutovaným software, který se používá zejména pro kvalitní profesionální sazbu.

Projekt TeX rozdělil svět počítačových programů pro sazbu textů na dvě skupiny: na programy „myšoidní“ - sazeč, který v nich připravuje knihu, najezdí myší po stole několik kilometrů a provede tisíce cvaknutí, a na programátorské (třeba popisovaný TeX) - zde sazbu popisujeme pomocí příkazů anebo programátorských struktur. Jedná se o dva zcela odlišné přístupy. Chci-li proložit kus textu v „myšoidním“ programu, provedu následující: Najedu myší na začátek, cvaknu, najedu na konec, cvaknu, najedu do nabídky, projedu rolety, a až najdu příslušný typ písma, pustím. Chci-li proložit text v TeXu, skočím z prohlížeče do tzv. zdrojového formátu, a zde text obklopím příkazy {it a }.

LaTeX a ti ostatní
TeX samozřejmě umí zalamovat odstavce, a to dokonce celé najednou, umí dělit slova v různých jazycích a má mnoho dalších typografických funkcí. Samotný systém základních příkazů (primitivů) by však byl velmi omezený a neohrabaný. Proto TeX umožňuje vytvářet tzv. makra. Jsou to v podstatě sekvence příkazů s možnými parametry. Díky makrům lze sázet texty velmi efektivně a rychle. Vhodně vytvořená makra obsluhují záhlaví a titulky, jiná poznámky pod čarou či číslování stran atd. Makra se mohou seskupovat do větších celků - tzv. balíků. Z nich jsou nejznámější univerzální balíky Plain TeX a LaTeX. Speciální balíky naproti tomu dokáží TeX přinutit např. k arabské či hebrejské sazbě, skládání hieroglyfů či notových zápisů. Makra mohou dokonce řešit i věci typografii tak vzdálené, jako např. kalendářní výpočty, účetnictví a podobně. To vše záleží na invencích autorů, neboť TeX i METAFONT jsou plnohodnotné programovací jazyky - to názorně ukazuje interpreter jazyka BASIC, který je celý psán v TeXu!
TeX nyní patří mezi programy s nejmenším množstvím chyb. Americká matematická společnost vyhlašuje každoročně odměnu několik stovek dolarů každému, kdo nějakou chybu v TeXu odhalí.
Vlastní TeX se již nevyvíjí. Byl autorem prohlášen za dokončený. Autor si pouze vyhrazuje právo na každoroční opravu nalezených chyb. Proto knihu, kterou jste vysázeli v TeXu před lety, bez problémů zpracujete i nyní nebo i kdykoli v budoucnosti. TeX má své následníky, ale ty jsou ve vývoji a neponesou jméno TeX (systémy ETeX, NTS, Omega). Navíc s ním jsou jednosměrně kompatibilní.
Další mimořádnou vlastností TeXu je schopnost sázet matematické vzorce. Jazyk na jejich sazbu je velmi jednoduchý a přehledný. Většinou provádíme zápis pomocí zkratek podobných matematickým. Např. zápis $y=cosalpha+2$ vysází rovnici správně se všemi mezerami tak, jak vyžadují typografická pravidla.
To vše předurčuje TeX zejména do akademického světa. Ale mnohá nakladatelství používají TeX i při sazbě běžných knih, beletrie, či dokonce při přípravě obrazových publikací. Jeho mnohovrstevnost umožňuje vniknout do tajů TeXu na různých úrovních písařka, začátečník, pokročilý, TeXpert, TeXový čaroděj, velký TeXový čaroděj (D. E. Knuth).

Jak TeX pracuje?
TeX čte při své práci zdrojový text s příkazy a na jejich základě vytváří tzv. DVI soubor, s nímž si zase poradí prohlížeče a ovladače tiskáren. Sazeč vytvoří v editoru zdrojový soubor, tento zdrojový soubor „přeloží“ a výsledek si může prohlédnout speciálním programem. Práce v TeXu tedy připomíná spíš programování, a to včetně obávaných syntaktických chyb a nepřeložitelných souborů.
Pracoviště s TeXem tedy neznamená pouze samostatný program TeX, ale také množství přidružených programů:
Prohlížeč DVI - program, který nám umožňuje prohlížet vytvořený DVI soubor.
METAFONT a gftopk - programy, které vytvoří znakovou sadu. Aby se ušetřil strojový čas, většina prohlížečů si ukládá předrastrované znakové sady na disk v tzv. PK formátu.
Tiskový program - umí vytisknout DVI soubor na tiskárně.
Programy pro práci s PostScriptem např. dvips, afm2tfm či ps2pk.
Programy pro zpracování speciálních příkazů - SpecialHost.
Editor - TeX nevyžaduje žádný speciální editor, používá se běžný ASCII editor (programátorský editor), jako např. Ed, CygnusED, GoldED, vi, Emacs ap.
Další podpůrné programy - např. program, který zajistí, aby v češtině nezůstávaly jednopísmenné předložky na konci řádku ap.
Propojovací dávky - ty propojují činnost všech programů dohromady tak, aby nebylo nutné stále z příkazové řádky cosi spouštět. Zajišťují volání překladu (TeXování) z editoru či naopak v případě chyby, volání prohlížeče, automatické dopočtení chybějících PK souboru atd. Na Amize jsou téměř výhradně v ARexxu.

A co grafika?
TeXu je vytýkáno, že neumí pracovat s grafikou. To je takt. Ovšem zároveň nedorozumění - účelem TeXu není pracovat s grafikou, ale sázet text. Na obrázek TeX nanejvýš vynechá místo a oznámí ovladači jeho přesné umístění. Samotná práce s obrázky se tedy přesunuje na podpůrné programy. Tímto způsobem lze připravit v TeXu i plnobarevnou publikaci včetně barevných separací. Ideální pro takovou práci je použití PostScriptu. Oba systémy se vzájemně doplní - TeX vysází texty, PostScript zpracuje grafiku.

TeX na Amize
TeX je psán přenositelně. Proto implementace vlastního TeXu není až tak složitou záležitostí. V praxi se ovšem provádějí různé optimalizace, které umožní rychlejší běh programu či podporu různých kódování a konfigurovatelnost.
Na Amize existují dva základní balíky TeXu:
AmigaTeX od Torna Rokického Tento balík jednoho z nejvýznamnějších programátorů v oblasti TeXu patří mezi komerční produkty.
PasTeX od Georga Hemana. Tento balík je volně dostupný např. na CD ROM anebo z Aminetu („odlehčená“ 10MB verze). V tomto balíku najdete všechny základní programy, všechny běžné balíky maker a makra pro mnoho jazyků. Na CD ROM ještě naleznete zdrojové kódy ke všem programům.
Programy PasTeXu jsou velmi příjemné na ovládání. Ve spolupráci s DOS 3.0 a vyšším získáváte navíc možnosti pracovat s obrázky různých formátu a s lokalizací. Programům lze vytknout pouze jistou nestabilitu, a to zvlášť u Amig méně vybavených. Nedostatkem PasTeXu je též chybějící podpora tzv. virtuálních znakových sad (výklad by si vyžádal více prostoru). Podpora grafiky v prohlížeči a tiskových ovladačích je velmi dobrá.
Na Amigu existují i prohlížeče, které umí virtuální znakové sady - např. DVI363. Ten však zase nemít některé jiné vymoženosti.

Hardwarové požadavky
Ke spuštění TeXu teoreticky stačí A500 s 1 MB paměti u jednou disketovou jednotkou. Práce na takovém vybavení se však spíše podobá masochistickým hrátkám nežli rozumné práci. Pro tu je potřeba alespoň 2MB paměti (pro práci s obrázky či velkými balíky maker neuškodí 3 nebo 4MB), pevný disk minimálně s 5MB paměti (spíš více při profesionálním používání bez problémů obsadíte 50MB). Samozřejmě čím rychlejší počítač, tím lépe. Na překlad jedné strany pak nebudete čekat 5s (A500), ale zvládnete třeba 10 stran za sekundu (MC68040). Pokud budete pracovat s PostScriptem, využijete i matematický koprocesor. Pro práci s obrázky pak využijete i grafickou kartu.

TeXové společenství
Uživatelé TeXu tvoří specifickou komunitu, a tak se po celém světě soustřeďují do nekomerční organizace TUG (TeX Users Group). Československé sdružení uživatelů TeXu - CSTUG sídlí v Praze (Sokolovská 83).
Kromě známého Aminetu lze získat TeXový software na sítí Comprehensive TeX Archive Network např. na ftp.muni.cz/pub/CTAN/.

Zhodnocení
Díky tomu, že Amiga je založena na víceúlohovém operačním systému, získává práce s TeXem na Amize novou dimenzi. Možnosti práce se blíží čemusi, co lze nazvat „fázově posunutý WYSIWYG“. To znamená asi tolik, že to, co jste před chvílí upravili, můžete překládat, zatímco si prohlížíte výsledek předchozího překladu či editujete. Navíc při skoku z editoru do prohlížeče nemusíte absolvovat složité vyhledávání místa, kde jste před chvílí stáli. Prostě jen přepnete obrazovky. Přátelé s MSDOS-em vám mohou jen závidět, že se zcela obejdete bez tužky na poznámky o potřebných změnách.
Toho, kdo bude sázet na Amize, může snad jen odradit nedostatek „specificky českého“ software - např. program pro kontrolu pravopisu, převod z T602 apod.
TeX rozhodně nepatří mezi programy, které lze zvládnout za odpoledne. Avšak tomu, kdo se rozhodne obětovat část svého času nu studium TeXu, se tato investice rozhodně vyplatí. Kvalitu sazby z TeXu lze směle srovnávat kvalitou ruční sazby. A navíc - TeX je zadarmo.

Jak vznikl TeX
Když v roce 1977 dokončil profesor Donald Ervin Knuth (kterého jsme měli možnost v březnu potkat i v Praze a Brně) první díl svého monumentálního díla „The Art of Computer Programming“, byl hrubě nespokojen s výsledkem sazby své knihy, který mu v tiskárně předvedli. A protože to byl geniální programátor, rozhodl se, že vydání knihy odloží a napíše program, jenž by knihu vysázel lépe. Když byl program hotový, zjistil, že neexistuje dobrý program, v němž by si připravil složité znakové sady (s matematickými značkami, cizojazyčnými citacemi atd.). A tak se rozhodl takový program také napsat. Spolu s přítelem výtvarníkem pak připravili celou novou rodinu písem pro tento program. Aby si tuto práci usnadnil a aby nemusel složitě dodělávat dokumentaci, rozhodl se ještě napsat programátorskou nadstavbu na psaní programů společně s dokumentací.

V těchto čtyřech krocích vznikl pravděpodobně nejrozsáhlejší programátorský projekt - TeX vytvořený jediným člověkem:
1 . TeX (čti tech) - jazyk na sazbu textů.
2. METAFONT - metajazyk na vytváření znakových sad.
3. WEB - jazyk pro tzv. gramotné programování (dokumentace společně s programem).
4. Computer Modern - nová rodina písem, vytvořená programem METAFONT.



Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.

Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing