问题

问题

问题

我希望能够在多语言(xelatex)文档中使用宏。

示例情况

我有一份包含 8 种语言的大型文档,它们共享一个共同的序言。我认为文档中的某些部分不仅是所有文档所共有的,而且还必须经常更改。我想将这些信息放在序言中,以便于访问。我决定创建一个命令,以 iso 639.1 代码(en、de、da、nl、el)作为其参数,以确定应插入哪段文本和相应的语言(默认参数为 en,代表英语,因为我可能有 5 种其他语言,但其中一部分使用英语)

示例命令

\disclaimer[da]{} % This would insert a disclaimer in Danish

答案1

我不确定我理解得是否正确。

加载xstring你可以定义类似

\DeclareRobustCommand{\disclaimer}[1]{%
    \IfEq{#1}{en}{English disclaimer}{}%
    \IfEq{#1}{de}{German disclaimer}{}%
    \IfEq{#1}{da}{Danish disclaimer}{}%
}

并按照以下 MWE 使用它

\documentclass{article}
\usepackage{fontspec}
\usepackage{xstring}

\DeclareRobustCommand{\disclaimer}[1]{%
    \IfEq{#1}{en}{English disclaimer}{}%
    \IfEq{#1}{de}{German disclaimer}{}%
    \IfEq{#1}{da}{Danish disclaimer}{}%
}

\begin{document}

\disclaimer{en}

\disclaimer{de}

\disclaimer{da}

\end{document} 

输出

在此处输入图片描述

相关内容