2010-09-20 40 views
5

我是新來的乳膠,但它似乎可以暫時重新定義一些命令?我遇到的問題通常是引用(SMITH,2000)。但有時候,我想要Smith(2000)。無論如何,我可以暫時重新定義它,然後在代碼的「塊」之後再次使用標準版本?LaTeX:暫時重新定義引用宏

+0

在http://tex.stackexchange.com/上可能會得到更快更好的答案。 – 2010-09-20 06:46:36

回答

6

將括號({})中的本地定義括起來。

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

這將產生類似:

FOO!BAR?BAR? FOO! 

這可宏定義裏面做,太 - 只要確保你添加額外的括號:

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

希望這有助於。

1

你應該已經有\citep\citet命令,應該做你想做的事情,沒有理由自己重新定義宏。