\@ifnextchar a \input
Zdenek Wagner
wagner at cesnet.cz
Wed Apr 5 10:11:28 CEST 2006
On Wed, 5 Apr 2006, Robert Marik wrote:
> V Tue, 04 Apr 2006 20:05:26 +0100, Petr Dusek napsal(a):
>
> > Dobry den.
> >
> > Vytvoril jsem si tridu, pro kterou predefinovavam nektera makra.
> > Potrebuju, aby se \part chovalo jinak, pokud je bezprostredne
> > nasledovano makrem \chapter. To jsem vyresil pomoci konstrukce
> > \ifnextchar. Jenze ten \chapter muze byt (presneji receno je temer vzdy)
> > v inputovanem souboru. Cili nasledujicim znakem neni \chapter, ale \input.
> > Da se nejak donutit LaTeX, aby nejprve provedl ten input, a teprve
> > potom testoval ten \@ifnextchar? Predpokladam nejake zapojeni
> > \expandafter, ale nevim, jak to do te tridy zapsat (odlozeny prikaz je
> > ve tride, zatimco ten predbihajici je v hlavnim dokumentu).
> >
> > Muzete mi, prosim, pomoci - aspon nasmerovat, kde to najdu?
> >
> > Dekuju,
> > PD.
>
> Mozna by pomohlo testovat nejdriv, jestli to co nasleduje neni \input nebo
> \include, pokud ano tak to provest a potom teprve testovat, jestli to co
> nasleduje neni \chapter.
>
Ja bych radeji nedelal vlastni cinnost v \part, jen bych si nastavil
nejaky prepinac a kod, ktery by se provadel pri nepritomnosit \chapter,
bych dal do \everypar. Dale bych predefinoval \chapter, kde by se vymazal
\everypar a pri zapnutem prepinaci provedl \part v prislusne variante.
Nesmite vsak zapomenout, ze muze nasledovat napr. centrovany odstavec nebo
vycet, takze \everypar se bude volat uvnitr skupiny s jinak nastavenymi
parametry odstavce. Musite si tedy jeste predefinovat vyctova prostredi a
mnoha jina, ktera se mohou vyskytnout...
Zdenek Wagner
e-mail: wagner at cesnet.cz
see also http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz
More information about the csTeX
mailing list