\citet コマンドを再定義する (オプションの引数が 2 つの場合)

\citet コマンドを再定義する (オプションの引数が 2 つの場合)

出力が赤で印刷されるように「\citet」コマンドを再定義する必要があります。次のようにしました:

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

これは「オプションの引数が 1 つ」の場合に機能します: \citet[ARG]{label}

「オプションの引数が 2 つ」の場合に同じ結果を得るにはどうすればよいでしょうか\citet[ARG1][ARG2]{label}?

答え1

#1#{引数を使用して の前にあるすべてを取得する場合は、オプションの引数をチェックする必要はありません{

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

関連情報