Reservieren Sie den Platz für weitere Overlays

Reservieren Sie den Platz für weitere Overlays

Ich habe 3 Teile in einem tabular, die ich onslide1-immer anzeigen möchte. Nach einem Klick möchte ich only2angezeigt werden; nach einem weiteren Klick an der Position von only2möchte ich für immer only3-ersetzen only2; nach einem weiteren Klick onslide4-wird angezeigt. Der Code lautet wie folgt:

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

Das Problem ist, dass, wenn ganz am Anfang angezeigt wird, kein Platz für oder onslide1-frei bleibt, das später erscheinen wird. Ich versuche, ein hinzuzufügen , weil normalerweise der Platz reserviert wird, aber hier funktioniert es nicht ... Weiß jemand, wie man das lösen kann?only2only3-\onslide<2->\onslide

PS: Mir ist klar, dass der folgende Code, der einfacher als der vorherige ist, dasselbe Problem hat:

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

Der folgende Code hat dieses Problem jedoch nicht. Es scheint also, dass es an der Position von liegt \\, aber ich brauche es \\\hlineim ursprünglichen Code.

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

Antwort1

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

Bildbeschreibung hier eingeben

Antwort2

Versuchen Sie es mit \visibleoder \uncoverstatt \onlyund \onslide.

verwandte Informationen