我曾多次尝试过类似以下的操作:
\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 提供有用的链接!