Seminář o TeXu

V zimním semestru 2022/2023 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 9:00 v N6, začínáme 10. 10.

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ě, pro přihlášení do kurzu použijte token 57fc82ea3639.

datum co jsme dělali
10. 10. 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.
17. 10. Algoritmus pro sestavení boxu a výpočet badness. Jak vzniká horizontální seznam: explicitní i implicitní položky, kerning, ligatury.
24. 10. Mezislovní mezery. Automatické dělení slov. Šest módů 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.
31. 10. Jak vzniká vertikální seznam: meziřádkové mezery, topskip. Základní algoritmus plnění a zlomu stránek. Různé druhy registrů a aritmetika s nimi. Boxové registry. Práce s marky.
7. 11. \vsplit. Zlom stránek s inserty. Output routiny a jejich úskalí.
14. 11. Plainová output routina. Jak funguje \raggedbottom. Input procesor, token procesor, expand procesor.
21. 11. Expand procesor: \def, \edef a spol., \the, \csname, \string, \jobname, \noexpand a \expandafter. Podmínky, idiomy pro cykly, \loop...\repeat.
28. 11. Konstrukce \every*, \after* a \futurelet. Implementace \loop. Jak si pořídit vlastní podmínku, implementace \newif. Výroba znaku s libovolnou kategorií pomocí \uppercase. Jak se liší \begingroup, \bgroup a {. Token-listové registry. Leaders. Práce se soubory, whatsit \write. Sazba tabulek pomocí \halign a \valign.
5. 12. Detaily tabulek. Základy matematického módu.
12. 12. Plán: Matematický mód.

Literatura

Stránku spravuje Martin Mareš