对于beamer
我的某个包中的一些相关代码,我需要访问当前的覆盖编号。我指的是用于诸如 之类的东西的内部编号\only<1>{..}
。
\only<1>{ Some internal number must be one in here }
\only<2>{ But 2 in here }
\only<1-5>{\includegraphics[page=(current overlay number)]{...}}
我查看了beamer
手册,没有找到任何相关信息。我查看了源代码,找到了一些相关的宏/计数器,但它们并不总是保存正确的值。\beamerpauses
似乎也不是正确的。有人知道这个数字的“官方”计数器/宏吗?
答案1
您可能正在寻找内部柜台
\beamer@slideinframe
定义于beamerbasedecode.sty
beamer
:当遇到诸如\only<1,3-5>{...}
检查是否显示或隐藏内容之类的事情时参考的值。
关于如何访问该值的小演示:
\documentclass{beamer}
\makeatletter
\newcommand*{\overlaynumber}{\number\beamer@slideinframe}
\makeatother
\begin{document}
\begin{frame}
\only<1>{ Some internal number must be \overlaynumber\ in here }
\only<2>{ But \overlaynumber\ in here }
\only<1-5>{Graphic \overlaynumber}
\end{frame}
\end{document}