Tengo 3 partes en un tabular
, quiero onslide1-
que siempre se muestren. Después de 1 clic, quiero only2
que me muestren; después de otro clic, en la posición de only2
, quiero only3-
reemplazar only2
para 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 only2
lo only3-
que aparecerá después. Intento agregar un \onslide<2->
, porque normalmente \onslide
se 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 \\\hline
en 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}
Respuesta2
Pruebe con \visible
o \uncover
en lugar de \only
y \onslide
.