在 beamer 中编辑要点

在 beamer 中编辑要点

我想使用 beamer 突出显示算法的操作,并且需要在每次操作后在页面上编辑可视化数据结构。为简单起见,假设我有一个列表。幻灯片如下所示:

---
L: []
---
L: [1]
1. Appended 1 to list
---
L: [1,2]
1. Appended 1 to list
2. Appended 2 to list
---

总共有 3 张幻灯片。我希望 L 位于每张幻灯片上的相同位置,这样当我切换到下一张幻灯片时,其内容就会发生一些变化,并且执行的相应操作会添加到下面。

有没有简单的方法可以实现这样的效果?我完全不知道如何提供这种效果,但如果需要最小模板,那么这里就是:

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usetheme{Boadilla}

\begin{document}
\begin{frame}
\frametitle{foo}
$L: [1,2]$
\begin{itemize}
\item Appended 1 to list
\item Appended 2 to list
\end{itemize}
\end{frame}
\end{document}

换句话说,我希望通过上述 3 张幻灯片的顺序到达这张幻灯片。

答案1

使用 beamer 命令\only<_range_>{_content_}\onslide<_range_>{_content_}。它们仅显示所_content_提供的_range_,例如\only<1>{}幻灯片 1、\only<2->{}从 2 开始的所有幻灯片等。

only和之间的区别onslide在于输出的呈现:仅表现为代码仅存在于此幻灯片上,而 \onslide 呈现输出,但它仅在提供的幻灯片上可见。

在 itemize 和 enumerate 环境中,您只需在 之后使用这些范围命令\item,而不需要foronslide

以下是示例:

\documentclass{beamer}
\begin{document}
\begin{frame}
  L: [\only<1>{ }\only<2->{1}\only<3->{, 2}]
  \begin{enumerate}
    \item<2-> Appended 1 to list
    \item<3-> Appended 2 to list
  \end{enumerate}
\end{frame}
\end{document}

结果如下:

幻灯片1 幻灯片2 幻灯片3

相关内容