Důležité upozornění!

Policie České republiky a šéfcensor Ústavu pro studium totalitních režimů Jaroslav Čvančara varují: citovat jakékoli texty z tohoto blogu způsobuje vážné risiko trestního stíhání! Četba na vlastní nebezpečí!

Minulé dva týdny, nemaje nic lepšího na práci, věnoval jsem se snaze zvládnout TeX (o bolestném přechodu na kterýž jsme psali zde) na vyšší úrovni, resp. doučit se v něm vše, co jsem dosud neovládal a ovládnout toužil. Po roce a čtvrt užívání jsem se stal z uživatele spokojeného uživatelem nadšeným, přesvědčeným o tom, že v TeXu se dá pracovat daleko lépe než v jakémkoli textovém procesoru (promiň, LibreOffice Writere!), ale co víc, že mnohé věci, které v něm standardně provádím, by nezvládly ani sázecí systémy, včetně těch nejdokonalejších. Dokument v TeXu není pouhým textem doplněným formátovacím markupem, ale je to plnohodnotný počítačový program.

Dva příklady (k nimž přiberme pro demonstraci tento, po stránce obsahu čtenářům již arci dobře známý dokument):

1. Lidem aspoň minimálně orientovaným v programování nemusím vysvětlovat, že mnohé z toho, co se jeví být obsahem podání, je generováno z databasí nebo z maker uvedených na začátku dokumentu: název a adresa soudu a účastníků, judikáty, včetně citací v originále i v překladu, latinské frase, ustálené obraty typu ve znění pozdějších předpisů atd.

Automatisovaně se generuje i tabulka příloh na konci dokumentu. Stačí, když do příslušného místa v textu napíšu příkladmo \evide{nesmyslný dopis úředníka \zd06012015, \čj MS-6/Blb/2015}, a TeX vygeneruje jak tabulku důkazů (kam doplní – v příloze), tak vloží dokument do závěrečného číslovaného seznamu příloh.

Ale co se situací, když je v tabulce kursiva, např. originál obrazu Alfonse Muchy Princesna Hyacintha, bez rámu? Kdysi ve Writeru to bylo neřešitelné, v TeXu jsem si naprogramoval, že značka kursivy v takové situaci přepne na normální písmo, jak to má podle typografických zásad být. A celé to je naprogramováno jako stavový automat, takže mohu kursivu zapínat a vypínat, v kolika chci úrovních, a mohu kombinovat různé stupně vyznačování: třeba aby první \bf zapnul polotučné písmo, druhý ho změnil na tučné: obsahuje-li judikát kursivou vyznačenou citaci, mohu ji bez problémů použít i v kursivou provedené části, bude z ní obyčejná antikva, a pokud chci zdůraznit část judikátu polotučně, vytvořím si na to zvláštní značku, kterou si podle momentálně potřeby buď zapnu nebo vypnu.

2. Jiným problémem je správné umisťování odkazů na poznámky pod čarou. Pokud po odkazu následuje interpunkční znaménko (přesněji čárka, tečka, dvojtečka nebo středník), mělo by se podle typografického usu a bontonu číslu poznámky předsazovat. To není problém, pokud se značka zapisuje ručně, ale většina poznámek pod čarou v mých dokumentech je generována jako součást odkazu na judikát, jedinou dvojicí maker. Např. napíšu rozhodnutí \judAF\judrl, a TeX vyhledá judikát a vypíše mi rozhodnutí ze dne 24. dubna 2013, sp. zn. 30 Cdo 3279/2012, ECLI:CZ:NS:2013:30.CDO.3279.2012.1 (včetně toho, že dvojtečky a tečky v kodu ECLI budou umožnovat dělení na konci řádku, s tím, že se – na rozdíl od běžného spojovníku – na novém řádku zopakují) a připojí odkaz na poznámku pod čarou s příslušným hyperlinkem.

A teď to podstatné: pokud za tímto textem bude následovat jeden z oněch čtyř znaků, TeX ho automaticky číslu předřadí a jde-li o čárku nebo tečku, ještě navíc posune odkaz na poznámku vlevo, takže bude fakticky nad ní.

Ač jsem původně pochyboval, že by něco takového šlo, zjistil jsem, že pro TeXovské makro není ani takové zadání neřešitelnou úlohou:


Výsledkem je správně vysázený odkaz: a ani to nebolelo, jen to chtělo chvíli přemýšlení. A teď, moji milí, sem s textovými procesory nebo sázecími programy, které to také umějí!

Komentáře   
0 # Anonymní 2015-01-06 11:49
No výborně! A teď to celé vezměte a vysvětlete sekretářce:)
BTW, vše nejlepší v Novém roce

cnemo
0 # Tomáš Pecina 2015-01-06 12:04
Sekretářka je díky TeXu už dávno na úřadu práce.

Všechno nejlepší i vám!
0 # Anonymní 2015-01-06 12:40
Mate muj respekt, jste jeden z mala lidi, ktere znam, kdo pise v cistem TeXu (jestli to tedy chapu spravne a pouzivate cisty TeX). Ty makra atd. mate udelana solidne, dokonce i vykopirovani textu z toho pdf docela dobre funguje, cehoz obcas neni tak snadne docilit. Sam obycejne pouzivam LaTeX, protoze TeX je na me prilis "hardcore". Ovsem i tak s nim obcas zapasim, treba nedavno problem s cestinou a cline. To je proste dan za obvykle bezproblemove pouzivani, s kterou se musim smirit.
0 # Tomáš Pecina 2015-01-06 14:43
Mate muj respekt, jste jeden z mala lidi, ktere znam, kdo pise v cistem TeXu (jestli to tedy chapu spravne a pouzivate cisty TeX).

Děkuji. Používám plain, což je zřejmé i z ukázky: lap je plainovské makro. V úplně čistém TeXu se píšou jen formáty, není k tomu jinak důvod, protože plain vás v ničem neomezuje (což je rozdíl oproti LaTeXu) a lap nebo vglue by si člověk stejně dopsal v podstatě identickým způsobem.

Ty makra atd. mate udelana solidne, dokonce i vykopirovani textu z toho pdf docela dobre funguje, cehoz obcas neni tak snadne docilit.

Tak to má zrovna XeTeXový driver nedotažené, protože specifikace PDF podporuje již několik versí sémantiku, mj. kvůli copy-and-paste, a není využívána. Ale i tak je to podstatně lepší než u nejmenovaných konkurenčních produktů, včetně komerčních, které vám zkopírují i soft hypheny.
0 # Anonymní 2015-01-06 16:18
Jee tady se teď píše Španělsky nebo Latinsky či co?! Né Vážně respektuji že se v compiuter world vynate.Pro mě je to Španěská vesnice. Jinak pane
0 # jgIII 2015-01-06 21:57
"jak to má podle typografických zásad být" a kde jsou napsány ty zasády?
0 # Tomáš Pecina 2015-01-06 23:44
V knihách o typografii. Vyšla jich i česky řada.
0 # Anonymní 2015-01-07 11:00
Ještě si prosím opravte onu "diakritiku" ve formě teček, čárek, dvojteček a středníků na interpunkci, abychom ty knihy nemuseli začít pálit nebo zakazovat, nebo nedejbože znalecky zkoumat.
0 # Tomáš Pecina 2015-01-07 12:28
Díky, opraveno.
0 # Anonymní 2015-01-12 21:54
A programování v Latexu pana Pecinu natolik vytížilo, že již ničehož jiného nestačí vytvářet ��

Petr V
0 # Tomáš Pecina 2015-01-12 23:12
Je čas rodit se a čas umírat, čas sázet a čas sadbu vytrhat, čas zabíjet a čas uzdravovat, čas bořit a čas budovat, čas plakat a čas se smát, čas rmoutit se a čas tancovat, čas házet kamení a čas kamení sbírat, čas objímat a čas objímání zanechat, čas hledat a čas pozbývat, čas chovat a čas odmítat, čas trhat a čas sešívat, čas mlčet a čas povídat, čas milovat a čas nenávidět, čas boje a čas pokoje.

K čemuž dodávám: čas psát na blog a čas pracovat.
0 # Anonymní 2015-01-16 09:54
To jste někde zkopíroval, že jo :-) ?

Petr V
0 # Anonymní 2015-01-16 10:13
no jo, přiznávám... blbej comment :-( (tak asi smazat pls)...
Petr V

Komentovat články mohou pouze registrovaní uživatelé; prosím, zaregistrujte se