我正在制作演示文稿,想在幻灯片上展示一个陈述(Th. 1)。在下一张幻灯片上,该陈述下方应出现一个证明论据。在框架的第三张幻灯片上,该论据应消失,并应显示类似于 Th. 1 的陈述。
我尝试使用类\overprint
中的环境beamer
,但block
仍然不稳定( 的文档beamer
说不应该出现这种情况)。对于itemize
命令\overprint
确实有效(beamer 叠印并逐项列出)。
我该怎么做才能让 Th. 1 位于三张幻灯片的准确位置上并且没有任何晃动?
梅威瑟:
\documentclass{beamer}
\begin{document}
% ----- this works -----
\frame{
\begin{overprint}
\onslide<1>
\begin{itemize}
\item Foo
\item Bar
\end{itemize}
\onslide<2>
\begin{itemize}
\item I replace Foo
\item I replace Bar
\item I am new!
\end{itemize}
\end{overprint}
}
% ----- this does not -----
\begin{frame}{Results}
\begin{overprint}
\onslide<1->{
\begin{block}{Th. 1}
Some statement, given:
\begin{enumerate}[i)]
\item Foo
\item Bar
\item FooBar
\end{enumerate}
\end{block}}
%\vspace*{0.5cm}
\onslide*<2>{
\begin{block}{Lemma}
An Argument for the proof.
\[
E = mc^2.
\]
\end{block}}
\onslide*<3>{
\begin{block}{Th. 2}
Some similar statement, given:
\begin{enumerate}[i)]
\item Foo
\item Bar
\item BarFoo
\end{enumerate}
\end{block}}
\end{overprint}
\end{frame}
\end{document}
答案1
一个简单的解决方法是使用顶部对齐。或者您可以测量最大的块并使用overlayarea
。
\documentclass{beamer}
\newsavebox{\overprintbox}
\begin{document}
\begin{frame}[t]{Results}
\onslide<1->{
\begin{block}{Th. 1}
Some statement, given:
\begin{enumerate}[i)]
\item Foo
\item Bar
\item FooBar
\end{enumerate}
\end{block}}
\begin{overprint}
\onslide*<2>{
\begin{block}{Lemma}
An Argument for the proof.
\[
E = mc^2.
\]
\end{block}}
\onslide*<3>{
\begin{block}{Th. 2}
Some similar statement, given:
\begin{enumerate}[i)]
\item Foo
\item Bar
\item BarFoo
\end{enumerate}
\end{block}}
\end{overprint}
\end{frame}
\begin{frame}{Results}
\sbox\overprintbox{\begin{minipage}[b]{\textwidth}
\begin{block}{Th. 2}
Some similar statement, given:
\begin{enumerate}[i)]
\item Foo
\item Bar
\item BarFoo
\end{enumerate}
\end{block}\vspace*{0pt}\end{minipage}}
\onslide<1->{
\begin{block}{Th. 1}
Some statement, given:
\begin{enumerate}[i)]
\item Foo
\item Bar
\item FooBar
\end{enumerate}
\end{block}}
\begin{overlayarea}{\textwidth}{\dimexpr\ht\overprintbox+5pt}
\onslide*<2>{
\begin{block}{Lemma}
An Argument for the proof.
\[
E = mc^2.
\]
\end{block}}
\onslide*<3>{\usebox\overprintbox}
\end{overlayarea}
\end{frame}
\end{document}
我猜这+5pt
是由于工作原理所致beamer
,并避免了过度警告。