Beamer:使用帧分隔符定位图像

Beamer:使用帧分隔符定位图像

我有三张相互依存的图片,很像 gif(不,我不想要 gif)。

我有一个框架,我想在其中使用 连续显示三张图片\framebreak。这个想法是构建一些简单的动画。这要求所有图像都位于所有三张幻灯片中的完全相同的位置。但是,当使用框架分隔符时,第一张图片的位置略低于其他两张图片。这是我的代码:

\begin{frame}[allowframebreaks]
  \frametitle{Blah Blah}
  \begin{figure}
     \includegraphics[scale = 0.8]{Probability1.pdf}
  \end{figure}
  \framebreak
  \begin{figure}
     \includegraphics[scale = 0.8]{Probability2.pdf}
  \end{figure} 
  \framebreak
  \begin{figure}
     \includegraphics[scale = 0.8]{Probability3.pdf}
  \end{figure} 
\end{frame}

我尝试过缩小比例,但第一张图片始终无法与其他两张图片完全对齐。有什么建议吗?

答案1

我经常使用 Beamer 制作分步显示的图像,虽然我使用不同的方法,但看起来你正在尝试做同样的事情。首先,让我澄清一下我认为你想做什么:

  • 创建可以一次播放一张的独立幻灯片。
  • 除图像外,所有内容都有相同的副本,图像在每张幻灯片上都会变化。
  • 让每张图片在每张幻灯片上占据完全相同的位置和空间。

假设上述情况属实,首先要指出的是,Beamer 接受图形的可选覆盖规范(“在哪张幻灯片上显示”):

\includegraphics<n>{STUFF}

通过使用<n>,您可以指定在哪个幻灯片编号上显示每张图片。我通常使用以下代码

\begin{frame}
\frametitle{Hello, World}
Isn't this image below beautiful?
\center
\includegraphics<1>[width=0.9\textwidth]{Image1}
\includegraphics<2>[width=0.9\textwidth]{Image2}
\includegraphics<3>[width=0.9\textwidth]{Image3}
\flushleft \bigskip
\pause I know you thought that last one was beautiful, but check out this one!
\pause Wowza!
\end{frame}

使用此代码将导致每幅图像出现在其自己的幻灯片上,占据相同的位置(以下警告)。这样您就可以一次翻阅一张幻灯片,解释图像中的某种逻辑进程。

警告:虽然这种方法效果很好,但如果您的图像大小不尽相同,则会出现一些间距问题。从您在问题中所说的内容来看,我认为这不是问题,但请务必注意,您必须将所有图像的大小设置为相同。[这通常不是我的问题,因为我正在创建图像的逻辑顺序,并且在构建图形时,我只是使用相同的画布大小来绘制每个步骤。])

值得注意的是,\pause上面的代码中该命令完全没有必要。它可以与文本顺利集成,以便在您浏览图像时显示持续的评论,但如果您只是写

\begin{frame}
\includegraphics<1>{Image1}
\includegraphics<2>{Image2}
\end{frame}

Beamer 将生成两个帧,每个帧中的图像都位于相同的位置(减去可能的尺寸问题)。

您可能还对其他各种叠加规范命令感兴趣:、、\onslide等。您可以在 Beamer 文档中找到完整列表:\only\uncoverBeamer 用户指南。根据我的经验,大多数“常规命令”都会接受可选的覆盖规范<n>,这非常方便。

至于间距和对齐问题,我预计如果您使用上述方法,这些问题将会消失。如果这些问题没有消失,您可以尝试以不同于使用 的方式指定大小。尝试使用或[scale = xyz]精确修复它(并确保对每个图像使用相同的命令和大小)。[width=xyz][height=xyz]

最后,你可能要考虑\framebreak完全避免使用该命令。引用Beamer 用户指南: “使用此选项[是]邪恶的”。虽然在某些情况下您可能需要使用它,但您可能可以找到完全避免它的方法。相反,请使用\pause和其他覆盖规范的组合。

相关内容