lokalni predefinovani vnitrnosti makra

Milan Vancura milan at ucw.cz
Thu Jun 29 16:01:30 CEST 2006


Dobry den,

chtel bych pozadat o radu s nasledujicim problemem:

mam jiz existujici (cizi) makro, ktere chci pouzivat ve dvou rezimech zaroven:
v puvodnim a mem upravenem. Presneji: v klasickem stylovem souboru epsf.tex
(epsf.sty) je makro \epsfbox, ktere uvnitr sebe vola \epsfspecial. A ja umim
predefinovat \epsfspecial tak, aby \epsfbox delalo specialni akci pro mne
(konkretne nacitani eps z parametru makra misto z externiho souboru).
Pochopitelne po takovem predefinovani \epsfspecial prijdu o puvodni
funkcionalitu \epsfbox, coz samozrejme neni prijemne.

Chtel jsem neco v tomto stylu:

\def\mujepfsfbox{\begingroup \def\epsfspecial{...} \epsfbox \endgroup}

\mujepfsfbox{EPS code}


Takto primo to samozrejme nelze, protoze \epsfbox nacte jako svuj parametr
\endgroup misto "{EPS code}". Situace je o to lehce komplikovanejsi, ze
\epsfbox neni makro s parametry, ale je v LaTeXovskem stylu: zjistuje si pomoci
\futurelet levou hranatou zavorku.

Mohl bych samozrejme neco ve stylu:

\def\mujepfsfbox{\begingroup \def\epsfspecial{...} \epsfbox}
\def\mujkonecepsfbox{\endgroup}


\mujepfsfbox{EPScode}\mujkonecepsfbox

Ale to bych nerad.

Mohl by mi prosim nekdo poradit s definici \mujepfsfbox? Nejaky trik s
\expandafter nebo \after*?

Dekuji,

Milan Vancura



More information about the csTeX mailing list