我有一套 Beamer 幻灯片,其序言中编码了各种样式。每种样式都有一个代码块。使用幻灯片的目的是选择与一种样式相对应的一个代码块,以便使用该样式。除了指示用户注释掉所有不需要的样式的每一行代码外,有没有办法让用户在序言中的这些不同代码块之间轻松“切换”,例如将 TeX 文件顶部的变量设置为适当的样式?感谢您的任何建议。
出于好奇,是否有某种方法可以在 LaTeX 文档主体中的不同代码块之间进行类似的切换?也许在命令中定义代码块会比较合理。
答案1
您可以使用\ifcase ...\or ... \or ... \fi
条件构造来完成这项工作。在下面的例子中,standalone
为了简单起见,我使用了。将\style
定义更改为任何正整数(在提供的间隔内\ifcase ...\or ... \fi
)以在案例之间切换。有关更多详细信息,请阅读以下代码。
\documentclass[preview,border=12pt,12pt]{standalone}
% define an interger variable
\edef\style{0}
\ifcase\style
% case 0:
\author{Donut E. Knot}
\or
% case 1:
\author{Donut Elephant Knot}
\or
% case 2:
\author{Steve Jobs}
\or
% case 3:
\author{Bill Gates}
\or
% case 4:
\author{Timothy Van Zandt}
\or
% case 5:
\author{Till Tantau}
\fi
\title{A journey to the west}
\begin{document}
\maketitle
\end{document}
答案2
此策略可让您通过更改序言开头的一行来在两种样式之间进行选择:
\usepackage{etoolbox}
\newtoggle{production}
%\toggletrue{production}
\togglefalse{production}
然后,在序言或文件中,根据需要
\iftoggle{production}{%
% one style here ...
}{%
% else another ...
}
对于在两个以上的替代方案中进行选择,您可以使用嵌套切换,或者使用更复杂的逻辑等待更好的答案。
另一种选择是先编写单独的序言,然后\input
根据需要编写正确的序言。
如果您愿意,可以通过命令行完成此操作。