以 LaTeX 语言编写的两本(或三种)语言书籍

以 LaTeX 语言编写的两本(或三种)语言书籍

我正在用两种语言写一本书:俄语版和英语版。是否可以在同一个文件中完成这两项工作?

类似于\tltext{Hello world!}{Здравствуй, мир!},并在序言的开头标记需要哪个变体。

我的想法是,如果我需要改变某些东西,我就不必在两个文件中都这样做。

答案1

这可能有效,只需注释掉您不想要的版本即可。您可能最终想要选择一个比\tltext命令更短的名称,因为如果您正在写一本书,您将会多次输入它。

\documentclass{article}

\newcommand{\tltext}[2]{#1}% use English version
%\newcommand{\tltext}[2]{#2}% use Russian version

\begin{document}
\tltext{Hello world!}{Здраствуй мир!}
\end{document}

答案2

巴别塔提供\iflanguage,但对于大量文本来说它的使用比较麻烦。

\documentclass{book}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\newif\ifenglish
\newcommand{\chooselanguage}[1]{%
  \selectlanguage{#1}%
  \iflanguage{english}{\englishtrue}{\englishfalse}}

\begin{document}
\chooselanguage{english}
%\chooselanguage{russian}

\ifenglish
  Hello world!
\else
  Здраствуй мир!
\fi

\ifenglish
  Thank you
\else
  Спасибо
\fi

\end{document}

换句话说,您在编写每个段落(或一般文本的一部分)时,将其放在\ifenglish\else英文版本之间,以及\else\fi俄文版本之间。

您可以通过注释或取消注释后面的行来选择语言\begin{document}

相关内容