项目在 beamer itemize 中显示两次

项目在 beamer itemize 中显示两次

beamer演示文稿中,我尝试在 itemize 中的同一个项目中显示两幅不同的图像。如果我在\pause项目之间添加,则不会显示图像。

那么,我应该如何显示“三,然后四”项两次?

这可能是一个非常愚蠢的问题,但我无法在这些页面或网络上找到解决方案。

\begin{frame}
\frametitle{Title}
\begin{columns}
\column{.4\textwidth}
  \begin{minipage}[c][.6\textheight][c]{\linewidth}
    \begin{itemize}[<+->]
        \item
            One
        \item
            Two
        \item
            Three, then four
        \item
            Five
    \end{itemize}
   \end{minipage}
\column{.6\textwidth}
\center
        \includegraphics<1>{fig_1}
        \includegraphics<2>{fig_2}
        \includegraphics<3>{fig_3}
        \includegraphics<4>{fig_4}
        \includegraphics<5>{fig_5}
\end{columns}
\end{frame}

答案1

这里的问题是,\pause在框架内具有全局范围。\pause在幻灯片上的某个地方放一个,表示“此之后的内容不会出现在之前的幻灯片上。”。这无法被覆盖。因此,您的所有\includegraphics命令都包含在“幻灯片可见后才显示\pause”中。因此,您需要限制 的范围\pause

一种方法是通过编写类似 的内容明确地告诉beamer每项应该出现在哪张幻灯片上。另一种方法是利用遇到语法时的行为。第二种方法的优点是它在改变列表顺序或插入或删除项目时很稳定。重要的是要知道,当 beamer在覆盖规范中看到一个符号,例如,它就会增加其内部计数器,该计数器会跟踪应该出现在哪张幻灯片上的内容。所以 each说,“从下一张幻灯片开始显示这个。”(请注意,环境的可选参数只是每次的快捷方式)。因此,诀窍是在您想要额外暂停时告诉增加计数器。该项目将从覆盖 3 开始显示,但该项目将等待额外的一轮才能显示。item\item<3->beamer<+->+<+->\item<+->itemize\item<+->beamerthree, then fourfive

实现这一目标的方法有很多种。最直接的方法是简单地编写\stepcounter{beamerpauses}。最间接的方法是确保beamer看到某个地方的额外内容+。事实上,这可能是一个混淆竞赛!将\onslide<+>{}\alert<+>{}\invisible<+>{},或者实际上任何覆盖感知命令放在该行的某个地方都可以。我认为我的个人的最喜欢写的是

\visible<-+,+->{Three, then four}

(请注意,由于两个+s 出现在相同的覆盖规范,计数器只更新一次。)但这\stepcounter可能是最清楚的,也是最容易记住为什么在六个月后把它放在那里的。

\documentclass{beamer}

\begin{document}
\begin{frame}
\frametitle{Title}
\begin{columns}
\column{.4\textwidth}
  \begin{minipage}[c][.6\textheight][c]{\linewidth}
    \begin{itemize}[<+->]
        \item
            One
        \item
            Two
        \item
            Three, then four
            \stepcounter{beamerpauses}
        \item
            Five
    \end{itemize}
   \end{minipage}
\column{.6\textwidth}
\center
    \includegraphics<1>{fig_1}
    \includegraphics<2>{fig_2}
    \includegraphics<3>{fig_3}
    \includegraphics<4>{fig_4}
    \includegraphics<5>{fig_5}
\end{columns}
\end{frame}
\end{document}

答案2

不要将其用作环境[<+->]的全局定义itemize。而是将其用于每个项目\item<1->(例如第一个项目),然后您可以同时拥有两个项目。

\PassOptionsToPackage{demo}{graphicx}%% delete it
\documentclass{beamer}

\begin{document}
\begin{frame}
\frametitle{Title}
\begin{columns}
\column{.4\textwidth}
  \begin{minipage}[c][.6\textheight][c]{\linewidth}
    \begin{itemize}
        \item<1->
            One
        \item<2->
            Two
        \item<3->
            Three, \onslide<4->{then four}
        \item<5->
            Five
    \end{itemize}
   \end{minipage}
\column{.6\textwidth}
\center
    \includegraphics<1>{fig_1}
    \includegraphics<2>{fig_2}
    \includegraphics<3>{fig_3}
    \includegraphics<4>{fig_4}
    \includegraphics<5>{fig_5}
\end{columns}
\end{frame}
\end{document}

相关内容