Beamer 两列叠加显示对齐方程式,先右列,再左列

Beamer 两列叠加显示对齐方程式,先右列,再左列

我正在尝试为一个框架设置一个覆盖,其中我希望首先显示右列中对齐的环境内的方程式列表,然后显示左列中对齐的环境内的方程式列表。

以下是我尝试过的: 经过一番搜索,我发现你可以使用\onslide在左列之前覆盖右列,并且我已包含一个解决方法,允许对齐环境用于/pause覆盖。但是,这两个方法结合起来似乎不起作用。

\documentclass{beamer}
%allow for pause inside aligned
\def\pdftex@driver{pdftex.def}
\ifx\Gin@driver\pdftex@driver
\def\pgfsys@color@unstacked#1{%
    \pdfliteral{\csname\string\color@#1\endcsname}%
}
\fi
\begin{document}
\begin{frame}
\begin{columns}
\onslide<2->{
\column[t]{0.5\textwidth}
\[
\begin{aligned}
equation 4 &= display 4th \\ \pause
equation 5 &= display 5th \\ \pause
equation 6 &= display 6th \\ \pause
\end{aligned}
\]
}
\onslide<1->{       
\column[t]{0.5\textwidth}
\[
\begin{aligned}
equation 1 &= display first \\ \pause
equation 2 &= display second \\ \pause
equation 3 &= display third \\ \pause
\end{aligned}
\]
}
\end{columns}   
\end{frame}
\end{document}

答案1

您的示例中有两个问题:

  1. 您希望从第 4 张幻灯片开始显示左列,因此您必须使用\onslide<4->{而不是\onslide<2->{
  2. 但你仍然有一个问题,即左列的暂停出现在右列之前,因此第 4 至第 6 项会首先显示,即使由于\onslide

对于这种复杂的安排,手动覆盖提供了最大的灵活性:

\documentclass{beamer}
%allow for pause inside aligned
\def\pdftex@driver{pdftex.def}
\ifx\Gin@driver\pdftex@driver
\def\pgfsys@color@unstacked#1{%
    \pdfliteral{\csname\string\color@#1\endcsname}%
}
\fi
\begin{document}
\begin{frame}
\begin{columns}
\begin{column}[T]{0.45\textwidth}
\[
\begin{aligned}
\onslide<4->{equation 4 &= display 4th \\} 
\onslide<5->{equation 5 &= display 5th \\} 
\onslide<6->{equation 6 &= display 6th \\} 
\end{aligned}
\]
\end{column}  
\begin{column}[T]{0.45\textwidth}
\[
\begin{aligned}
\onslide<1->{equation 1 &= display first \\} 
\onslide<2->{equation 2 &= display second \\} 
\onslide<3->{equation 3 &= display third \\} 
\end{aligned}
\]
\end{column}
\end{columns}   
\end{frame}
\end{document}

相关内容