问题
我希望能够在多语言(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}
输出