Reserve o lugar para futuras sobreposições

Reserve o lugar para futuras sobreposições

Tenho 3 partes em um tabular, quero onslide1-que seja sempre exibido. Após 1 clique, quero only2ser mostrado; depois de outro clique, na posição de only2, quero only3-substituir only2para sempre; após outro clique, onslide4-aparecerá. O código é o seguinte:

\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}

O problema é quando onslide1-aparece logo no início, não sai do lugar para only2o only3-que vai aparecer depois. Tento adicionar um \onslide<2->, porque normalmente \onslidereserva a vaga, mas aqui não funciona... Alguém sabe como resolver isso?

PS: Percebo que o código a seguir, que é mais simples que o anterior, tem o mesmo problema:

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

No entanto, o código a seguir não apresenta esse problema. Então parece que é por causa da posição de \\, mas preciso sim \\\hlineno 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}

Responder1

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}

insira a descrição da imagem aqui

Responder2

Tente com \visibleou \uncoverem vez de \onlye \onslide.

informação relacionada