在 beamer 的覆盖规范中,是否有一种紧凑的方式来引用最后一张幻灯片(构建阶段)?我正在寻找类似于<.>
(引用当前幻灯片)或<+>
(在当前位置生成新幻灯片)的内容。
更具体地说,请考虑以下 MWE。它创建一个列表,其中每个项目都出现在新幻灯片上。然后,最后,我想突出显示文本“B”。
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{itemize}[<+->]
\item A
\item \alert<4>{B}
\item C
\end{itemize}
\end{frame}
\end{document}
这符合我的预期,但如果我现在添加另一项
\item D
并且仍然希望在列表完成后突出显示,那么我必须手动更改 中的数字<4>
。当框架包含很多幻灯片时,这可能会有点麻烦……如果有办法,比如说,通过从末尾计数来指定幻灯片,那就更优雅了,但我在手册中找不到任何类似的东西。然后我只需在代码\pause
末尾附加一个,然后将第二项替换为类似
\item \alert<n1>{B}
其中“n1”指的是“负 1”,以避免与“-1”(所有滑动直到 1)混淆。存在类似的东西吗?
答案1
这实际上是一个非常棘手的问题——突出显示框架最后一张幻灯片上的某些内容很容易做到(您可以从 frameendpage-framestartpage 计算幻灯片总数),但如果我正确理解您的问题,您不希望突出显示框架的最后一张幻灯片,而是突出显示它之后的一张幻灯片。这意味着必须创建一个额外的覆盖,这会改变此框架中的幻灯片数量,这意味着在下一次运行中,最后一张幻灯片不再是最后一张幻灯片......
解决此困境的一种方法是手动创建附加覆盖:
\documentclass{beamer}
\newcounter{foo}
\begin{document}
\begin{frame}
\begin{itemize}[<+->]
\item A
\item
\setcounter{foo}{\insertframeendpage}
\addtocounter{foo}{-\insertframestartpage}
\addtocounter{foo}{1}
\alert<\thefoo>{B}
\item C
\item D
\end{itemize}
\only<+>{}
\end{frame}
\end{document}