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ě.
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. | Matematický mód. Detaily viz Appendix G Illuminated od Bogusława Jackowského. |
19. 12. | Seminář pro nemoc odpadá. |
2. 1. | Usazení displayed matematiky. Fonty a jejich metriky, primitiva pro přepínání fontů. Rozšíření TeXu: TeX-XeT, mlTeX, encTeX, ε-TeX, pdfTeX, XeTeX, LuaTeX, LuaHBTeX a další příbuzní. |
Literatura
- Minulý ročník semináře
- Donald Knuth: The TeXbook. (Addison-Wesley Professional, 1984, ISBN 0201134489)
- Donald Knuth: TeX: The Program. (Addison-Wesley Professional, 1986, ISBN 0201134373)
- Petr Olšák: TeXbook naruby. (2. vydání, Konvoj, 2001, ISBN 8073020076)