LaTeX: временное переопределение макроса цитирования - PullRequest
5 голосов
/ 20 сентября 2010

Я новичок в латексе, но, кажется, вы можете временно переопределить некоторые команды? У меня проблема в том, что обычно цитата (SMITH, 2000). Но иногда я хотел бы иметь Смит (2000) вместо этого. В любом случае, я могу временно переопределить его, а затем снова использовать стандартную версию после этого «блока» кода?

Ответы [ 2 ]

7 голосов
/ 20 сентября 2010

Заключите локальное определение в фигурные скобки ({}).

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

Это сгенерирует что-то вроде:

FOO!BAR?BAR? FOO!

Это можно сделать и в определениях макросов - просто убедитесь, что вы добавили дополнительные фигурные скобки:

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

Надеюсь, это поможет.

1 голос
/ 20 сентября 2010

У вас уже должны быть команды \citep и \citet, которые должны делать то, что вы хотите, нет никаких оснований переопределять макросы самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...