使用 babel 中的 selectlanguage 中的 toks 或命令

使用 babel 中的 selectlanguage 中的 toks 或命令

我目前正在用 LaTeX 创建通用发票。稍后我不想更改文档,而是更改只包含变量的一小部分。目前它运行良好,但现在我想引入一个在英语和德语之间切换语言的变量。因为 babel 包的 \selectlanguage 只在文档部分中起作用,所以我必须为此定义一个变量。

我尝试过

\def\documentLanguage{english}

\newcommand{\documentLanguage}{english}

然后在文档部分

\begin{document}
\selectlanguage{\documentLanguage}

这两个方法都不起作用,因为出现错误“您尚未定义 documentLanguage”。我认为 \ 不知何故被删除了,解析器只是将“documentLanguage”读取为字符串。

有办法纠正这个问题吗?

谢谢!

答案1

你可以做

\expandafter\selectlanguage\expandafter{\documentLanguage}

(由于历史原因,\selectlanguage其参数被字符串化,因此那里的控制序列没有扩展)。

我更喜欢采用不同的方法,但这需要了解实施的细节。

相关内容