我正在用两种语言写一本书:俄语版和英语版。是否可以在同一个文件中完成这两项工作?
类似于\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}
。