# Accessing the current overlay number in beamer

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?

-

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}

-
This seems indeed the right counter. How exactly did you find it? –  Martin Scharrer May 9 '12 at 12:39
@MartinScharrer I already had fun with the decode routine when answering previous questions, so I knew where to look ;-) –  diabonas May 9 '12 at 12:46