Seminář o TeXu

V zimním semestru 2024/2025 vedeme s Vladanem Majerechem Seminář o TeXu. Spíš než uživatelskému pohledu na TeX se věnujeme tomu, jak TeX funguje uvnitř, jaké algoritmy používá a jak ho přiohnout pro různé méně obvyklé účely. Také se chceme zabývat různými rozšířeními TeXu, jako je pdfTeX a LuaTeX. Seminář opakujeme jednou za dva roky.

Seminář se koná v pondělky od 10:40 v S10.

Dotazy a připomínky prosím posílejte e-mailem na tex@ucw.cz.

Zápočet si vysloužíte za získání aspoň 7 bodů z domacích úkolů. Úkoly se odevzdávají v Poštovní sově, přihlašte se zde.

datum co jsme dělali
30. 9. Jak TeX interaguje s okolím. První představení algoritmu na odstavcový zlom. Výpočet demerits a odstavcový zlom jako nejkratší cesta v grafu. Algoritmus pro sestavení boxu a výpočet badness.
7. 10. Sesazování vertikálních boxů. Jak vzniká horizontální seznam: explicitní i implicitní položky, kerning, ligatury. Mezislovní mezery. Automatické dělení slov.
14. 10. Šest módů hlavniho procesoru a přechody mezi nimi. Automatické mezery v řádkových boxech: indent, left/right-skip, parfillskip. Tvarování odstavců: hangindent, parshape a looseness. Jak vzniká vertikální seznam: parskip, penalty, meziřádkové mezery, topskip. Základní algoritmus plnění a zlomu stránek.
21. 10. Různé druhy registrů a aritmetika s nimi. Boxové registry. \vsplit. Zlom stránek s inserty. Práce s marky. Viz též reklamní letáček.
28. 10. Seminář se nekoná. Vyberte si svůj svátek.
4. 11. Output routiny a jejich úskalí. Plainová output routina. Jak funguje \raggedbottom. Input procesor a token procesor.
11. 11. Expand procesor: \def, \edef a spol., \the, \csname, \string, \jobname, \noexpand a \expandafter. Konstrukce \after*. Podmínky.
18. 11. Idiomy pro cykly, \loop...\repeat. Jak si pořídit vlastní podmínku, implementace \newif. Výroba znaku s libovolnou kategorií pomocí \uppercase. Konstrukce \every* a \futurelet. Jak se liší \begingroup, \bgroup a {. Token-listové registry. Práce se soubory, whatsit \write.
25. 11. Leaders. Sazba tabulek pomocí \halign a \valign. Základy matematického módu.
2. 12. Matematický mód. Detaily viz Appendix G Illuminated od Bogusława Jackowského. Usazení displayed matematiky.
9. 12. Fonty a jejich metriky, primitiva pro práci s fonty. Sazba postscriptovými a TrueType fonty. Rozšíření TeXu: TeX-XeT, mlTeX, encTeX, ε-TeX, pdfTeX, XeTeX, LuaTeX, LuaHBTeX, LuaMetaTeX a další příbuzní.
16. 12. Plán: Podrobněji o encTeXu a ε-TeXu. Mikrotypografická rozšíření pdfTeXu. UNIXová instalace TeXu a TeXlive, jak se používá kpathsea.

Literatura

Stránku spravuje Martin Mareš