Kapitola "na zlom stranky" <-> obsah - cislo stranky - vyreseno
Hans Ginzel
hans at kolej.mff.cuni.cz
Thu Sep 19 22:56:18 CEST 2002
> TBN bohuzel nevlastnim, ale budu si ho muset konecne nekde sehnat.
http://math.feld.cvut.cz/olsak/tbn.html, možná se dá ještě někde
koupit (U Marečka na MUNI v Brně ?).
> Mam nastudovany jen Jemny uvod do TeXu.
Ideální stav pro pokračování četbou TBN.
Můžete se přímo podívejte do zdrojového kódu, kterými byly knihy
Typografický systém TeX a TeXbook naryby vysázeny:
ftp://math.feld.cvut.cz/pub/olsak/tst/
ftp://math.feld.cvut.cz/pub/olsak/tbn/
Já používám pro generování obsahu:
\let\ea=\expandafter
%% TBN [191] Vhodná alternativa k definici \, z plainu
\def\,{\relax \ifmmode \mskip\thinmuskip \else \leavevmode\thinspace \fi}
\def\filskip{\vskip0pt plus 5\baselineskip \penalty-100
\vskip0p plus-5\baselineskip}
\def\subkapitola #1 \par{\par
\removelastskip \filskip \bigskip \vskip\parskip
\advance\secno by1
\noindent {\bf \the\kapno.\the\secno. #1}\par
\iftoc \tocwrite\sectocline{\the\kapno.\the\secno}{#1}\fi
\nobreak\medskip}
%...
\newwrite\tocout
\newif\iftoc
\newbox\tocbox \setbox\tocbox=\hbox{\kaptocfont 88}
\def\maketoc{\openout\tocout=\jobname.toc \toctrue}
\def\tocwrite#1#2#3{\edef\temp{\noexpand#1{#2}}%
\write \ea \tocout \ea {\temp{#3}{\the\pageno}}}
\def\sectocline#1#2#3{\line{\sectocfont
#1~#2\,\leaders\hbox to8pt{\hfil.\hfil}\hfill
\,\hbox to\wd\tocbox{\hss #3}}}
A nerobustní sekvence \reaxuji až ve výstupní rutině.
\let\oriplainoutput=\plainoutpout
\output={\let~=\relax ... \oriplainoutput}
Kód lze samozřejmě zjednodušit, odstránkovává-li se před nadpisem a
nemusí se pozdržet zápis \the\pageno až do výstupní rutiny, ale nestojí
to za to, tohle funguje vždy.
Zdraví
--
Hans Ginzel
http://interviews.slashdot.org/article.pl?sid=02/09/06/1343222
http://www.infoworld.com/articles/op/xml/02/08/26/020826opsource.xml
http://www.manualy.sk/archiv/a534k701.htm
More information about the csTeX
mailing list