Logo GNU
Kodovani Předchozí Následující Obsah

12. TeX - Profesionální sázecí systém

TeX je sázecí systém. GNU programy ho používají k tištění dokumentace. Přesto, že to je docela starý program - jeho první verze používali již v 70. letech, je dodnes kvalita výstupu z moderních DTP jen těžko srovnatelná s výstupem z TeXu. Aby bylo možné vysvětlit proč, napřed malý úvod:

Typografie je jedna z věcí, které počítače úplně ovládly. Snad všechny texty se dnes tisknou na počítači. Bohužel programy pro sázení dělají programátoři a ne typografové a ti většinou vůbec netuší o jak složitou věc se jedná. Typografie má totiž podobný problém jako programování. Stejně jako normální člověk nepozná dobrý program, holduje Windows, a že to padá? No minulá verze padala víc! Stejně normální člověk nepozná dobře nasázený text. Stejně jako programování má svojí řemeslnou část - různé poučky, algoritmy a fígle, které dobrý programátor má umět tak, i v typografii existuje hodně podobných pouček. A stejně jako pro programování člověk potřebuje talent, aby našel lepší řešení, program správně navrhl, tak i v typografii je věc citu a vkusu jaký zvolit typ písma, navrhnout obálku atd. Dokonce i rozestupy mezi písmeny zvolí každý typograf jinak. Naštěstí pro normální text člověk tento cit až tak moc nepotřebuje. Pokud se nebude pouštět do žádných experimentů, jako jsou různé typy písma, barvy apod. a bude se držet pouček, může odvést velice kvalitní práci. Pouček je sice hodně (vyvíjely se cca 2000 let), ale alespoň ty základní mají svojí logiku a dají se osvojit asi tak za týden.

Pokud vás Vás zajímá o jaké poučky se jedná, můžete si některých z nich přečíst v následujících odstavcích. Můžete si k tomu vzít nějakou knížku, nebo časopis a pečlivě porovnávat.

Většinu lidí překvapí už třeba to, že není pomlčka jako pomlčka. Je jich hned několik. Ta nejkratší se jmenuje spojovník (hyphen) a používá se na rozdělování slov a ve slovech jako půjde-li. Ta prostřední, půlčtvrteční, je dlouhá asi jako šířka malého n. Tedy se jí anglicky říká en-dash. Ta se používá na znázornění intervalů (stránky 10--20). Ta se neodděluje mezerou a když ano, tak jen zúženou mezeru (to mi připomíná že není mezera jako mezera). Poslední pomlčka je dlouhá čtvrtečníková anglicky em-dash, ta se v anglickém textu také neodděluje, v českém se ale kolem dělají mezery. Používá se tam, kde je pomlka v řeči. (ano --- nebo ne, yes---or no). Jak vidíte, jenom pomlčky jsou slušná věda. A to nemluvím o mínusu, který vypadá úplně jinak.

Další důležitá věc je lámání řádek odstavců. Je mnoho způsobů, jak to udělat. Nejčastěji se zarovnává pravý okraj - text se protáhne nebo zahustí tak, aby to vyšlo. To když uděláte špatně, vzniknou buď neesteticky zhuštěné řádky nebo naopak hodně protažené. Protože ne každé písmeno jde protáhnout stejně, nejvíce se roztahují mezery. V anglických textech se dělá větší mezera za koncem věty než mezi slovy. Protažené mezery se ale ve výsledném textu mohou nashromáždit nad sebe, což udělá ošklivě vypadající řeky. A samozřejmě řádku nejde rozdělit všude (nejde za předložkou, mezi číslem a jednotkou, nebo třeba za iniciálou jména). Existuje mnoho způsobů, kde řádky zlomit a nejenom ten klasický, že se píše na jednu řádku dokud to jde. Posunutí takového zlomení o slovo vedle může později způsobit, že další řádky budou mnohem lepší. Také není dobré příliš často dělit slova, nebo aby končit odstavec krátkou řádkou, protože pak v textu vznikne velká mezera.

Když jednou jsou odstavce hotové, je nutné je umístit na stránku. To také není jednoduché. Stránka má působit vyváženým dojmem, text tam nemá všelijak poskakovat a má vypadat podobně, jako ta protější. Neměla by končit rozděleným slovem nebo prvním/předposledním řádkem odstavce. Nejlépe se čte, když končí koncem odstavce nebo alespoň koncem věty.

Nemělo by se v textu vyskytovat hodně různých fontů, protože většina fontů spolu dohromady nejde. Od každého fontu je často několik verzí - bold, italic, slanted apod. a tak by si člověk měl s nimi vystačit. Na každý druh textu se hodí jiný font. Například pro vědecký text se hodí fonty Times. To jsou velice pěkné, vyvážené, přehledné a čitelné fonty. Pro psaní poezie však lepe vypadá Bodoni nebo Garamond. Ve vědecké literatuře se různých fontů používá ke zvýšení čitelnosti - například důležité věci se tisknou boldem, počítačová slova neproporcionálním fontem, matematické proměnné italikou. Fonty ale musí být dobře sladěné, aby vypadaly podobně. Pro sázení matematiky existují další velmi komplikovaná pravidla, která neovládá někdy ani profesionální typograf, protože je třeba umět nejenom typografii ale i porozumět matematickým formulím. Nedoporučuje se používat například podtržený nebo inverzní text. Ani stejné fonty v různých velikostech nejsou stejné. Opravdu malé fonty (5 bodů) by měly být zjednodušené a širší, aby se zvýšila čitelnost, normální fonty už mohou být mnohem složitější a je dobré je zúžit, protože jinak vypadají špatně. Fonty nad 17 bodů už zůstávají stejné. Dobrý font není takový, na který když se normální člověk podívá, tak se mu oči rozzáří, ústa pootevřou údivem a prohlásí, že tak krásné písmeno ještě neviděl. (Gotická písmena se do manuálu moc nehodí). Dobrý font na text je většinou ten nejobyčejnější. Měl by být přehledný, neměl by se slít ani při opakovaném kopírovaní apod. Dále existují kombinace jako fi, kde při správných rozestupech tečka od i vleze do f. Ty se potom tisknou jako speciální slitky.

Asi už tušíte, že výstup z Textu602 nebo MS Wordu není to nejlepší. A tak se vrátím k TeXu. Profesor Donald E. Knuth je jedním z nejznámějších vedců zabývajících se počítači. Kolem roku 1972 pracoval na své slavné knize The Art of Computer Programming (Umění programovat). Tam se snažil shrnout své umění a je to jedna z nejlepších knih o programování, kterou by si každý programátor měl přečíst. Po vydání prvního dílu se mu nelíbilo, jak jeho knihu tisknou. Proto se zaměřil na počítačovou typografii. V té době nic jako DTP neexistovalo a tak vše vymýšlel od začátku. Typografii pečlivě prostudoval a začal pracovat.

Svůj záměr už vyjádřil v názvu. TeX je přepis řeckých písmem - tau, epsilon, chí. To je slovo, které znamená umění ale také technologii. Proto se TeX čte jako ,,tech'' .

Práci si rozdělil na tři části - metafont - program, který vygeneruje bitmapy fontů pro různé zařízení a velikosti. Navíc vygeneruje metriky (velikosti čtverečků s jednotlivými písmeny plus pružiny mezi, které udávají, jak se mají písmenka sázet do optimální, zhuštěné a roztažené řádky). Další program je TeX. Ten vezme Váš manuál a vygeneruje .dvi soubor, který obsahuje jednotlivé stránky a informace, kde má být umístěno které písmeno ve kterém fontu. Poslední je dvi driver, který má za úkol použít bitmapy fontů a vytisknout je.

V metafontu je font popsaný opravdu klasicky - tedy tahy štětcem. Používá se často proměnných a maker. A tak například změnou několika proměnných vygeneruje místo normálního Times old Roman jeho bold, nebo italic verzi. Proto verzí základního fontu je asi 70. Fonty se generují pro různé velikosti různě (změnou několika proměnných jde malé fonty vygenerovat širší a jednodušší atd). Generují se jinak na každé zařízení. Berou se v úvahu různé jeho nedostatky - třeba, že černé body jsou většinou o něco větší apod. Proto fonty vypadají nesrovnatelně lépe, než klasické vektorové, bitmapové nebo truetypové fonty. Navíc se metafont hodí pro generování obrázků.

TeX není žádný wysiwyg. Svůj dokument píšete jako program, používá ale hotová makra a styly. Jsou k dispozici celé komplikované systémy maker napsaných pro TeX (například LaTeX, AmSTeX atd), které už umí většinu typografických pravidel. Takže program potom už říká přibližně: chci psát vědeckou knihu, jmenuje se ... , autor se jmenuje ... a první kapitola zní: ... . Makra za vás udělají celou sazbu. Výsledkem je kniha s nadpisem, obsahem a třeba i indexem. Proto se tím vůbec nemusíte zatěžovat a věnovat se plně obsahu a máte jistotu obstojného výsledku. Samozřejmě, že je možné napsat další styl, ale člověk by měl umět už zmíněná pravidla, než něco takového začne. Když nechcete žádné zvláštnosti, je psaní v TeXu mnohem rychlejší, než jinde, protože většinu práce dělají makra. Výhoda také je, že pouhou změnou maker člověk může vzhled dokumentu úplně předělat.

Existuje také systém maker texinfo, které umí vygenerovat jak manual, tak hypertextový help pro EMACS, nebo HTML. Výsledný hypertextový help je potom podobný těm, které možná znáte z Borlandího IDE. Pro napsání TeXu byl vyvinut také speciální jazyk web. Ten je zajímavý tím, že funguje buď jako TeXový zdroják, takže si ho můžete vytisknout jako manual (zdroják je přece nejlepší dokumentace) nebo jako zdroják TeXu, nebo ho můžete pomocí programu web2c zkompilovat a získáte funkční program. Naučit se pracovat s TeXem trvá asi týden a stojí to za to.

Dvi - tady je práce už jednoduchá. Je to hned několik dvi driverů. Nejdůležitější jsou: dvips (převaděč do postscriptu), dvilj (driver pro laserovou tiskárnu). A samozřejmě driver, který zobrazí dvi na obrazovce, xdvi.

Abych ukázal, že TeX má všechny tyto pravidla v malíčku, udělal jsem příklad 1 . Zárověn to je ukázka, jak si TeX pěkně poradí s nízkým rozlišením - zkuste někdy zobrazit v 320x200 výstup z Wordu. Také si všimněte, jak pěkně TeX rozlámal odstavce apod.

Celý TeX je velmi dobře popsán přímo od autora v knize TeXbook. Tu doporučuji každému přečíst. Metafont je potom popsán v metafontbooku.

TeX plně podporuje češtinu a další jazyky, třeba i hebrejštinu. Na to je ale třeba úprava pro tištění zprava doleva.

TeX sice není GNU program - je starší, ale projekt web2c (překladač jazyka, ve kterém je napsán TeX do C) už je. A tak myslím, že oba projekty spolu souvisí.


Předchozí Následující Obsah

Dotazy a připomínky ohledně stránky posílejte na hubicka@paru.cas.cz