逐项列出并发出警报

逐项列出并发出警报

我正在尝试在投影仪中制作一张幻灯片,其中每行都带有警报。这是我当前正在使用的代码:

\newenvironment{stepenumerate}{\begin{enumerate}[<+->]}{\end{enumerate}}
\newenvironment{stepitemize}{\begin{itemize}[<+->]}{\end{itemize}}
\newenvironment{stepenumeratewithalert}{\begin{enumerate}[<+-| alert@+>]}{\end{enumerate}}
\newenvironment{stepitemizewithalert}{\begin{itemize}[<+-| alert@+>]}{\end{itemize}}
\documentclass{beamer}

\begin{document}
\begin{frame}[fragile]
\frametitle{The Title}
\framesubtitle {The title}
\begin{stepitemizewithalert}
\item This is the first line:
\end{stepitemizewithalert}
\begin{definition}<2->
This is the definition.
\end{definition}
\begin{stepitemizewithalert}
\item <3->This is the third line.
\end{stepitemizewithalert}
\end{frame}

\end{document}

您可能会注意到,第一行没有问题,但定义和第三行没有出现警报。您能帮我解决这个问题吗?

谢谢大家。

最好的,

达里奥

答案1

我认为你滥用了 beamer 的<3->功能。当你写

\item <3->This is the third line.

你是说这个物品应该从第三面开始出现没有警报。从某种意义上说,使用这种环境的全部目的就是避免必须手动插入所有命令<k->

您的 MWE 中的问题是stepenumeratewithalert环境中的幻灯片编号不同步。这似乎总是在 itemize 环境开始时发生,所以我不确定这是否是一个错误,或者 beamer 作者是否认为这是一个功能。

无论如何,您都可以stepenumeratewithalert使用命令的可选参数在环境开始时手动“设置”侧面编号\pause。详细地说,以下内容似乎可以满足您的要求:

\documentclass{beamer}
\newenvironment{stepenumeratewithalert}{\begin{enumerate}[<+-| alert@+>]}{\end{enumerate}}
\begin{document}
  \begin{frame}[fragile]
  \begin{stepenumeratewithalert}
    \item This is the first line:
  \end{stepenumeratewithalert}

  \begin{definition}<2->
  This is the definition.
  \end{definition}

  \pause[3]% set current slide number equal to 3
  \begin{stepenumeratewithalert}
    \item This is the third line.
  \end{stepenumeratewithalert}
  \end{frame}

\end{document}

以下是第三张幻灯片的输出:

在此处输入图片描述

不管怎样,我尽可能地尝试使用\pause,而不是显式<k->命令。例如,我会将 放在环境\pause前面definition,而不是用 硬编码幻灯片编号<2->。当然,有时这是不可避免的。

相关内容