保留进一步叠加的位置

保留进一步叠加的位置

我在 中有三个部分tabular,我希望onslide1-它们始终显示。单击一次后,我希望它们only2显示出来;单击另一次后,在 的位置only2,我希望它们永远only3-被替换;单击另一次后,才会出现。代码如下: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

相关内容