使用 \pause 在 itemize[] 之后显示文本会创建双幻灯片

使用 \pause 在 itemize[] 之后显示文本会创建双幻灯片

我遇到了叠加规范和之间的一些奇怪的交互\pause。基本上,我有一个 itemize 和一些文本(或块)。我想逐步完成 itemize 和显示文本/块。

我尝试在和文本\pause之间放置一个简单的itemize,但是这样就会创建两张幻灯片,两张幻灯片都包含完整的项目而没有文本。

如果我不放,\pause文本从一开始就是可见的(我不想要)。

我已经找到了一个简单的解决方法:itemize[<+->]我可以指定项目上的幻灯片(例如item<1->, ...item<2->,... \pause),而不是使用,但由于某些原因,我不喜欢这种解决方案:

  • 我必须比以前打更多字
  • 我必须对幻灯片编号进行硬编码
  • 此解决方案不够可靠。修改商品顺序、删除或添加新商品都会破坏该解决方案。
  • 我认为一定有更好的解决方案。

那么,我该怎么办呢?

顺便说一下,一个简单的例子:

\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage{default}

\begin{document}

\begin{frame}
    \begin{itemize}[<+->]
        \item A
        \item B
        \item C
    \end{itemize}

    \pause  % double pause here

    Some text.
\end{frame}

\end{document}

答案1

这是一个同步问题;如果你添加\thebeamerpauses一些地方(以获取计数器的值beamerpauses),你就会看到发生了什么:

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{default}

\begin{document}

\begin{frame}
\begin{itemize}[<+->]
\item A\thebeamerpauses
\item B\thebeamerpauses
\item C\thebeamerpauses
\end{itemize}\thebeamerpauses
\pause
Some text.\thebeamerpauses 
\end{frame}

\end{document}

在环境结束时,itemize计数器的值为四,并将\pause其步进到 5,因此文本将出现在第五张幻灯片上。

为了获得预期的结果,您可以使用可选参数\pause和计数器的值beamerpauses

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{default}

\begin{document}

\begin{frame}
\begin{itemize}[<+->]
\item A
\item B
\item C
\end{itemize}
\pause[\thebeamerpauses]
Some text.
\end{frame}

\end{document}

另一个选择是使用\onslide<+->而不是\pause

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{default}

\begin{document}

\begin{frame}
\begin{itemize}[<+->]
\item A
\item B
\item C
\end{itemize}
\onslide<+->{Some text.}
\end{frame}

\end{document}

相关内容