Umisteni tokenu na zacatek druheho radku?

Petr Brezina petr-brezina at volny.cz
Sun Jan 9 03:51:38 CET 2005


Ad Matous Jan Fialka, 9. 1. 2005, 00:23:43
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> Dobry den,
>
> lze nejak umistit token na uplny zacatek druheho radku odstavce?
> Potreboval
> bych makro, ktere by fungovalo tak, ze na zacatku odstavce bych rekl
> \druhy{\special{...}} a na zacatku druheho radku by se dostal ten
> \special{...} Mohlo by to byt uzitecne, kdyz clovek potrebuje prvni radek
> odstavce treba cervenym pismem (ano, i takto nesmyslne pozadavky se mohou
> v praxi vyskytnout).

Dobry den,

pojem "makro, ktere vlozi token na zacatek druheho radku" je prilis
siroky. Pokud vam jde pouze o obarveni urciteho radku, staci vam
rozlozit odstavec na jednotlive radky a dany radek obarvit. Tusim, ze
podrobny popis rozkladu odstavce na jednotlive radky je nekde v TBN.
Pro ilustraci uvedu, jak bych ja resil cervene obarveni prvniho radku.

S pozdravem

Petr Brezina

\newcount\radek
\newdimen\hloubka
\def\prvniradekC#1\par{
   \hloubka=\prevdepth
   \setbox0=\vbox{
      \prevdepth=\hloubka
      #1\par
      \radek=\prevgraf
      \advance\radek by-1
      \loop
      \ifnum\radek>0
         \setbox0=\lastbox
         \skip0=\lastskip \unskip
         \count255=\lastpenalty \unpenalty
         \global\setbox1=\vbox{\penalty0\vskip\skip0\box0\unvbox1}
         \advance\radek by-1
      \repeat
      \setbox0=\lastbox
      \skip0=\lastskip\unskip
      \global\setbox1=\vbox{
         \vskip\skip0
         \line{\special{ps: gsave 1 0 0 setrgbcolor}\box0
            \special{ps: grestore}}
         \unvbox1}}
   \noindent\par\unvbox1\nointerlineskip\lastbox}

% Zpusob uziti: na zacatek odstavce napiste \prvniradekC




More information about the csTeX mailing list