22

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 did not find any information about this. I checked the source code and found some related macros/counters, but they didn't always hold the correct values. \beamerpauses seems not the correct one either. Does anyone know the "official" counter/macro for this number?

Paul Wintz
  • 402
  • 2
  • 14
Martin Scharrer
  • 262,582

1 Answers1

30

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}
diabonas
  • 25,784