[cstex] Divne (z mojho pohladu) spravanie tokenov

Zdenek Wagner zdenek.wagner at gmail.com
Tue Apr 1 16:03:58 CEST 2008


2008/4/1, Petr Sojka <sojka at fi.muni.cz>:
> On Tue, Apr 01, 2008 at 02:33:49PM +0200, Jan Janech wrote:
>  Dobry den vospolok,
>
>  > Ako takmer uplna LaTeX lama som sa pustil do trochu zlozitejsich
>  > konstrukcii. Jedna s tychto veci je:
>  >
>
> ...
>
> > pouzijem prikaz \todo{volaco} priamo v prostredi dokument. Ak ho vsak
>  > vnorim este do nejakeho ineho prostredia (aj ked len center, alebo staci
>  > aj begingroup, endgroup) tak to uz nefunguje (token nic neobsahuje). Ak
>  > dam vypisat obsah este v tom environmente, tak tam ten obsah je. Takze
>  > neviem. Snazil som sa hladat na googli, ale kedze neviem co mam hladat,
>  > tak sa mi hlada tazko.
>
> Hint: \global
>
\global\todos=... je to spravne reseni, ale je tam jeste jedna chyba:
za \def\havetodos nemate zavorky, takze pri prvnim pouziti se Vam do
definice sezere cosi spatne definovaneho a nestacite se divit, kam se
kus dokumentu ztratil. Ja bych pro jistotu za \newtoks\todos pridal
explicitne \todos={} (ono je to sice defaultne, ale jde o
programatorsky poradek) a doplnovani do \todos bych delal takto:

\ifcat_\the\todos_%
  \global\todos={#1}%
\else
  \global\todos=\expandafter{\the\todos\\#1}%
\fi

Pritom predpokladam, ze makro nepouzijete uvnitr nejakeho "verbatim"
prostredi, ktere zmeni kategorii podtrzitka.

> --ps
>
> _______________________________________________
>  csTeX mailing list
>  csTeX at cs.felk.cvut.cz
>  http://lists.felk.cvut.cz/mailman/listinfo/cstex
>


-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz


More information about the csTeX mailing list