Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

TeX pro každého - co přichází s TeXem

TEX je sázecí systém, který umožňuje vytvářet dokumenty složité struktury i vysoké typografické kvality. V dnešním prvním dílu se dozvíme, co vlastně TEX je a co všechno získáme při jeho instalaci.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Vznik TEXu

U kolébky TEXu stojí jediný člověk – Donald Ervin Knuth. Tvrdí se, že když někdy kolem roku 1977 přišel do tiskárny, aby provedl korekturu prvního dílu své knihy The Art of Computer Programming, byl hrubě nespokojen s kvalitou sazby. Když se dozvěděl, že nic lepšího neexistuje, rozhodl se, že vydání jeho knihy o rok počká a že takový program napíše. Ukázalo se, že projekt je velký a že vzniklý kód by mohl být nepřehledný. Proto nejdříve vznikl systém pro gramotné programování (a dokumentaci) – web. Pak teprve spatřil světlo světa nový sázecí systém – TEX. Ani písma se Knuthovi nelíbila. Bylo však třeba kvalitních vědeckých písem, a proto vznikl systém pro návrh písem METAFONT a v něm pak celá rodina písem Computer Modern. Více než desetiletou práci zakončil Knuth v roce 1990, kdy dokončil podporu osmibitových kódování a technologii virtuálních písem. Poté vyhlásil vývoj TEXu za dokončený a vrátil se k práci na The Art of Computer Programming. K TEXu se vrací jednou za rok, aby opravil chyby, pokud byly během uplynulého roku nějaké nalezeny. Při každé takové opravě přidá jednu číslici k verzi (naposledy se tak stalo před sedmi lety, takže dnes pravděpodobně používáte verzi 3.14159; loňská oprava se nepočítá, neboť se týkala pouze dokumentace). Odměna vypsanáAmerickou Matematickou Asociací za nalezení další chyby je 327,68 dolarů. Podobně D. E. Knuth čísluje i METAFONT – jeho verze je dnes 2.718.

TEX je zřejmě jediným systémem, který vám v dnešní době může zaručit, že dokument bude možné ze stejných podkladů vysázet i za padesát let.

Zdrojový kód TEXu je uložen v jediném souborutex.web, jehož velikost je něco málo přes jeden megabajt. Je tak zřejmě dodnes největším programovým monolitem.

I licence TEXu je zajímavá – šíření souboru tex.web je povoleno (1) pokud jste D. E. Knuth, nebo pokud (2) ve své kopii neprovedete absolutně žádnou změnu. Pro případnou modifikaci kompilovaného kódu jsou v systému web k dispozici nástroje, které umožňují provádět změny v pomocném souboru, aby hlavní soubor zůstal nedotčen.

Názvem TEX se často označuje kompletní instalace TEXového prostředí. Ta se skládá nástrojů pro manipulaci s písmy a virtuálními písmy, nástrojů pro generování bitmapových instancí písem, nástrojů pro manipulaci s metrikami písem, ze systému pro popis písem METAFONT, z vlastního programu TEX, dnes většinou i ve třech jeho dnes používaných rozšířeních – ε-TEX (eTEX), pdfTEX, Ω (Omega), maker se základními nadstavbami TEXu – plain TEX, LaTEX a ConTEXt, systému pro tvorbu písem – METAFONT, balíků maker pro TEX i METAFONT a z volně šiřitelných písem. Dále jsou dostupné i prohlížeče TEXových výstupů – třeba XDvi, ovladače pro generování výstupních formátů – dnes nejčastěji používaným je dvips pro PostScript. Pokud se jedná o programátorskou instalaci, naleznete ještě nadstavbu web (dnes spíš web2c), pomocí níž se TEX kompiluje.

To všechno dohromady tvoří základ pro práci s TEXem. V distribucích Linuxu nalezneme základní sestavu písem a maker pro běžné činnosti a jazyky. Pokud chceme více, nalezneme to hlavně v archivech CTAN. Sdružení uživatelů TEXu pravidelně vydávají celé TEXové CD, které uspokojí i zájemce o sazbu exotických jazyků, hieroglyfů či not.

Jak to všechno funguje?

Předpokládejme, že chceme vysázet v TEXu nějaký dokument. K tomu potřebujeme napsat zdrojový dokument v TEXu s příponou .tex. Na něj se spouští program zvaný virtex (většinou pomocí symbolických odkazů jakotex, latex apod.) nebo některá rozšířená verze TEXu. Ta si načte nastavení a poté soubor zvaný formát, což není nic jiného než předzpracovaná sbírka TEXových maker vhodná k rychlému natažení. Jeho přípona je .fmt a k jeho vytvoření se používá program initex, který se liší od virtexu jen v několika málo ohledech. Při vytváření formátu, ale také při vlastní práci TEXu, si můžeme vyžádat vložení dalšího souboru, například části dokumentu nebo souboru maker. Rozsáhlejší skupiny souborů s makry použitelné v jednom systému (a většinou i najednou) se nazývají nadstavby. Absolutní většina dokumentů používá nějaké nadstavby TEXu.

To však není jediné, co TEX potřebuje. Další nezbytností jsou písma. Samotný TEX se však nestará o to, jak takové písmo vypadá. Proto TEX nenačítá samotná písma, ale pouze informaci o šířkách a výškách písmen, ligaturách a podřezávacích párech, sklonu a dalších hodnotách. Tato souhrnná informace o písmu se nazývá metrika. V případě TEXu má příponu .tfm.

Písma se dnes většinou vyskytují v několika běžných formátech – Truetype, Type1 a Type3. Nezbytnou součástí TEXu jsou tedy převodníky metrik.

K TEXu ovšem neodmyslitelně patří vlastní formát písem. METAFONT však není pouze formát písem, jde o celý programovací jazyk a přes svou letitost zůstává nejsilnějším nástrojem pro popis písem. Zatímco ostatní formáty mohou popsat pouze obrys nebo středovou linii tahu, METAFONT umožňuje popsat tvar pera a jeho změny způsobené dynamikou tahu. Také možnost parametrizace písma je úžasná. Zatímco konkurenční systémy zápasí s Multiple Master formáty s jedním či dvěma stupni volnosti, běžné METAFONTové písmo jich mívá přes půl stovky. Zřejmě i proto byla většina pokusů o strojový převod písem z METAFONTu do jiného formátu nepříliš úspěšná.

Struktura práce s METAFONTem se podobá TEXu – máme tedy inimf, soubor s formátem s příponou .base, a běžně volaný virmf. Výsledkem práce METAFONTu však není nějaký zjednodušený vektorový popis, ale metrika a bitmapová instance písma pro příslušnou velikost a výstupní zařízení. Ta má příponu .gf a většinou se před použitím zkomprimuje speciálním programem a uloží do keše s příponou .pk. Je třeba si uvědomit, že rastrování pomocí METAFONTu je časově poměrně náročné a systém vznikal v době, kdy i i386 byla ještě hudbou budoucnosti a vyrastrování písem pro průměrný dokument trvalo několik hodin.

METAFONT se natolik zalíbil Johnu D. Hobbymu, že na jeho základě napsal METAPOST, program na kreslení postscriptových obrázků pomocí konstrukcí podobných METAFONTu.

V moderních TEXových instalacích nalezneme poměrně propracovaný systém generování písem a metrik na žádost, díky němuž se obejdeme bez předrastrovaného archivu běžných písem.

Pokud použitým rozšířením TEXu nebyl pdftex, získáme po skončení práce TEXu (kromě pomocných souborů) soubor DVI (DeVice Independent). Je to soubor, který popisuje, kam se TEX rozhodl umístit texty. Kromě toho může obsahovat speciální značky pro výstupní zařízení, jejichž pomocí se do TEXu implementují barvy, podpora obrázků, postscriptové funkce a další.

Tento soubor si již můžeme přímo prohlédnout DVI prohlížečem. Často jej však použijeme jako vstup převodníku do výstupního formátu. Může jím být PostScript (pomocí dvips), ale také soubor PCL či faxový dokument.

Tím jsme cestu TEXového dokumentu uzavřeli.

V distribuci však najdeme různé pomocné nástroje. Již jsem zmínil automatické generování bitmap a metrik na žádost. Nelze však zapomenout ani na systém pro vyhledávání požadovaných souborůkpathsea, různé konvertory, bibliografické nástroje, typografické pomůcky (například pro zákaz zlomu řádku po jednopísmenných předložkách v češtině) a nástroje pro ladění.

Poslední skupinu tvoří nástroje pro kompilaci TEXu a dalších programů ze souborů .web.

Příště se začneme věnovat blíže jednotlivým součástem TEXové distribuce.

Školení: Hackujeme operační systém Android

 

Školení vám ukáže, jak se dostat k Linuxu (tzv. "rootování"), který se pod hezkou tváří Androida skrývá a jak ho naplno využít. Pomůže vám to při záloze dat, zvětšování prostoru pro aplikace nebo sdílení připojení k internetu a pokud chcete z telefonu dostat opravdové maximum, ukážeme vám, jak v něm vyměnit kompletní systém za lepší.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,63

Přehled názorů

skvele
Jirka Bohac 14. 10. 2002 01:05
Nový
verze
Lukas 14. 10. 2002 10:23
Nový
└ 
Re: verze
Pichi 14. 10. 2002 10:58
Nový
 
└ 
TeXtament (Re: verze)
Jan Serak 14. 10. 2002 11:47
Nový
SLT 2002
Jiří Matyáš 14. 10. 2002 12:29
Nový
super uz sa tesim
Rado Bonk 14. 10. 2002 13:41
Nový
Donald Knuth
xChaos 14. 10. 2002 15:45
Nový
├ 
Re: Donald Knuth
Petr Mach 14. 10. 2002 15:56
Nový
├ 
Re: Donald Knuth
Vítězslav Novák 14. 10. 2002 16:09
Nový
│
└ 
Re: Donald Knuth
xChaos 15. 10. 2002 02:00
Nový
│
 
├ 
Re: Donald Knuth
matous cervenka 15. 10. 2002 08:49
Nový
│
 
├ 
Re: Donald Knuth
Vítězslav Novák 15. 10. 2002 09:21
Nový
│
 
└ 
Re: Donald Knuth
Petr Mach 16. 10. 2002 12:18
Nový
└ 
Re: Donald Knuth
cronin 14. 10. 2002 18:52
Nový
 
└ 
Re: Donald Knuth
xChaos 15. 10. 2002 01:51
Nový
 
 
├ 
Re: Donald Knuth
sapo 15. 10. 2002 07:40
Nový
 
 
├ 
Re: Donald Knuth
Josef 15. 10. 2002 08:01
Nový
 
 
├ 
Re: Donald Knuth
EsoRimmer 15. 10. 2002 08:59
Nový
 
 
└ 
Add: TeX prec z Linuxoveho servera
cronin 15. 10. 2002 18:59
Nový
office jsou nepouzitelne
uzivatel 15. 10. 2002 09:27
Nový
PS rulez
Karel 15. 10. 2002 09:57
Nový
└ 
Re: PS rulez
Pasik 16. 10. 2002 17:54
Nový
 
└ 
Re: PS rulez
Karel 18. 10. 2002 14:58
Nový
 
 
├ 
Re: PS rulez
Pasik 22. 10. 2002 20:01
Nový
 
 
└ 
Re: PS rulez
MJ 11. 1. 2003 10:32
Nový
:-)
Petr Cernoch 15. 10. 2002 10:42
Nový
├ 
Re: :-)
matous cervenka 15. 10. 2002 13:45
Nový
└ 
Re: :-)
Jirka Kosek 15. 10. 2002 13:52
Nový
 
└ 
Re: :-)
Petr Cernoch 15. 10. 2002 16:18
Nový
 
 
├ 
Re: :-)
matous cervenka 15. 10. 2002 16:30
Nový
 
 
│
└ 
Re: :-)
Jindřich Marek 16. 10. 2002 09:30
Nový
 
 
└ 
Re: :-)
Ondra 15. 10. 2002 20:59
Nový
 
 
 
└ 
Re: :-) (Emacs a písmenko ž)
Anonymous 30. 12. 2005 00:44
Nový
moje: pro a proti
Vojtech Zacek 15. 10. 2002 16:00
Nový
└ 
Re: moje: pro a proti
Jirka Kosek 15. 10. 2002 16:18
Nový
 
└ 
Re: moje: pro a proti
matous cervenka 15. 10. 2002 17:02
Nový
 
 
└ 
Re: moje: pro a proti
Jirka Kosek 16. 10. 2002 10:54
Nový
TeX & version control
tomas 15. 10. 2002 20:03
Nový
utf8
jozko puciq 16. 10. 2002 01:35
Nový
├ 
Re: utf8
Jindřich Marek 16. 10. 2002 09:43
Nový
└ 
Re: utf8
Petr Mach 16. 10. 2002 13:36
Nový
 
└ 
Re: utf8
Jiri Matyas 11. 1. 2003 10:53
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem