我遇到了叠加规范和之间的一些奇怪的交互\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}