在最后一行发现 \tag

在最后一行发现 \tag

以下是 MWE:

\documentclass{beamer}
\usepackage{amsmath}
\begin{document}
\setbeamertemplate{navigation symbols}{}
\begin{frame}[shrink]
  \begin{alignat*}{5}
    \uncover<+->{t_n &= a + (n-1)d  \\}
    \uncover<+->{t_3 &= a + (3-1)d \tag{1} \\}
    \uncover<+->{t_3 &= a + (3-1)d  \\}
    \uncover<+->{t_3 &= a + (3-1)d  \\}
    \uncover<+->{-20 &= -20\tag{2}}
    \notag
  \end{alignat*}
  \vskip-1.5em
\end{frame}
\end{document}

\notag 和 \vskip 符合 Beamer 手册(第 23.4 节)的建议。(1) 标签显示正确。但 (2) 标签从幻灯片 1 开始就显示出来。

当该线被揭露时,我需要做什么才能使(2)被发现?

答案1

在第一张幻灯片中,\uncover<+->{t_3 &= a + (3-1)d \tag{1} \\}将翻译为

\pgfsys@begininvisible
t_3 &= a + (3-1)d \tag{1} \\
\pgfsys@endinvisible

并将\uncover<+->{-20 &= -20\tag{2}}\end{alignat*}翻译为

\pgfsys@begininvisible
-20 &= -20\tag{2}
\pgfsys@endinvisible
\end{alignat*}

对于第一种情况,\tag{1}排版在 处\\。因此标签属于不可见范围,不会显示在第一张幻灯片中。

对于第二种情况,\tag{2}排版在 处\end{alignat*}。因此标签超出了不可见范围,并显示在第一张幻灯片中。


为了解决这个问题,可以写

\begin{alignat*}{5}
  \uncover<+->{t_n &= a + (n-1)d  \\}
  \uncover<+->{t_3 &= a + (3-1)d \tag{1} \\}
  \uncover<+->{t_3 &= a + (3-1)d  \\}
  \uncover<+->{t_3 &= a + (3-1)d  \\}
  \uncover<+->{-20 &= -20\tag{2}
  \notag
\end{alignat*}}

只是在开玩笑...

将标签包含在不可见范围内的正确方法是

\begin{alignat*}{5}
  \uncover<+->{t_n &= a + (n-1)d  \\}
  \uncover<+->{t_3 &= a + (3-1)d \tag{1} \\}
  \uncover<+->{t_3 &= a + (3-1)d  \\}
  \uncover<+->{t_3 &= a + (3-1)d  \\}
  \alt<+->\beamer@spacingcover\beamer@startcovered -20 &= -20\tag{2}
\end{alignat*}
\alt<.->\beamer@spacingcover\beamer@endcovered

相关内容