我是乳胶新手,但似乎你可以暂时重新定义一些命令?我遇到的问题是通常引用的是(SMITH,2000)。但有时候,我想让史密斯(2000)代替。无论如何,我可以暂时重新定义它,然后在代码“块”之后再次使用标准版本?
答案 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
命令可以执行您想要的操作,没有理由自行重新定义宏。