mamweb/tvorba/templates/tvorba/archiv/tituly.tex
2025-10-04 14:28:28 +02:00

42 lines
1.7 KiB
TeX

{% if cislo is None %}
\ifmmposledni\else\AtBeginDocument{\TODO[Importoval jsi tituly posledního čísla do čísla, které není poslední (v headru nebylo \texttt{documentclass[\ldots,posledni]\{mam\}})! Pokud je to tak správně, smaž tento řádek v \texttt{tituly.tex}.]\par}\fi
{% else %}
\ifmmposledni\AtBeginDocument{\TODO[Importoval jsi průběžné tituly do posledního čísla (v headru bylo \texttt{documentclass[\ldots,posledni]\{mam\}})! Pokud je to tak správně, smaž tento řádek v \texttt{tituly.tex}.]\par}\fi
\ifnum\mmcislo=0{{cislo|add:1}} \else\AtBeginDocument{\TODO[Číslo titulů se neshoduje s pořadovým číslem čísla! Nestáhnul jsi špatné tituly? Pokud je to tak správně, smaž tento řádek v \texttt{tituly.tex}.]\par}\fi
{% endif %}
{% if broken %}
POZOR! Kolize jmen! Dva řešitelé mají stejné makro!
{% endif %}
{% autoescape off %}
{% load tex %}
\ExplSyntaxOn
\char_set_catcode_other:n{32}% Odsud dál do \char_set_catcode_space:n{32} nesmí být za žádnou cenu jiná mezera (tj. i zlom řádku) než ty mezi jménem a příjmením
\prop_const_linked_from_keyval:Nn\g_tituly%
{%
{% for r in resitele %}{{r|sloz}}={\titul{{r.titul|sloz}}},%
{% endfor %}}%
\char_set_catcode_space:n{32}
\DeclareDocumentCommand\Titul{mO{#1}}{%
\prop_if_in:NnTF\g_tituly{#1}%
{\prop_item:Nn\g_tituly{#1}}%
{\ClassError{mam}{Titul pro #1 nenalezen!}{}}%
#2%
}
\ExplSyntaxOff
{% for r in resitele %}
{% if r.titul == '' %}
{% spaceless %}
\def\{{r.ascii}}{}
{% endspaceless %}
{% else %}
{% spaceless %}
\def\{{r.ascii}}{\titul{{r.titul|sloz}}\relax}
{% endspaceless %}
{% endif %}
{% endfor %}
{% endautoescape %}