当我编译以下代码时,pdflatex 占用了我 100% 的 CPU 并且没有停止。我可能向 overlayarea 传递了错误的参数,因为我不知道它们应该做什么(Beamer_Guide 没有提到它们)
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{tabular}{c}
\begin{overlayarea}{\textwidth}{0cm}
\only<1>{hi}
\only<2>{there}
\end{overlayarea}
\end{tabular}
\end{frame}
\end{document}
那么,为什么这会阻塞我的 CPU,以及 overlayarea 中的两个参数应该做什么?
答案1
Beamer 用户指南确实提到了这两个参数(第 9.5 节动态更改文本或图像):
\begin{overlayarea}{⟨area width⟩}{⟨area height⟩}
⟨environment contents⟩
\end{overlayarea}
对于提到的问题,将 嵌套tabular
在overlayarea
:
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{overlayarea}{\textwidth}{1cm}
\begin{tabular}{c}
\only<1>{hi}
\only<2>{there}
\end{tabular}
\end{overlayarea}
\end{frame}
\end{document}
答案2
文档中的另一个环境beamer
可能比该overlayarea
环境更加用户友好,它是overprint
第 9.5 节中列出的环境”动态更改文本或图像“(第 84 页)。根据我的使用情况,我的理解是,它会动态调整覆盖区域的高度和宽度,以最大限度地减少连续图像之间的位置跳跃(请注意,该area width
参数是选修的):
\begin{overprint}[⟨area width⟩] ⟨environment contents⟩ \end{overprint}
默认
⟨area width⟩
为文本宽度。在环境中,使用\onslide
命令指定应在不同幻灯片上显示此环境的不同内容。\onslide
命令的使用方式与\item
命令类似。环境内的所有内容都将放置在指定宽度的矩形区域中。区域的高度和深度选择得足够大,以容纳区域的最大内容。命令的覆盖规范\onslide
必须是不相交的。这对于讲义来说可能是一个问题,因为在那里,所有覆盖规范默认为 1。如果您使用选项讲义,您可以\onslide
通过将其他设置为 0 来禁用除一个之外的所有选项。例子:
\begin{overprint} \onslide<1| handout:1> Some text for the first slide.\\ Possibly several lines long. \onslide<2| handout:0> Replacement on the second slide. Suppressed for handout. \end{overprint}