![Beamer,使用列为每个项目显示不同的图片](https://linux22.com/image/302558/Beamer%EF%BC%8C%E4%BD%BF%E7%94%A8%E5%88%97%E4%B8%BA%E6%AF%8F%E4%B8%AA%E9%A1%B9%E7%9B%AE%E6%98%BE%E7%A4%BA%E4%B8%8D%E5%90%8C%E7%9A%84%E5%9B%BE%E7%89%87.png)
我想要的东西的简短描述:在 beamerclass 框架中,左侧有两个项目(bulletitems?),右侧有两张图片。当显示第一个项目时,我希望显示第一张图片。在下一张幻灯片中,当出现第二个项目时,我希望保留第一个项目,但将右侧的第一张图片完全替换为第二张图片。
这就是我想出的:
\begin{frame}
\begin{columns}
\column{.6\textwidth}
\begin{itemize}[<+->]
\item<1,2> Some Text explaining the first picture
\item<2> Text explaining second picture
\end{itemize}
\column{.4\textwidth}
\onslide<1> \begin{figure}[htbp]
\centering
first picture
\caption{fstpic}
\end{figure}
\onslide<2> \begin{figure}[htbp]
\centering
second picture
\caption{sndpic}
\end{figure}
\end{columns}
\end{frame}
我尝试使用第二个 itemize 环境进行相同的操作(替换\onslide
),但遇到了同样的问题:
右侧的图片未垂直居中。第一张图片将显示在框架顶部,第二张图片将显示在框架下方(即使第一张图片消失了)。
有没有简单的方法可以做到这一点?
答案1
使用\only
。
代码
\documentclass[]{beamer}
\begin{document}
\begin{frame}
\begin{columns}
\column{.6\textwidth}
\begin{itemize}[<+->]
\item<1,2> Some Text explaining the first picture
\item<2> Text explaining second picture
\end{itemize}
\column{.4\textwidth}
\centering
\only<1>{\begin{figure}[!htbp]
\includegraphics[scale=.23]{example-image-a}
\caption{fstdpic}
\end{figure}
}
\only<2>{\begin{figure}[!htbp]
\includegraphics[scale=.23]{example-image-b}
\caption{sndpic}
\end{figure}
}
\end{columns}
\end{frame}
\end{document}