我尝试在 beamer 中应用一个简单的转换,在编写操作后无需每次都重复方程。我尝试代码:
\begin{frame}
\frametitle{Exemples}
\begin{exampleblock}{2.1.2.Exemples}
Effectuer les opérations suivantes:
\begin{multicols}{2} % two columns
\begin{itemize}[<+->]
\item<1-> $A = \underbrace{(15 - 7)\onslide<2>}- 6 + 3$
\item<2-> $A = \underbrace{8 - 6\onslide<3>} + 3 $
\item<3-> $A = \underbrace{2 + 3\onslide<4>} $
\item<4-> $A = 5 $
\columnbreak
\item<5-> $B =\underbrace{(9 + 13)\onslide<2->}- 7.2 - 1 $
\item<6-> $B = \underbrace{22 - 7.2} - 1 $
\item<7-> $B = \underbrace{14.8 - 1} $
\item<8-> $B = 13.8 $
\end{itemize}
\end{multicols}
\end{exampleblock}
\end{frame}
我试图让方程式 A 和 B 首先出现,让学生有时间反思,然后逐步显示更正,首先显示每个操作下方的下划线,然后过渡显示下一行$ A = 8 - 6 + 3 $
...所以我使用\only<1->
但它不起作用,我认为这是一个基本问题,现在我已经正确插入了项目之间的转换并得到了结果:
我还不熟悉这个\onslide<2>
操作,请帮忙解决这个问题,
谢谢您的帮助 !
答案1
这是一个(有点长的)选项,它按顺序逐帧显示具有适当构造的元素\underbrace
:
\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{multicol,mathtools,eqparbox}
% https://tex.stackexchange.com/a/34412/5764
\makeatletter
\NewDocumentCommand{\eqmathbox}{o O{c} m}{%
\IfValueTF{#1}
{\def\eqmathbox@##1##2{\eqmakebox[#1][#2]{$##1##2$}}}
{\def\eqmathbox@##1##2{\eqmakebox{$##1##2$}}}
\mathpalette\eqmathbox@{#3}
}
\makeatother
\begin{document}
\begin{frame}
\frametitle{Exemples}
\begin{exampleblock}{2.1.2.Exemples}
Effectuer les opérations suivantes:
\begin{multicols}{2} % two columns
\begin{itemize}[<+->]
\item $A = \alt<2->
{\eqmathbox[A1]{\underbrace{(15 - 7)}}}% Slide 2+
{\eqmathbox[A1]{\vphantom{\underbrace{(15 - 7)}}(15 - 7)}}% Slide 2 only
- 6 + 3$
\item $A = \alt<3->
{\eqmathbox[A2]{\underbrace{\eqmathbox[A1]{8} - 6}}}% Slide 3+
{\eqmathbox[A2]{\vphantom{\underbrace{\eqmathbox[A1]{8} - 6}}\eqmathbox[A1]{8} - 6}}% Slide 3 only
+ 3$
\item $A = \alt<4->
{\eqmathbox[A3]{\underbrace{\eqmathbox[A2]{2} + 3}}}% Slide 4+
{\eqmathbox[A3]{\vphantom{\underbrace{\eqmathbox[A2]{2} + 3}}\eqmathbox[A2]{2} + 3}}% Slide 4 only
$
\item $A = \eqmathbox[A3]{5}$
\columnbreak
\item $B = \alt<6->
{\eqmathbox[B1]{\underbrace{(9 + 13)}}}% Slide 6+
{\eqmathbox[B1]{\vphantom{\underbrace{(9 + 13)}}(9 + 13)}}% Slide 6 only
- 7.2 - 1$
\item $B = \alt<7->
{\eqmathbox[B2]{\underbrace{\eqmathbox[B1]{22} - 7.2}}}% Slide 7+
{\eqmathbox[B2]{\vphantom{\underbrace{\eqmathbox[B1]{22} - 7.2}}\eqmathbox[B1]{22} - 7.2}}% Slide 7 only
- 1$
\item $B = \alt<8->
{\eqmathbox[B3]{\underbrace{\eqmathbox[B2]{14.8} - 1}}}% Slide 8+
{\eqmathbox[B3]{\vphantom{\underbrace{\eqmathbox[B2]{14.8} - 1}}\eqmathbox[B2]{14.8} - 1}}% Slide 8 only
$
\item $B = \eqmathbox[B3]{13.8}$
\end{itemize}
\end{multicols}
\end{exampleblock}
\end{frame}
\end{document}
我正在使用通过捕获的盒子eqparbox
<stuff>
对于测量大小相同的区域,任何最大宽度的变化<tag>
都\eqmathbox[<tag>][<align>]{<stuff>}
需要重新编译。
答案2
我在这里找到了答案,关联
\documentclass{beamer}
\setbeamercovered{transparent}
\begin{document}
\begin{frame}
\begin{displaymath}
\onslide<2-> \underbrace{ \onslide<1->
foo
\onslide<2-> }_{bar} \onslide<1->
\text{some more stuff for slide 1}
\end{displaymath}
\end{frame}
\end{document}
这是最聪明的办法,将显示屏和底部支架分开