beamer 中的条件叠加规范:\begin{frame}\ifDraft\fi?

beamer 中的条件叠加规范:\begin{frame}\ifDraft\fi?

我有一些带有大量覆盖层的幻灯片。

当我仍在处理幻灯片时(可以说是处于“草稿模式”),我想将它们折叠成一个框架;仅在编译最终版本时,我才希望它们扩展为覆盖层。

我可以通过附加覆盖规范在单个框架上执行此操作:

\begin{frame}<1000>

现在我想做的是:

\newif\ifDraft\Drafttrue

\begin{frame}\ifDraft<1000>\fi

但这不起作用(根据我对 LaTeX 对参数和覆盖的评估的理解,我也不指望它会起作用)。

我不想这样全部覆盖(我已经使用了“讲义”模式)。相反,我希望能够压缩昂贵的用一个简单的切换按钮覆盖(大量图像),同时不完全隐藏框架(当然,只需将整个框架包裹起来\ifDraft或用虚拟框架替换它就很容易了)。因此,这就像选择性地只为一些框架(那些真正减慢构建速度的框架)切换到分发模式。

答案1

这似乎可以解决问题:

\def\showoverlays{*} % By default, show all overlays
\ifDraft\def\showoverlays{1000}\fi % Show only overlay 1000 in draft mode.
\begin{frame}<\showoverlays>
... usual frame
\end{frame}

这个变量扩展是<>有效的,但我首先失败了,因为我在那里使用了一个空变量而不是*,所以幻灯片在默认模式下消失了。

或许这(接近我的第一次尝试)也会起作用-我尚未验证:

\begin{frame}<\ifDraft 1000\else *\fi>
\end{frame}

答案2

我想知道您是否想要讲义模式?

\documentclass[handout]{beamer}

也可以看看:是否有一个好的方法,可以编写一个不带停顿的投影仪演示文稿?

相关内容