我正在尝试构建一个有 2 列的框架。两列都有覆盖层,我希望它们按顺序显示。我的意思是,首先显示第一列的所有内容(带有覆盖层),然后显示第二列的内容(也带有其覆盖层)。以下是 MWE:
\documentclass{beamer}
\usepackage{arev}
\begin{document}
\begin{frame}{test}
\begin{columns}[t]
\column{0.5\textwidth}
\begin{center}
\rule{1cm}{1cm}
\only<2->{\vskip2pt \rule{1cm}{1cm}}
\only<3->{\vskip2pt \rule{1cm}{1cm}}
\end{center}
\column{0.5\textwidth}
\begin{itemize}
\item<4-> aaa
\item<5-> bbb
\item<6-> ccc
\end{itemize}
\end{columns}
\end{frame}
\end{document}
具体来说,我想要的结构是:
\begin{itemize}
\item<4-> aaa
\item<5-> bbb
\item<6-> ccc
\end{itemize}
替换为类似以下内容:
\begin{itemize}[<+->]
\item aaa
\item bbb
\item ccc
\end{itemize}
我测试了各种方法,\only<>{}
\visible<>{}
但都没有效果。
答案1
一种可能性是:
\documentclass{beamer}
\usepackage{arev}
\begin{document}
\begin{frame}{test}
\begin{columns}[t]
\column{0.5\textwidth}
\begin{center}
\rule{1cm}{1cm}
\only<2->{\vskip2pt \rule{1cm}{1cm}}
\only<3->{\vskip2pt \rule{1cm}{1cm}}
\end{center}
\column{0.5\textwidth}
\begin{itemize}[<+(3)->]
\item aaa
\item bbb
\item ccc
\end{itemize}
\end{columns}
\end{frame}
\end{document}
该语法将计数器的值+(<number>)
添加到。<number>
beamerpauses
由于您不需要手动控制计数器,因此这更加自动化:
\documentclass{beamer}
\usepackage{arev}
\begin{document}
\begin{frame}{test}
\begin{columns}[t]
\column{0.5\textwidth}
\begin{center}
\onslide<+->{\rule{1cm}{1cm}}
\onslide<+->{\vskip2pt \rule{1cm}{1cm}}
\onslide<+->{\vskip2pt \rule{1cm}{1cm}}
\end{center}
\column{0.5\textwidth}
\begin{itemize}[<+->]
\item aaa
\item bbb
\item ccc
\end{itemize}
\end{columns}
\end{frame}
\end{document}
或者使用\only
代替\onslide
(取决于预期效果)。