有没有办法为整个书目定义转换时间?以下方法不起作用,只有第一个创建的框架具有预期的行为。
\begin{frame}[allowframebreaks]{Bibliography}
\transduration{2}
\bibliographystyle{plainnat}
\bibliography{literature}
\end{frame}
答案1
作为Mico 指出,\transduration
旨在用于单帧叠加,而不是多帧之间的叠加。它会在每个新帧的开头重置,因此在使用 分割的帧上使用它时没有效果allowframebreaks
。
为了解决这个问题,\transduration
必须在每一帧上重复。这可以通过将其添加到background canvas
模板中来实现:
{
\addtobeamertemplate{background canvas}{\transduration{2}}{}
\begin{frame}[allowframebreaks]{Bibliography}
\bibliographystyle{plainnat}
\bibliography{literature}
\end{frame}
}
花括号是为了保持重新定义在本地,否则参考书目之后的每一帧也只会显示两秒钟。
示例演示
\documentclass{beamer}
\usepackage{lipsum}
\begin{document}
\begin{frame}
My \uncover<2>{Presentation}
\end{frame}
{
\addtobeamertemplate{background canvas}{\transduration{2}}{}
\begin{frame}[allowframebreaks]{Bibliography}
\lipsum
\end{frame}
}
\begin{frame}[allowframebreaks]
\lipsum
\end{frame}
\end{document}
(这lipsum
包用于生成虚拟文本,以制作一个独立的示例。\lipsum
当然,您可以将其删除并替换为您自己的参考书目。
答案2
我认为,对你的问题的简短回答是“不”,这很遗憾。
相同答案的稍长版本:\transduration
可以应用于框架的叠加层;如果未指定叠加层,则宏\transduration
将应用于整个框架。请注意,没有规定将宏应用于连续的框架。现在,如果您使用该allowframebreaks
选项将一些不适合单个框架的较长材料(例如参考书目)分解为几个单独的框架,则 beamer 会创建单独的框架,而不是同一框架的单独叠加层。beamer 包的用户指南在第 59 页明确指出了这一事实:“您可以使用该选项allowframebreaks
将 [框架环境的材料] 拆分到多张幻灯片中,但您不能使用叠加层。” 而且由于您不能使用叠加层,因此该\transduration
命令无法实现您想要它执行的操作。