我有一些带有大量覆盖层的幻灯片。
当我仍在处理幻灯片时(可以说是处于“草稿模式”),我想将它们折叠成一个框架;仅在编译最终版本时,我才希望它们扩展为覆盖层。
我可以通过附加覆盖规范在单个框架上执行此操作:
\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}