Latex 乳胶中的多语言文档

Latex 乳胶中的多语言文档,latex,internationalization,Latex,Internationalization,你如何准备一个翻译的Latex文档。。。我需要一个多语言文件。应该是这样的: \section{pl:Costam; en:Something} 那么我想用波兰语或英语表达…你考虑过这个问题吗?请检查,看看它是否适合您的需要 您可以通过(我在“多种语言”和“翻译”方面运气不好)查看其他一些选项。您可以使用条件,例如a\ifdefs。有了适当的宏,阅读起来就不必太可怕了 最好使用本地化工具,比如XLIFF编辑器。看一看。走这条路线的最大优势是XLIFF插槽直接插入标准翻译器工具,如翻译内存。我有

你如何准备一个翻译的Latex文档。。。我需要一个多语言文件。应该是这样的:

\section{pl:Costam; en:Something}
那么我想用波兰语或英语表达…

你考虑过这个问题吗?请检查,看看它是否适合您的需要


您可以通过(我在“多种语言”和“翻译”方面运气不好)查看其他一些选项。

您可以使用条件,例如a
\ifdef
s。有了适当的宏,阅读起来就不必太可怕了

最好使用本地化工具,比如XLIFF编辑器。看一看。走这条路线的最大优势是XLIFF插槽直接插入标准翻译器工具,如翻译内存。

我有解决方案

\newboolean{eng}
\setboolean{eng}{false}
\newboolean{pol}
\setboolean{pol}{true}
\newboolean{rus}
\setboolean{rus}{false}

\newcommand{\lang}[3]
{
    \ifthenelse{\boolean{eng}}{#1}{}\ifthenelse{\boolean{pol}}{#2}{}\ifthenelse{\boolean{ger}}{#3}{}
}
用法:

\lang{English}{Polski}{Deutch}

对于完整性,您可能需要考虑在

中提出的解决方案,如果所有其他的都失败了,您可以采用更基本的、几乎是侮辱性的哑方法:

\newcommand{\dumblang}[2]{{#1}}
这定义了一个具有两个参数(
[2]
)的命令,并输出第一个参数(
{1}

例如,你可以

\usepackage[\dumblang{english}{italian}]{babel}

%snip

\section{\dumblang{Introduction}{Introduzione}}
\dumblang{Your introduction goes here!}{Scrivi qua la tua introduzione!}
…当您需要意大利语文档时,只需将
\dumblang
更改为:

\newcommand{\dumblang}[2]{{#2}}

此答案a)遗漏了定义了
\newboolean
\if then
的信息,b)在
\lang
的定义中引入了两个伪空格。有包和包(属于
beamer
包的一部分)这可能对手头的任务有帮助,也可能没有帮助。在tex.stackexchange中有一个类似的问题,有一些有用的答案。简单和天才。