\deleteenvironment --- Re: opak \def

Richard Kralovic kralovic at gjh.sk
Mon Mar 15 14:57:19 CET 1999


On Mon, 15 Mar 1999, Antonin Strejc wrote:

> >Diky za rady, tady je vysledne reseni:
> >
> >\def\deleteenvironment#1{
> >\expandafter\let\csname #1\endcsname\relax
> >\expandafter\let\csname end#1\endcsname\relax
> >}
> >Pouziti napr.: \deleteenvironment{equation*}
>
> Ve svem puvodnim dotazu jste ale pozadoval neco jineho -- zrusit
> definici makra. Toto reseni "neodstranuje \def", tedy presneji nerika,
> ze prislusne makro prestava byt definovano. Jinak by bylo potreba
> misto \relax prirazovat \undefined.

To je sice pravda, ale ak sa pouzitim konstrukcie \csname .. \endcsname
vyvola nedefinovane makro, TeX ho povazuje za \relax. LaTeX preto testuje,
ci je makro definovane, pomocou
 \expandafter\ifx\csname...\endcsname\relax ... \else Warning \fi
Takze riesenie \expandafter\let\csname...\endcsname\relax by malo byt
uplne korektne.

						Riso Kralovic




More information about the csTeX mailing list