Beamer:定义一个新的对齐环境以逐段揭示/警告每个方程式

Beamer:定义一个新的对齐环境以逐段揭示/警告每个方程式

对于以下示例,我需要使用align环境并揭示/提醒每个方程式。常规方法如下所示

\documentclass{beamer}
\usepackage{amsmath,mathtools}

\begin{document}
\begin{frame}

\begin{align}
    \uncover<1->{\alert<1>{X}   & \alert<1>{=Y} \\
                                & \alert<1>{=1} \\}
    %
    \uncover<2->{\alert<2>{A}   & \alert<2>{=B}}%
\end{align}
\end{frame}
\end{document}

在此处输入图片描述


在此处输入图片描述


但如果方程式较长且附加,则会更加繁琐。

那么,有没有办法定义一个新的align类似环境,将代码放入常规align环境中并得到上述结果,考虑:

  1. 第一张幻灯片中的附加方程编号 (3) 未显示在第一张幻灯片中
  2. 方程编号通过其方程突出显示

答案1

根据 Beamer 手册,amsmath环境在与覆盖规范的兼容性方面存在问题,因为它们内部处理参数的方式。例如,手册在第 78 页解释了\pausealign环境的不兼容性,如下所示。

此命令在 amsmath 环境(例如 align)中不起作用,因为它们会执行非常邪恶的事情。

因此,在这种情况下,Beamer 自己的各种邪恶诡计无法以标准(或方便)的方式得到容纳。

但是,本手册后面提供了方程标签的解决方案。这无法突出显示标签,但至少可以将正确的标签放到正确的幻灯片上。解决方案需要在 内添加一个空行align,结合\notag,并补偿负跳过。

\documentclass{beamer}
\usepackage{mathtools}
\begin{document}
\begin{frame}
  \begin{align}% based on solution on page 217 of the Beamer manual
    \alert<1>{X}   & \alert<1>{=Y} \\
    & \alert<1>{=1} \\
    \uncover<+(1)->{\alert{A}   & \alert{=B}\\}
    \notag
  \end{align}
  \vskip-1.5em
\end{frame}
\end{document}

幻灯片标签

查阅文档总是明智的,特别是当问题可能是一个相对常见的问题时,例如尝试使用amsmath具有 Beamer 覆盖规范的环境。如果 Beamer 的手册没有任何事物这么说吧,哪怕只是这么说,也amsmath太恶劣了!

[此时此刻,提到五十步笑百步确实很诱人,但毫无疑问,在这种情况下,程序员的眼中充满了邪恶。]

相关内容