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φ.
Dotazy a p°ipomφnky ohledn∞ strßnky posφlejte na hubicka@paru.cas.cz