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