Подтвердить что ты не робот

Многоязычный документ в латексе

как подготовить латексный документ с переводом... Мне нужен 1 многоязычный документ. Это должно быть что-то вроде:

\section{pl:Costam; en:Something}

Затем я хотел бы сделать это на польском или английском языке...

4b9b3361

Ответ 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}{}
}

Использование:

\lang{English}{Polski}{Deutch}

Ответ 2

Если все остальное не удастся, вы можете пойти на еще более простой, почти оскорбительный подход:

\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}}

Ответ 5

Вы можете сделать это, используя условные обозначения, например. a \ifdef s. С соответствующими макросами это не обязательно ужасно читать.

Намного лучше будет использовать инструмент локализации, такой как редактор XLIFF. Посмотрите страницу инструментов XLIFF. Большая прочность этого маршрута - слоты XLIFF непосредственно в стандартные инструменты для переводчиков, такие как память переводов.