似乎[containsverbatim]
当将此选项应用于帧时,如果希望在帧中插入文本动画,则 Beamer 不会生成中间幻灯片。结果只会打印动画的第一步。
示例代码:
\documentclass{beamer}
\begin{document}
\begin{frame}[containsverbatim]
\frametitle{Tests anim}
blah
\pause
blah²
\end{frame}
\end{document}
我的问题分为两部分:
- 这是一个错误还是我遗漏了什么?
- 如果它是一个错误,有解决方法吗?
答案1
排版具有逐字内容的框架的常用方法是选项fragile
,它与覆盖配合使用效果很好:
\documentclass{beamer}
\begin{document}
\begin{frame}[fragile]
\frametitle{Tests anim}
blah
\pause
blah
\end{frame}
\end{document}
我几乎不记得这个containsverbatim
选项,我的 Beamer 手册 (v3.10) 也没有提到它。我找到的唯一参考资料是beamer 类的 ChangeLog:
2004-02-18 Till Tantau,版本 2.00
Added: - Added a containsverbatim option to the \frame command. Should be used instead of the old \frame<all:1> (which is, however, still supported).
因此观察到的效果不是一个错误,而是一个功能 :-),就像\frame<all:1>
beamer 中的语法一样,用于抑制除框架中的第一张幻灯片之外的所有幻灯片。选项名称containsverbatim
似乎非常具有误导性;但是,考虑到 beamer 覆盖机制的工作方式(通过多次扫描框架内容,这与逐字环境配合使用效果不佳),我猜这只是排版逐字内容的方式。
后来Till又添加了更强大的脆弱选项:
2004-10-11 直到坦陶
Version 3.01: Added: - Option "fragile" that allows the use of overlays together with verbatims. *Extremely* useful.
该fragile
选项通过将框架代码外部化为自己的文件(后缀为.vrb
)来实现,而覆盖机制则通过多次读取此文件来实现,这与逐字内容配合得很好。当然,这比方法慢得多containsverbatim
,因此保留并记录在附加(且更易于理解)选项名称下fragile=singleslide
。第 8.1 节(第 61 页)beamer 用户指南详细解释。