TeX
^^^
TeX je sázecí systém. Sice se netýká programování ale programy
potřebujou dokumentací (no dobře). a tak dobrý programátor musí umět
napsat i dobrý manual. Napřed ale malý úvod.
Typografie je jedna z věcí, které počítače úplně ovládly. Snad
všechny knížky a texty se dnes píšou na počítači. Bohužel programy
pro sázení dělají programátoři a ne typografové a ty ale 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 woknům 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í ma svojí řemeslnou část - různé poučky,
algoritmy a fígle, které dobrý programátor má umět tak i v
typografii existuje hodně podobých pouček. A stejně jako
programování má uměleckou část, kdy člověk potřebuje talent, aby
našel lepší řešení, program správně navrhl program i typografie je
umění. V typografii to je věc citu a vkusu. Každý typograf navrhne
jinou obálku, zvolí jiné rozestupy mezi písmeny a jiné písmo. Po
nikom nemůžeme chtít, aby dělal dobře tuhle uměleckou část. To chce
talent. Takových lidí je málo. Naštěstí na normální text člověk
tento talent až tak moc nepotřebuje. Pokud se nebude pouštět do
žádných experimentů jako jsou různá písma, barvy apod. a bude se
držet pouček může odvédst velice kvalitní práci, což je rozhodně
lepší než absolutní hnus, který je dneska tak často vidět. Poučkek
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.
Asi vás teď zajíma o jaké poučky se jedná. Tak já jich tady pár
napíšu. Můžete si k tomu vzít nějakou knížku, nebo časopis a pečlivě
porovnávat. Tak tedy začneme. (upozorňuju, že z typografie umím
jenom opravdu málo - to co potřebuju pro psaní manuálů. Tak mě
nekamenujte)
Většinu lidí překvapí už třeba to, že není - jako -. Tedy 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 šírka malého n. Tedy se
jí anglicky říka en-dash. Ta se používá na znázornění intervalů -
třeba stránky 10-20. Ta se neodděluje mezerou a když ano tak jen
zůženou mezeru ( to mi připomína ž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 minusu,
který vypadá ůplně jinak. Když se nad tím zamyslíte, zvyšuje to
přehlednost textu. Protože když se slova rozdělují, většinou není
moc místa a krátká pomlčka se hodí. Tak trátka pomlčka mezi čísly
vypadá divně. Tam kde jsou pomlky v řeči je velká pomlčka šikovná.
Další důležitá věc je lámání řádek odstavců. Je samozdřejmě
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 ale když uděláte
špatně, vzniknou buď neesteticky zhuštěné řadky 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. Tyhle protažené mezery se ale ve
výsledném textu mohou nashromáždit nad sebe což udělá ošklivě
vypadající řeky. A samozdřejmě řádku nejde rozdělit všude (nejde za
předložkou, mezi číslem a jednotkou, nebo třeba za iniciálem jména).
Existuje mnoho způsobů kde řádky zlomit a nejenom ten klasický, že
píšeme, píšeme dokud se to vejde a pak lámem. 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
odstavec končil krátkou řádkou, protože pak v textu vznikne velká
mezera.
Když jednou máme odstavce, je nutné je umístit na stránku. To
také není hračka. 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.
Měla by končit koncem odstavce nebo 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
nima vystačit. Na každý druh textu se hodí jiný font. Například pro
vědecký text se hodí Times new Roman nebo Timer old Roman. 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ěné italikem. Ty fonty ale musí být dobře sladěné
aby vypadaly podobně. Celkově dobré fonty jsou věda. Pro sázení
matematiky existují další velmi komplikovaná pravidla, které
neovládá někdy i 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ého textu a za opravdovou
prasárnu se považáje 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 tlusčí, aby se zvýšila čitelnost normální fonty už
můžou být mnohem složitější a je dobré je zúžit protože jinak
vypadají špatně. Fonty nad 17 bodů už zůstavají 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. (ano gotická písmena se do manualu 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 existuji
kombinace jako fi, kde když se dají správné rozestupy tečka od i
vleze do f. Ty se potom tisknou jako specialní slitky.
Asi už tušíte, že to co leze z Textu602 nebo MS Wordu není to
nejlepší. A tak se vrátím k TeXu. Profesor Donald E. Knuth je podle
mého názoru nejlepší počítačový vědec (nejen programátor) v celém
známém vesmíru. 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 nejlepší kniha o programování, kterou znám. Když
popisuje algoritmus nepíše jenom to dělej tak či onak, ale napíše
jak byl algoritmus objeven, jak funguje a proč, provede důkaz
správnosti a odhad časové složitosti. Potom podrobně popíše jeho
výhody a nevýhody. Po vydání prvního dílu se mu nelíbilo, jak mu
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čatku. 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, psilon, chy. 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 fonty plus pružiny mezi -
které udávají, jak se mají písmenka sázet do optimální řádky,
zhuštěné a roztažené. 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 ten má za úkol použít bitmap fontů a
vytisknout je. Teď popíšu krátce jednotlivé komponenty.
Genialita metafontu je, že font je popsaný opravdu klasicky -
tedy tahy štětcem. Používá hodně proměných a maker. A tak například
změnou pár proměných vygeneruje místo normálního times old roman
jeho bold, nebo italic verzi. Tedy verzí timese je asi 70. Fonty se
generují pro různé velikosti různé(jak jsem už říkal - malé fonty
jsou tlusčí a jednodušší apod). Generují se jinak na každé zařízení.
Započítává 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é, truetypové fonty. Navíc se
metafont hodí pro generování obrázků.
TeX - tedy sázecí systém umí většinu typografických pravidel.
Není to žádný wysiwyg. Vstup do něho je program. Ten ale používá
hotová makra a styly. Takže program je něco jako: chci psát vědeckou
knihu, jmenuje se ...., autor se jmenuje .... a první kapitola
zní:... Komplikovaná 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, že
výsledek bude dobrý. Samozdř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 udělá.
Když nechcete žádné šílenosti, je psaní v TeXu mnohem rychlejší, než
jinde, protože hodně práce dělají makra. Samozdřejmě, že počítač je
jen stroj a tak mu člověk občas musí poradit - třeba se musí sám
starat o pomlčky. Jiná výhoda je, že pouhou změnou maker člověk může
vzhled dokumentu úplne předělat. Existuje také system maker texinfo,
které umí jak dělat manual, tak generovat hypertextový help pro
emacs podobný Borlandímu. Pro napsání TeXu vyvinul také speciální
jazyk web. Ten je zajímavý, že funguje buď jako TeXový zdroják,
takže si můžete ho vytisknout jako manual (zdroják je přece nejlepší
dokumentace) nebo jako zdroják TeXu, takže ho můžete pomocí programu
web2c zkompilovat a získáte TeX. Naučit se 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řevadeč do postscriptu,
dvilj - ten tiskne na laserovce. Netiskne ale bitmapy, ale dělá
download a tak tisk je opravdu rychlý. A samozdřejmě driver, co
zobrazí dvi na obrazovce.
Abych ukázal, že TeX má všechny tyto pravidla v malíčku. Udělal
jsem příklad. 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. Taky si
všimněte, jak pěkně TeX rozlámal odstavce apod.
Celý TeX je moc dobře popsán přímo od Autora v knize TeXbook. Tu
doporučuju každému přečíst. Je k dispozici zdarma na internetu a
opravdu stojí za to. Metafont je potom posán v metafontbooku. To by
asi k TeXu stačilo.
TeX samozdřejmě plně podporuje češtinu a další jazyky..třeba i
hebrejštinu :) Na to je ale třeba úprava pro tištění z prava doleva.
TeX sice nepatří přímo do GNU - je starší, ale GNU ho dodvává na
svých CD, o jednu z jeho verzi se stará a portí ji. Většina
dokumentace je v TeXu. TeX je taky free. Ukazuje to také, že GNU
není samo, kdo se snaží dělat velké volně šiřitelné programy. Další
je třeba Berkeleyská univerzita, která dělé svůj vlastní UNIX (Free
BSD), nebo třeba X consorcium, které dělalo X - okení systém. To se
ale rozpaldo po neůzpěšném pokusu spojit X a MS Wokna. Nadále ale
existuje XFree, které se stará o volně šiřitelné verze X. Free se
dadává také tuším SCO UNIX.
výheň