以下是 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