答案1
您可以使用如下方法,我用它来创建 CV 文档的各种版本。
\documentclass{minimal}
\usepackage{ifthen}
\newboolean{somevariable}
\setboolean{somevariable}{false}
\begin{document}
\ifthenelse{\boolean{somevariable}}{Text if somevariable is true.}{Text if somevariable is false.}
\end{document}
答案2
总是有docstrip
,它允许您使用特殊注释(称为保护)区分一个代码与另一个代码,并且还具有两个代码所共有的代码。
在我看来,这种方法相对于条件语句的优势在于,添加更多语言相当简单,避免了嵌套条件语句的麻烦。
例如,您可以有一个源文件(我们将其命名为source.dtx
,但任何其他名称都可以):
\documentclass{book}
\begin{document}
%<english>\chapter{LITERATURE}
%<spanish>\chapter{LITERATURA}
%<*english>
\emph{The Tau Manifesto} is dedicated to one of the most important numbers in
mathematics, perhaps \emph{the} most important: the \emph{circle constant} relating
the circumference of a circle to its linear dimension. For millennia, the circle has
been considered the most perfect of shapes, and the circle constant captures the
geometry of the circle in a single number. Of course, the traditional choice for
the circle constant is $\pi$--but, as mathematician Bob Palais notes in his
delightful article ``$\pi$ Is Wrong!'', $\pi$ \emph{is wrong}. It's time to set
things right.
%</english>
%<*spanish>
\emph{El Manifiesto de Tau} está dedicado a uno de los números más importantes en
matemáticas, quizás \emph{el} más importante: la \emph{constante de círculo} que relaciona
la circunferencia de un círculo con su dimensión lineal. Durante milenios, el círculo ha
sido considerado la forma más perfecta, y la constante del círculo captura la
geometría del círculo en un solo número. Por supuesto, la elección tradicional para
la constante de círculo es $\pi$--pero, como señala el matemático Bob Palais en su
artículo encantador ``$\pi$ Is Wrong!'', $\Pi$ \emph{es incorrecto}. Es hora de arreglar las cosas.
%</spanish>
\end{document}
(样本文本取自这里并通过谷歌翻译为西班牙语)
那么您只需要一个所谓的“安装文件”:
\input docstrip % Loads the docstrip program
% Optional switches
\askforoverwritefalse % Allows it to overwrite older files without asking
\keepsilent % Reduces verbosity
\nopreamble % Removes preamble
\nopostamble % removes postamble
% Separating sources:
\generate{%
%
\file{english.tex}{%
\from{source.dtx}{english}%
}%
%
\file{spanish.tex}{%
\from{source.dtx}{spanish}%
}%
%
}
% Exiting
\endbatchfile
它将根据 中english.tex
标记为 的部分生成一个文件,并根据中标记为 的部分生成另一个文件。 中未标记的部分将进入两个输出文件。<english>
source.dtx
spanish.tex
<spanish>
source.dtx
source.dtx
要执行此操作,您只需在安装文件上运行 TeX:
> pdftex installation.ins
生成的结果english.tex
如下:
\documentclass{book}
\begin{document}
\chapter{LITERATURE}
\emph{The Tau Manifesto} is dedicated to one of the most important numbers in
mathematics, perhaps \emph{the} most important: the \emph{circle constant} relating
the circumference of a circle to its linear dimension. For millennia, the circle has
been considered the most perfect of shapes, and the circle constant captures the
geometry of the circle in a single number. Of course, the traditional choice for
the circle constant is $\pi$--but, as mathematician Bob Palais notes in his
delightful article ``$\pi$ Is Wrong!'', $\pi$ \emph{is wrong}. It's time to set
things right.
\end{document}
答案3
您可以使用 iflang 包:
\documentclass{article}
\usepackage[english,ngerman]{babel}
\usepackage{iflang}
\begin{document}
\IfLanguageName{english}{This is english}{This is not english}
\IfLanguageName{ngerman}{Das ist deutsch}{Das ist nicht deutsch}
\selectlanguage{english}
\IfLanguageName{english}{This is english}{This not english}
\IfLanguageName{ngerman}{Das ist deutsch}{Das ist nicht deutsch}
\end{document}
答案4
您可以使用另一个 TeX 引擎 ConTeXt 非常顺利地完成此操作。它有一个模式选项,您可以将其作为选项传递。使用 进行编译时mode=thismode
,正确\startmode[thismode] \stopmode
对中包含的所有内容都将被解释。
这是 MWE
\startmode[english]
\language[en]
\stopmode
\startmode[espanol]
\language[es]
\stopmode
\starttext
\startmode[english]
I love you
\stopmode
\startmode[espanol]
Te quiero.
\stopmode
\stoptext
context --mode=english mwe.tex
将此 MWE 粘贴到 mwe.tex 中,并比较和的输出context --mode=espanol mwe.tex
。如果您想让两个文本并排,context --mode=english,espanol mwe.tex
请这样做。