我正在 Beamer 中制作演示文稿。
演示文稿包含一张幻灯片,其中应在框架顶部显示图像。下面应显示一些包含有关图像的信息的文本。文本应逐帧更改(其他信息,无覆盖)。因此,图像当然需要停留在它的初始位置。
有什么方法可以做到这一点,或者有某些解决方法(优雅的解决方案)吗?
答案1
我相信这是一个更好的解决方案,它可以确保图片下方的文本保持在原位。
\begin{frame}{Test}
\begin{center}
\includegraphics[width=0.8\linewidth]{bird.jpg}
\end{center}
\begin{center}
\begin{overprint}
\onslide<1>
Text for the first slide.\\
Maybe few lines\\
long...
\onslide<2>
Replacement on the second slide.\\
This time only two lines.
\end{overprint}
\end{center}
\end{frame}
答案2
如果文本位于图像下方,这应该不是什么大问题。
\begin{frame}
\begin{center}
\includegraphics{foo.pdf}
\end{center}
\uncover<+>{text on first slide}%
\uncover<+>{text on second slide}%
\uncover<+>{text on third slide}
\end{frame}
更具挑战性的是静态材料位于动态材料下方的情况。然后您必须将动态材料放在每张幻灯片上大小相同的框中。最常见的方法是使用overlay
和overprint
环境(请参阅 beamer 手册)。
答案3
您也可以使用overlayarea
。考虑以下 MWE:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\frametitle{TBA}
\begin{overlayarea}{\textwidth}{2cm}
\begin{center}
\begin{tikzpicture}
\draw (-1,-1) -- (1,1);
\end{tikzpicture}
\end{center}
\end{overlayarea}
\begin{overlayarea}{\textwidth}{2cm}
\only<1>{Bla}
\only<2>{Blo}
\end{overlayarea}
\end{frame}
\end{document}
注意,此选项(即使用)overlayarea
给予用户很大的自由度。例如,与 结合使用minipage
,仅使用两个“垂直列”即可实现类似的效果。
答案4
您可以使用[t]
说明符使框架顶部对齐,这样图片下方的内容的高度就无关紧要了:
\documentclass{beamer}
\begin{document}
\begin{frame}[t]\frametitle{My Frame}
\begin{center}
\rule{3cm}{3cm} % substitute for a picture
\end{center}
\begin{itemize}
\only<1>{
\item First point on first slide
\item Second point on first slide
}
\only<2>{
\item Only one point on second slide
}
\end{itemize}
\end{frame}
\end{document}