在某个框架中,我希望在框架底部显示一张图片,并显示几个描述该图片的列表项。因此,我的计划是垂直划分框架,将图片放在底部,将列表项放在顶部。但是由于空间问题,我希望显示第一个项目,然后被取代第二项,依此类推。
也就是说,该框架中的第一张幻灯片应如下所示:
\begin{frame}[t]{System overview}
\begin{minipage}{\textwidth}
\begin{itemize}
\item item1
\end{itemize}
\end{minipage}
\vfill
\begin{minipage}{\textwidth}
\begin{center}
\includegraphics[scale=0.65]{picture.jpg}
\end{center}
\end{minipage}
\end{frame}
第二张幻灯片:
\begin{frame}[t]{System overview}
\begin{minipage}{\textwidth}
\begin{itemize}
\item item2
\end{itemize}
\end{minipage}
\vfill
\begin{minipage}{\textwidth}
\begin{center}
\includegraphics[scale=0.65]{picture.jpg}
\end{center}
\end{minipage}
\end{frame}
等等。有什么想法吗?
答案1
您可以简单地在项目上使用覆盖规范。 如下:
\begin{frame}[t]{System overview}
\begin{minipage}{\textwidth}
\begin{itemize}
\item<1> item1
\item<2> item2
\end{itemize}
\end{minipage}
\vfill
\begin{minipage}{\textwidth}
\centering
\includegraphics[scale=0.65]{picture.jpg}
\end{minipage}
\end{frame}
请注意,我用 替换了center
环境\centering
,它可以更好地处理空间。如果您希望元素在多张幻灯片上可见,则可以使用范围,例如<1-4>
幻灯片 1 到 4 以及<3->
幻灯片 3 以后。
编辑:我误解了这个问题,要让项目保持在原位,您需要一个\only
规范。您可以\item
像这样更新宏以使其“覆盖感知”:
\documentclass{beamer}
\renewcommand<>{\item}[1]{\only#2{\beameroriginal{\item}{#1}}}
\begin{document}
\begin{frame}[t]{System overview}
\begin{minipage}{\textwidth}
\begin{itemize}
\item<1>{item1}
\item<2>{item2}
\end{itemize}
\end{minipage}
\vfill
\begin{minipage}{\textwidth}
\centering
\includegraphics[scale=0.65]{picture.jpg}
\end{minipage}
\end{frame}
\end{document}
请注意,您需要{}
围绕参数\item
。
如果由于某种原因您不想使用花括号来分隔参数,\item
或者您不想更新项目命令,则可以使用如下操作规范:
\documentclass{beamer}
\begin{document}
\begin{frame}[t]{System overview}
\begin{minipage}{\textwidth}
\begin{itemize}
\item<1|only@1> item1
\item<2|only@2> item2
\item<3|only@3> item3
\end{itemize}
\end{minipage}
\vfill
\begin{minipage}{\textwidth}
\centering
\includegraphics[scale=0.65]{picture.jpg}
\end{minipage}
\end{frame}
\end{document}
答案2
您需要\alt
像\item\alt<1>{item1}{item2}
或嵌套的命令:\item\alt<1>{item1}{\alt<2>{item2}{item3}}
等。在 beamer 文档中查找此命令的详细信息。