我有一些相当复杂的幻灯片,我想在讲义上放一张中间幻灯片。(这样我就可以为\note
幻灯片的两个部分设置单独的页面。以下是 MWE,显示了问题所在:
\documentclass[handout]{beamer}
\begin{document}
\begin{frame}<1>[label=foo]
foo\pause bar
\end{frame}
\end{document}
讲义模式正在打印“foobar”,因为它忽略了覆盖规范。这通常没问题,但我想找到一种方法来明确地说“嘿,讲义模式,这次,我的意思是只打印此帧的第一张幻灯片!替换<1>
为<1|handout:1>
不起作用。有什么建议吗?
在实际测试案例中,有一些againframe
技巧可以让你先讲完一半的幻灯片,然后稍微偏离主题,然后再回到第一张幻灯片的后半部分。我希望在讲义上有一个“一半”的幻灯片,这样我就可以跟上我的笔记,记录我当时应该说的内容(就在离主题之前)。
编辑:请注意,这似乎与幻灯片的递增方式无关。也就是说,这不是由于 的任何奇怪行为造成的\pause
。\onslide<2>
并且\onslide<+>
两者都产生相同的行为。
答案1
以下工作:
\documentclass[handout]{beamer}
\begin{document}
\begin{frame}<handout:1>[label=foo]
foo\onslide<all:2>bar
\end{frame}
\end{document}
重点在于您有两个级别的覆盖规范:
当地的影响帧内容的叠加规范,由给出
\pause
,\only
、叠加感知命令等给出。这些定义了幻灯片集一个框架由...组成。这全球的您可以为环境或命令提供覆盖规范
frame
。这进一步过滤器由本地定义的幻灯片集。
然而,在handout
模式下,投影仪基本上将所有本地覆盖规范折叠到单个幻灯片(除非明确告知当地的 handout:
或all:
替代方案,如上面的代码所示)。因此,“全局级别”的过滤器没有任何效果——它只能减少幻灯片集,而不能扩展它。
一个可能的解决方法是我上面所概述的:在开发过程中,使用<all:...>
覆盖规范将每张幻灯片也包含在讲义中。当讲座即将完成时,添加全局幻灯片来决定哪些内容应该包含在讲义中。我已经使用这个策略有一段时间了,效果很好。
答案2
我不确定如何使用它,\pause
但它适用于\onslide
覆盖敏感环境,例如itemize
,以及覆盖敏感tikz
样式。
情况 1:无\againframe
这个案例非常简单:
\documentclass[handout]{beamer}
\begin{document}
\begin{frame}<1-| handout:1->[label=foo]
foo\onslide<2-| handout:2> bar
\end{frame}
\end{document}
情况 2:\againframe
这利用了\againframe
您提到的实际文件中已经使用的内容。我不确定这是否适合您现有的代码。
当我希望讲义包含图表的第 1 阶段,然后是其他内容,然后是图表的第 2 阶段等时,我会使用这种方法。幻灯片本身通常包含第 1a、1b、1c 等阶段,以及第 2a、2b、2c 等阶段。此方法可以扩展到这些情况下,如以下列表的简单示例所示:
\documentclass[handout]{beamer}
\mode<handout>{% comment this out for the second form of the handout shown below
\usepackage{pgfpages}
\pgfpagesuselayout{4 on 1}[a4paper,border shrink=5mm,landscape]
\setbeamercolor{background canvas}{bg=black!5}
}
\begin{document}
\begin{frame}<1| handout:1>[label=foo]
foo\onslide<2-| handout:2> bar
\end{frame}
\begin{frame}<1-2| handout:1>[label=foo2]
\begin{itemize}
\item<+-| handout:1-2> foo on slides 1-4 of slides and 1-2 of handout
\item<+-| handout:1-2> foo on slides 2-4 of slides and 1-2 of handout
\item<+-| handout:2> bar on slides 3-4 of slides and slide 2 of handout
\item<+-| handout:2> bar on slide 4 of slides and slide 2 of handout
\end{itemize}
\end{frame}
\againframe<2| handout:2>{foo}
\againframe<3-4| handout:2>{foo2}
\end{document}
讲义将如下所示(使用pgfpages
上面的布局):
或者没有pgfpages
布局:
幻灯片本身看起来如下:
答案3
我找到了这个,但答案对我不起作用,因为我使用的是 \only<>。解决方案是使用类似 \only<3| handout:2>{Some text} found p14 of beamer user guide 的命令。所以如果我的框架是
Before
\only<1| handout:1>{text1}
\only<2| handout:2>{text2}
After
然后,即使在讲义中生成的两张幻灯片中,text1 也会被 text2 简单地替换。