我重新定义了使用“局部变量”的自定义环境:
\newenvironment{asdf}[3]{
\def\argi{#1}
\def\argii{#2}
\def\argiii{#3}
%....
}
{ }
但当我这样做时:
\renewenvironment{asdf}[3]{
\def\argi{#1}
\def\argii{#2}
\def\argiii{#3}
%....
}
{ }
在本文的后面,LaTeX 声称
! Illegal parameter number in definition of \test
而且我也不知道它\test
来自哪里。
答案1
对我有用:
\documentclass{article}
\begin{document}
I redefine a custom environment of mine that uses "local variables":
\newenvironment{asdf}[3]{
\def\argi{#1}
\def\argii{#2}
\def\argiii{#3}
%....
}
{ }
But when I do:
\renewenvironment{asdf}[3]{
\def\argi{#1}
\def\argii{#2}
\def\argiii{#3}
%....
}
{ }
\end{document}
我怀疑您还未告诉我们更多内容,例如,您还包含\renewenvironment
其他内容。请不要忘记,如果您还包含\renewenvironment
其他宏,则需要将#
符号加倍:
\def\reset{%
\renewenvironment{asdf}[3]{
\def\argi{##1}
\def\argii{##2}
\def\argiii{##3}
}
{ }
}