[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