In beamer
, the standard overlay specification seems to be onslide
. In below code, \item<2->
reserves space for the second item on all slides. Inside a tikz
environment, however, the standard overlay specification is only
, which does not reserve space and causes these "jumping" or "dancing" slides. Is there a way to change the standard overlay specification to onslide
so that the rest of the slide does not shift between slides 2 and 3?
I know I could use an overlayarea
with sufficiently large height or, equivalently, draw an invisible rectangle on slides 1-2, but that requires manual effort that can accumulate to be quite costly in a lifetime of creating lecture slides. The overlay
option for the tikzpicture
has the desired effect only if there is no other content on the slide. I could use \onslide<3->{\draw (0, 0) rectangle (-1, -1);}
instead, which has the desired effect, but is rather ugly. Is there no way to change the default behavior of the \draw
and other beamer commands so that \draw<> ...
produces \onslide<>{\draw ...}
?
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{center}
\begin{tikzpicture}
\draw (0, 0) rectangle (1, 1);
\draw<3-> (0, 0) rectangle (-1, -1);
\end{tikzpicture}
\end{center}
\begin{itemize}
\item Some text
\item<2-> More text
\end{itemize}
\end{frame}
\end{document}