有什么方法可以让用户轻松地在序言中的不同代码块之间“切换”?

有什么方法可以让用户轻松地在序言中的不同代码块之间“切换”?

我有一套 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根据需要编写正确的序言。

如果您愿意,可以通过命令行完成此操作。

相关内容