[cstex] Mechanizmus \AtEndDocument a zalomení stránky v appendixu
Jaroslav Hajtmar
hajtmar at gyza.cz
Mon May 20 13:01:14 CEST 2019
Děkuji pane Wagnere za funkční řešení. Pevně nastavená hodnota by mi opravdu asi nedala spát! :-)
Jen dodávám, že pokud dám \label{konec} těsně před \end{document}, tak to řešení nefunguje! Pokud jej ovšem dám před část s přílohami (což mi nevadí, protože rozsah je bez příloh), pak to funguje! Jupííí
Problém asi způsobuje mechanizmus pro sazbu appendixu, který je v kolizi s číslováním ve footer nastavených šablonou...
tj. toto řešení funguje:
\label{konec}
\newpage
\listofappendices
\addcontentsline{toc}{chapter}{Seznam příloh}
\pagestyle{empty}
\cleardoublepage
\input{SeznamPriloh}
\end{document}
zatímco toto řešení nikoliv:
\newpage
\listofappendices
\addcontentsline{toc}{chapter}{Seznam příloh}
\pagestyle{empty}
\cleardoublepage
\input{SeznamPriloh}
\label{konec}
\end{document}
Ještě jednou mnohokrát díky všem, kteří se mojí kratochvílí zabývali… :-)
Jarda Hajtmar
> 20. 5. 2019 v 12:14, Zdenek Wagner <zdenek.wagner at gmail.com>:
>
> Jsou stránky číslovány i jinak než jen arabskými číslicemi? Pokud ne,
> dal bych na poslední stránku \label a počet stran se spočítá jako
> \pageref. Podle toho, že se používá \thepage, soudím, že se nic jiného
> než arabské číslice nepoužívá. Do preambule bych tedy dal:
>
> \let\spocitejstranky\relax
> \def\pocetstran{\pageref{konec}}
>
> A těsně před \end{document} \label{konec}. Hook \AtEndDocument může
> někdy být spuštěn v okamžiku, kdy je na zápis do aux již pozdě a
> systém \label + \pageref by měl fungovat spolehlivě.
>
> Zdeněk Wagner
> http://ttsm.icpf.cas.cz/team/wagner.shtml
> http://icebearsoft.euweb.cz
>
> po 20. 5. 2019 v 11:29 odesílatel Jan Sustek <Jan.Sustek at seznam.cz> napsal:
>>
>> Bez konkretniho zdrojaku s minimal example a zdrojaku classu tezko rict, kde je chyba. V tuto chvili navrhuji natvrdo po nacteni classu dat napr.
>> \def\pocetstran{63}
>> Honza
>> ---------- Původní e-mail ----------
>> Od: Jaroslav Hajtmar <hajtmar at gyza.cz>
>> Komu: Czech and Slovak TeX-related mailing list <csTeX at cs.felk.cvut.cz>
>> Datum: 20. 5. 2019 11:02:00
>> Předmět: [cstex] Mechanizmus \AtEndDocument a zalomení stránky v appendixu
>>
>> Dobrý den.
>> Ještě něco ve stylu: “Vy nás ale zásobujete, pane Karfík….” :-)
>>
>> Finálně zápasím se sazbou příloh LuaLaTeXem v rámci pomoci bývalému studentovi se sazbou diplomky. Pokouším se zjistit záhadné chování LuaLaTeXu, které je zřejmě způsobeno:
>>
>> a) buď mou neznalostí LaTexu
>> b) nebo chybou v předložené šabloně pro sazbu diplomových či bakalářských prací
>> c) nebo nějakou kolizí mnou přidaných balíčků
>> d) kombinací výše uvedeného
>>
>> V šabloně je část kódu, který automaticky sází v úvodu diplomky text, ve kterém je mj uveden počet stránek diplomové práce.
>>
>>
>> Závěrečné řádky šablony, které jsou odpovědné za tuto činnost jsou podle mne tyto:
>>
>> \makeatletter
>> \def\spocitejstranky{
>> \protected at write\@auxout{}{\string\gdef\string\pocetstran{\thepage}}%
>> }
>> \makeatother
>>
>> \AtEndDocument{\spocitejstranky}
>>
>>
>> Vše fungovalo správně do doby, než jsem se pokoušel přidat vysázení příloh. Zkoušel jsem řadu variant:
>>
>> - Pokud sázím přílohy makrem \appendix bez použití makra \appendixpage, výpočet počtu stran proběhne OK.
>> - Pokud se pokouším použít prostředí \begin{appendices} … \end{appendices}, tak výpočet počtu stran se nekoná...
>> - Pokud použiji \appendix s makrem \appendixpage pro sazbu prázdné stránky s nadpisem uprostřed “Přílohy”, tak počítání stránek přestane fungovat (test existence makra \pocetstran v šabloně vysází dva otazníky).
>> - Když už jsem se rozhodl, že oželím stranu sázenou pomocí \appendixpage a udělám ji “ručně”, tak jsem zjistil, že jakékoliv použití \newpage, \pagebreak, \clearpage, \cleardoublepage atd… způsobí, že se počet stran nespočítá….
>>
>> V tuto chvílii jsem rozhodnutý, že asi “prasácky” natvrdo do šablony zapíšu celkový počet stránek diplomky a nebudu se s tím párat, nicméně by mne zajímalo, jaký je vztah maker pro zalomení stránky s makrem \AtEndDocument, které se evidentně správně nevolá a tím pádem se počet stránek nespočítá…
>>
>> Doufám, že již na další překvapení nenarazím :-)
>> Ještě jednou se omlouvám za začátečnické dotazy...
>>
>> Díky mnohokrát
>> Jarda Hajtmar
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
More information about the csTeX
mailing list