[Tex/LaTex] Accessing the current overlay number in beamer

beamercountersoverlays

For some beamer related code in one of my packages I need to access the current overlay number. I mean the internal number used for things like \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)]{...}}

I checked the beamer manual and could find any information about this. I checked the source code and found some related macros/counters but they didn't held always the correct values. \beamerpauses seems not the correct one either. Does anyone now the "offical" counter/macro for this number?

Best Answer

You may be looking for the internal counter

\beamer@slideinframe

as defined in beamerbasedecode.sty: It is the value beamer consults when encountering something like \only<1,3-5>{...} to check whether to display or to hide the content.

A small demonstration on how to access this value:

\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}