枚举、覆盖和投影仪

枚举、覆盖和投影仪

我想了解 beamer 中 enumerate 的以下行为。以下示例

\documentclass{beamer}

\newcommand{\marca}{\onslide<2>{\makebox[0pt][r]{$\clubsuit$\qquad}}}
\begin{document}

\begin{frame}
My list

\begin{enumerate}
\item\marca One
\item Two
\end{enumerate}
\end{frame}

\end{document}

显示一个列表。我希望第一个覆盖层显示编号列表,第二个覆盖层显示第一个项目的俱乐部花色。但是,第一个数字没有出现。

\marca如果我以以下方式更改命令

\newcommand{\marca}{\makebox[0pt][r]{\overlay<2>{$\clubsuit$\qquad}}}

然后我就得到了我想要的。但我不明白为什么。有什么解释吗?

答案1

你的宏\uncover因此,幻灯片 2 上的内容\makebox{}在幻灯片 1 上被“覆盖”,但只是在那里,隐藏了项目的编号。

如果将 改为\onslide\uncover\visible则会获得类似的效果。但是如果将 改为\onslide\only则将\makebox仅有的在幻灯片 2 上,问题就消失了:

\newcommand{\marca}{%
\only<2>{\makebox[0pt][r]{$\clubsuit$\qquad}}
}

或者,您可以使用\onslide*而不是\only来获得相同的结果(运行texdoc beamer,参见第 80 页)。

答案2

当我尝试以下操作时,列表中的第一个数字出现了:

\newcommand{\marca}{\mbox{}\onslide<2>{\makebox[0pt][r]{$\clubsuit$\qquad}}}

\mbox{}在命令之前添加\onslide

相关内容