在 LaTeX 中定义新参数

在 LaTeX 中定义新参数

我曾多次尝试过类似以下的操作:

\def\variable{English}

稍后可以按以下方式使用:

\selectlanguage{\variable}

我正在寻找一种通用的方法来解决此类问题(我想预定义可以传递给命令的参数)。

类似的问题如下:您想要定义\list传递给的参数字符串\printbibliography[\list]

如果有人能帮助我,我将非常感激,因为我无法用 Google 解决这个问题。

答案1

好吧,我将自己回答我的问题:

正如 egreg 提供的链接所指出的,诀窍是使用\expandafter

在第一种情况下:

\def\Language{english}
\expandafter\selectlanguage\expandafter{\Language}

第二种情况:

\def\arg{prenote=note}
\expandafter\printbibliography\expandafter[\arg]

(当然,假设您已经使用例如定义了“注释” \defbibnote{note}{testnote})。

进一步展示应用程序的另一个用例可能是\includegraphics

    \def\options{height=3em}
    \expandafter\includegraphics\expandafter[\options]{pathtopicture}

感谢 egreg 提供有用的链接!

相关内容