我正在使用 Beamer 制作演示文稿。我希望使文本和其对应的图片同时显示。
目前,我能够借助 来将图片与文本一起显示在框架中minipage
,但它们会重叠,并且从头到尾始终处于静止状态。这是我的 MWE。
\documentclass{beamer}
\begin{document}
\begin{frame}
\frametitle{Background}
\begin{minipage}[0.2\textheight]{\textwidth}
\begin{columns}[T]
\begin{column}{0.8\textwidth}
\begin{itemize}
\item 1\pause
\begin{enumerate}
\item 1\pause
\item 2\pause
\end{enumerate}
\end{itemize}
\end{column}
\begin{column}{0.2\textwidth}
\rule{50pt}{50pt}% pic corresponding to 1.1
\rule{50pt}{50pt}% pic corresponding to 1.2
\end{column}
\end{columns}
\end{minipage}
\end{frame}
\end{document}
期望的效果应该是...
- 1 弹出
- 1.1 与 pic1 同时弹出
- 1.2 与图2一起弹出
当 pic2 出现时,pic1 可以消失,也可以保留在那里,只要 pic2 可见。
我怎样才能实现它?
答案1
如果我理解你的问题没有错,你希望当 1.1 出现时出现图片,然后当 1.2 出现时第二张图片替换它。这可以使用命令\alt
和幻灯片规范来实现<
,而>
不是\pause
。这是一个解决方案:
\documentclass{beamer}
\usepackage{color}
\newcommand{\picone}{{\color{red}\rule{50pt}{50pt}}}
\newcommand{\pictwo}{{\color{green}\rule{50pt}{50pt}}}
\begin{document}
\begin{frame}
\frametitle{Background}
\begin{minipage}[0.2\textheight]{\textwidth}
\begin{columns}[T]
\begin{column}{0.8\textwidth}
\begin{itemize}
\item<2-> 1
\begin{enumerate}
\item<3-> 1
\item<4-> 2
\end{enumerate}
\end{itemize}
\end{column}
\begin{column}{0.2\textwidth}
\alt<1-2>{}{\alt<3>{\picone}{\pictwo}}
\end{column}
\end{columns}
\end{minipage}
\end{frame}
\end{document}
我已经包含了该color
包以使图片的变化可见。
如果你希望第二张图片出现时第一张图片保留,那么你可以替换
\alt<1-2>{}{\alt<3>{\picone}{\pictwo}}
经过
\onslide<3->{\picone}
\onslide<4->{\pictwo}
我希望这是您所寻找的解决方案。
编辑
在 beamer 中,您通常可以使用<n-m>
on 来指定它们应在帧中出现的时间。正如人们可能猜测的那样,n
和m
表示间隔,但其中一个 then 可能会被省略,因此<n-
> 和分别<-m>
表示从n
和到和直到m
。您还可以写出<n>
是否只n
希望该内容出现在幻灯片上。这些内容可以用逗号分隔的列表组合起来,这<1,4->
意味着在幻灯片 1 上加上幻灯片 4 以及之后。
该命令\alt
显示一个内容,然后在指定的幻灯片上将其更改为其他内容(我猜是这个名字的由来)。例如
\alt<2-3>{first}{second}
first
在第 2 张和第 3 张幻灯片以及second
其余幻灯片上显示。
我所做的是制作嵌套的\alt
,以便可以在三个不同的东西(无、图片 1 和图片 2)之间切换。因此,如果您希望在第二个图片之后出现一张额外的图片,您可以替换
\alt<1-2>{}{\alt<3>{\picone}{\pictwo}}
经过
\alt<1-2>{}{\alt<3>{\picone}{\alt<4>{\pictwo}{\picthree}}}
通过这种方式,您可以继续处理任意数量的图片。