LaTeX:暂时重新定义引文宏

时间:2010-09-20 06:43:32

标签: latex

我是乳胶新手,但似乎你可以暂时重新定义一些命令?我遇到的问题是通常引用的是(SMITH,2000)。但有时候,我想让史密斯(2000)代替。无论如何,我可以暂时重新定义它,然后在代码“块”之后再次使用标准版本?

2 个答案:

答案 0 :(得分:7)

将本地定义括在大括号({})中。

\newcommand\foo{FOO!}
\foo
{\renewcommand\foo{BAR?}\foo\foo}
\foo

这将生成如下内容:

FOO!BAR?BAR? FOO!

这也可以在宏定义中完成 - 只需确保添加额外的大括号:

\newcommand\newfoo{{\renewcommand\foo{BAR?}\foo}}

希望这有帮助。

答案 1 :(得分:1)

您应该已经有\citep\citet命令可以执行您想要的操作,没有理由自行重新定义宏。