Cislo posledni stranky
Stepan Kasal
kasal at matsrv.math.cas.cz
Tue Nov 6 19:24:15 CET 2001
Dobry den!
> Polach Josef pí¹e:
> > \newwrite\last
> > \immediate\openout\last=last.tex
> > \write\last{\the\pageno}
Problem s tim, ze ten soubor je otevreny, by mel resit
\closeout\last
Musite mit ale bud vse \immediate (tedy i \write), nebo nic.
Vy ten soubor otvirate ihned pri zpracovani textu (\immediate),
ale \write se provede az pri vysypani (\shipout) hotove stranky
do dvi souboru.
Tedy jedna moznost je dat na konec, za veskery text:
\newwrite\last
\openout\last=last.tex
\write\last{\the\pageno}
\closeout\last
a vsechno se to provede pri zapisu posledni strany do dvi,
tedy az pote, co jste provedl posledni \input last pro
zahlavi posledni strany.
Druha moznost je mit vsechno \immediate, ale dat si pozor, aby se
to provedlo az pote, co je vysazena posledni stranka.
Treba takto:
% do \bye pridame \writelast
\outer\def\bye{\par\vfill\supereject\writelast\end}
%
\def \writelast {\relax % pro jistotu
\immediate\openout\last=last.tex
\immediate\write\last{\the\pageno}
\immediate\closeout\last}
%
\newwrite\last % je to \outer, tak to musi but mimo makro
Omlouvam se, netestovano. Ale snad to i tak poslouzi k inspiraci.
Reseni pana Kubena bude jiste (take) fungovat, ale moje
komentare snad lepe osvetli, co se ve Vasem TeXu delo.
Zabavnou praci preji,
Stepan Kasal
More information about the csTeX
mailing list