cislovani radku odstavce, ktery je parshapeovy

Ondrej Koala Vacha koala at fi.muni.cz
Thu Nov 27 10:09:30 CET 1997


On Thu, 27 Nov 1997, Miroslava Misakova wrote:

> Dobry den,
>
> divala jsem se makro z TBN, ktere cisluje radky vysazeneho odstavce.
> Vsechno je ok, ale jen do chvile, kdy ho pouziji s nejakym \hangafter
> a pod. Makro funguje tak, ze odstavec je zalaman, pak se chvilku
> unhboxuje, pridavaji se \llapem cisla (to nezmeni zlom) a znovu zalaman.
> Rekla bych, ze problem je v tom, ze kdyz to TeX podruhe lame, uz zapomene
> na nastaveni parshape. Co s tim? Jak si to nejak "zapamatovat", nebo jak
> to resit?
>

Nize uvedene reseni pracuje s \hangindent a \hangafter.
Umisteni cisla radku pomoci \llap bude asi nutno zmenit, aby cisla byla
hezky pod sebou. Muzu ev. dodat.

S pozdravem

Ondrej Koala Vacha

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcount\mmhangafter \newdimen\mmhangindent

% cisluj.mac
\newcount\linenum \newcount\tempnum \newbox\allparagraph
\def\begnum{\par\begingroup\linenum=0
  \def\par{\ifhmode\completepar\fi}%
  \setbox\allparagraph=\vbox\bgroup}
\def\endnum{\par\egroup\endgroup}
\def\completepar{%
%
\global\mmhangafter=\hangafter \global\mmhangindent=\hangindent
%
\endgraf \global\advance\linenum by \prevgraf
  \tempnum=\linenum \setbox0=\hbox{}
  \loop \unskip \unpenalty \setbox2=\lastbox
     \ifhbox2 \global\setbox0=
          \hbox{\llap{$\scriptstyle\the\tempnum.$\hskip.7em}%
                \box2\penalty0\unhbox0}
       \advance\tempnum by-1
  \repeat
  \egroup
%
\hangindent=\mmhangindent \hangafter=\mmhangafter
%
  \noindent\unhbox0\unpenalty \endgraf
  \setbox\allparagraph=\vbox\bgroup
  }


\begnum
\hangindent=2cm \hangafter=1
xxxx
xxx
xx
\endnum






More information about the csTeX mailing list