Reserve el lugar para más superposiciones

Reserve el lugar para más superposiciones

Tengo 3 partes en un tabular, quiero onslide1-que siempre se muestren. Después de 1 clic, quiero only2que me muestren; después de otro clic, en la posición de only2, quiero only3-reemplazar only2para siempre; después de otro clic, onslide4-aparecerá. El código es el siguiente:

\documentclass{beamer}
\usetheme{Boadilla}
\usepackage[frenchb]{babel}

\begin{document}

\begin{frame}
  \begin{tabular}{ll|ll}
    \onslide<1->{
      \\\hline onslide1- \\\hline
    }

    \onslide<2->{
    \only<2>{
      \\[-2.8ex]
      only2\\\vspace{3cm}\\only2
      \\\hline
    }%

    \only<3->{
      \\[-2.8ex]
      only3-\\\vspace{3cm}\\only3-
      \\\hline
    }}

    \onslide<4->{
      \\\hline onslide4- \\\hline
    }

  \end{tabular}
\end{frame}

El problema es que cuando onslide1-se muestra al principio, no deja el lugar para only2lo only3-que aparecerá después. Intento agregar un \onslide<2->, porque normalmente \onslidese reserva el lugar, pero aquí no funciona... ¿Alguien sabe cómo solucionar eso?

PD: Me doy cuenta de que el siguiente código, que es más sencillo que el anterior, tiene el mismo problema:

\begin{frame}
\begin{tabular}{ll|ll}
  \onslide<1->{onslide1\\}
  \only<2>{only2\\}%
  \only<3->{only3-\\}
  \onslide<4->{onslide4-\\} 
\end{tabular}
\end{frame}

Sin embargo, el siguiente código no tiene este problema. Entonces parece que se debe a la posición de \\, pero lo necesito \\\hlineen el código inicial.

\begin{frame}
\begin{tabular}{ll|ll}
  \onslide<1->{onslide1}\\
  \only<2>{only2}%
  \only<3->{only3-}\\
  \onslide<4->{onslide4-}\\ 
\end{tabular}
\end{frame}

Respuesta1

Usar overlayarea:

\documentclass{beamer}
\usetheme{Boadilla}
\usepackage[frenchb]{babel}

\begin{document}

\begin{frame}
\begin{overlayarea}{7cm}{7cm}
\begin{tabular}{ll|ll}
    \onslide<1->{%
      \\\hline onslide1- \\\hline
    }
    \only<2>{%
      \\[-2.8ex]
      only2\\\vspace{3cm}\\only2
      \\\hline
    }%
    \only<3->{%
      \\[-2.8ex]
      only3-\\\vspace{3cm}\\only3-
      \\\hline
    }
    \onslide<4->{%
      \\\hline onslide4- \\\hline
    }
  \end{tabular}
\end{overlayarea}
\end{frame}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Pruebe con \visibleo \uncoveren lugar de \onlyy \onslide.

información relacionada