乳胶中的多语言文档

Eta*_*tam 13 latex internationalization

你如何用翻译准备Latex文档...我需要1个多语言文档.它应该是这样的:

\section{pl:Costam; en:Something}
Run Code Online (Sandbox Code Playgroud)

然后我想用波兰语或英语来呈现它......

bad*_*adp 11

如果一切都失败了,你可以采取一种更为基本的,几乎是侮辱性的愚蠢方法:

\newcommand{\dumblang}[2]{{#1}}
Run Code Online (Sandbox Code Playgroud)

这定义了一个带有两个参数([2])的命令并吐出第一个({#1}).

所以例如你可以......

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

%snip

\section{\dumblang{Introduction}{Introduzione}}
\dumblang{Your introduction goes here!}{Scrivi qua la tua introduzione!}
Run Code Online (Sandbox Code Playgroud)

...当您想要意大利语文档时,您可以更改\dumblang为:

\newcommand{\dumblang}[2]{{#2}}
Run Code Online (Sandbox Code Playgroud)


Eta*_*tam 1

我有解决办法!

\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}{}
}
Run Code Online (Sandbox Code Playgroud)

用法:

\lang{English}{Polski}{Deutch}
Run Code Online (Sandbox Code Playgroud)

  • 这个答案 a) 错过了定义 `\newboolean` 和 `\ifthenelse` 的信息,b) 在 `\lang` 的定义中引入了_两个虚假空格_。 (5认同)