I have two-column slides where there is a tikz figure on the left, and itemization on the right. There is >10 overlays due to pauses in the itemization, and some pieces of the tikz picture are added/removed/modified accordingly (with \only<>) as are the items uncovered.
It is easy to break the code by adding one \pause, because all numbers have to be rewritten.
Is there a way (no hint in Beamer Manual, chap. 9) to assign the value of beamerpause counter to symbolic names, at the point when that part gets uncovered for the first time, something like (needs multiple passes to be resolved) the following?
\begin{column}{..}
\only</bar->{...} % <2-> (use e.g. / to reference labels)
\only<-/baz>{...} % <-3>
\end{column}
\begin{column{..}
\begin{itemize}
\item foo \pause
\item bar \firstUncoveredLabel{bar}\pause % assign 2 to label /bar
\item baz \pause[baz] % nicer syntax; assign 3 to label /baz
\item end
\end{itemize}
\end{column}
EDIT: minimal working example:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{columns}
\begin{column}{.5\textwidth}
\tikz{
\draw< -3> (0,0) grid (3,3);
\draw<2-3>[red] (0,0) -- (3,1);
\draw<3- >[green] (0,0) -- (3,2);
\draw<4 >[blue] (0,0) -- (3,3);
}
\end{column}
\begin{column}{.5\textwidth}
\begin{itemize}
%%%% uncomment this item and all numbers above have to be shifted :-(
% \item important remark at the beginning \pause
\item grid \pause
\item grid, red \pause
\item grid, red, green \pause
\item green, blue
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\end{document}
and this is what I dream of (does not compile):
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{columns}
\begin{column}{.5\textwidth}
\tikz{
%% use symbolic names for overlay specificaiton
\draw<-/gridRedGreen> (0,0) grid (3,3);
\draw</gridRed-/gridRedGreen>[red] (0,0) -- (3,1);
\draw</gridRedGreen-> [green] (0,0) -- (3,2);
\draw</last> [blue] (0,0) -- (3,3);
}
\end{column}
\begin{column}{.5\textwidth}
\begin{itemize}
%%%% uncomment and overlays are still correct :-)
% \item important remark at the beginning \pause
\item grid \pause[grid]
\item grid, red \pause[gridRed]
\item grid, red, green \pause[gridRedGreen]
\item green, blue
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\end{document}

\pauses from your example using[<+->]as an argument to the enumeration instead. Now the reference always points a frame too late. As I did not completely understand the effects of many commands in your solution, I failed to decrement he value before saving. Can you think of a way to use\item<+-> Lorem ipsum \savepause{a}so that something marked with\usepause{a}will show up exactly at the same time the item does? – XZS Oct 25 '13 at 14:02[<+->]is that the counterbeamerpausesis increased at the beginning of the\itemand not at the end. Unfortunately I can't think of a way to detect this automatically, but but I can offer you a workaround: Replace the definition of\savepauseabove by\DeclareRobustCommand*{\savepause}[2][0]{\only<1>{\advance\c@beamerpauses by#1\relax\immediate\write\@auxout{\string\pauseentry{\the\c@framenumber}{#2}{\the\c@beamerpauses}}\advance\c@beamerpauses by-#1\relax}}and use\savepause[-1]{a}in theitemizeenvironment, like this will refer to the correct overlay. – diabonas Oct 25 '13 at 14:54\usepausecommand? Then, one could write\usepause[2]{grid} as equivalent to\usepause{gridRedGreen}` to make ranges more intuitive. – XZS Oct 25 '13 at 15:32\def\usepauseoffset[#1]#2{\number\numexpr\usepause{#2}+#1\relax}to be used like\usepauseoffset[2]{grid}. The different name is necessary as normal macros with an optional argument unfortunately don't work in overlay specifications due to the way beamer internally processes them. – diabonas Oct 25 '13 at 18:07savepauseouside the item environment andusepausein items then I don't need the\pausecommand. I putsavepauseafter the slide command I want to refer. See an example here : http://tex.stackexchange.com/questions/253815/beamer-how-to-avoid-the-lack-of-access-to-labelled-slide-not-frame-numbers – Tarass Jul 05 '15 at 21:34