覆盖用户定义宏的功能

覆盖用户定义宏的功能

我想向文档类添加一个选项,使我能够修改单个宏的定义。

声明宏的选项

\ifthenelse{\boolean{nicepaper}}{
\newcommand{\FOO}[1]{\baz[size=\small]{#1}\stepcounter{TODOCOUNT}}
}

类似地,我想通过另一个类选项将功能更改为\FOO不执行任何操作:\renewcommand{\FOO}{}

我怎样才能做到这一点?

答案1

也许你最好这样做

\newcommand{\foo}{}

\DeclareOption{myoption}{%
...\renewcommand\foo{something} ...}
\DeclareOption{youroption}{%
...\renewcommand\foo{something else}...}

例子

\newcommand{\foo}{}

\DeclareOption{myoption}{%
\ifthenelse{\boolean{nicepaper}}{%
\renewcommand{\FOO}[1]{\baz[size=\small]{#1}\stepcounter{TODOCOUNT}}
}{}}   % I add {} here
\DeclareOption{youroption}{\renewcommand\FOO{}}

相关内容