Separace z definice
Stepan Kasal
kasal at matsrv.math.cas.cz
Mon Jun 21 13:52:25 CEST 1999
Dobry den,
On Mon, 21 Jun 1999 07:35:41 GMT, Michal Kvasnièka wrote:
> \def\title#1{\def\@title{#1}}
>
> Kdyz se pouzije \title{Blabla\footnote{poznamka}}, obsahuje \@title
Jedna moznost je scanovat parametr na vyskyt \footnote.
\def\title#1{\title@#1}
\def\title@#1\footnote#2{\def\@title{#1}\def\@pozn{#2}}
Aby to fungovalo i v pripade, kdy je nadpis bez poznamky nebo neni
poznamka na konci, je nutno pridat:
\def\title#1{\title@#1\footnote{}\TITL@}
\def\title@#1\footnote#2#3\TITL@{\def\@title{#1#3}\def\@pozn{#2}}
Vyhodou tohoto reseni je, ze se parametr neexpanduje, takze v nem mohou
byt i makra. Nevyhodou je, ze nefunguje napr. v pripade
\title{Pojednani o {\it malych \footnote{mensich nez 10 tun} slonech}}
protoze footnote je schovana ve skupine.
Druha koncepce by vypadala asi takto:
\def\title#1{{\def\footnote#1{}\xdef\@title{#1}%
\def\footnote#1{\gdef\@pozn{#1}}\setbox\z@\hbox{#1}%
}}
resp. takto:
\def\title#1{\let\orifoot\footnote\def\footnote#1{}\edef\@title{#1}%
\def\footnote#1{\def\@pozn{#1}}\setbox\z@\hbox{#1}%
\let\footnote\orifoot \let\orifoot\undefined
}
Nevyhodou obou uvedenych reseni je, ze funguji pouze pro jednu poznamku.
Kdyby mela fungovat i pro vice poznamek, bylo by nutno pripsat cyklus, coz by
slo bez problemu v obou pripadech, ale to si treba muzeme nechat na priste.
Zatim se mejte,
Stepan Kasal
More information about the csTeX
mailing list