さらなるオーバーレイのための場所を確保

さらなるオーバーレイのための場所を確保

に 3 つのパーツがあり、常に表示したいです。 1 回クリックすると がtabular表示され、 の位置でもう一度クリックするとが永久に置き換えられ、もう一度クリックすると が表示されます。コードは次のとおりです。onslide1-only2only2only3-only2onslide4-

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

問題は、onslide1-が最初に表示されると、後に表示されるonly2またはの場所が残らないことです。 は通常場所を予約するため、 を追加しようとしましたが、ここでは機能しません... 解決方法をご存知の方はいませんか?only3-\onslide<2->\onslide

PS: 前のコードよりも単純な次のコードにも同じ問題があることがわかりました。

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

ただし、次のコードではこの問題は発生しません。 の位置が原因​​のようですが、初期コードでは\\が必要です。\\\hline

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

答え1

使用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}

ここに画像の説明を入力してください

答え2

およびの代わりに\visibleまたは を試してください。\uncover\only\onslide

関連情報