Redefinir o comando \citet (caso de dois argumentos opcionais)

Redefinir o comando \citet (caso de dois argumentos opcionais)

Preciso redefinir o comando "\citet" para que sua saída seja impressa em vermelho. Eu fiz:

\let\oldcitet\citet
\renewcommand*\citet[2][]{{\color{red}\oldcitet[#1]{#2}}}

isso funciona para o caso de "um argumento opcional": \citet[ARG]{label}.

Como posso obter o mesmo resultado para o caso de "dois argumentos opcionais" \citet[ARG1][ARG2]{label}:?

Responder1

Você não precisa verificar nenhum argumento opcional, se usar o #1#{argumento para obter tudo antes de {:

\let\oldcitet\citet
\def\citet#1#{\citetaux{#1}}
\newcommand*\citetaux[2]{{\color{red}\oldcitet#1{#2}}}

informação relacionada