请考虑以下 MWE:
\documentclass{beamer}
\usetheme{Copenhagen}
\begin{document}
\begin{frame}
\begin{block}{}
Text.
\begin{align*}
A&=B\\
\only<2>{
&\color{red}{C=D+1-5M\implies E=1}\\
}
\uncover<3->{&=C\\}
\uncover<4->{&=B}
\end{align*}
\end{block}
\end{frame}
\end{document}
问题出在幻灯片 2 上,其位置A=B
与幻灯片 1、3 和 5 中的位置不相同:
我想要红色,因为它是我将在下一步中使用的属性的注释,但是它是唯一一张与其他幻灯片不对齐的幻灯片。
我想要得到以下输出(见幻灯片 2):
我们如何才能不使用类似的命令来实现最后一幅图像\hspace
?
答案1
为了使元素在幻灯片之间停止闪烁,它们需要具有相同的宽度。可以使用以下组件来确保它们具有相同的宽度eqparbox
(经过修改以允许通过 提供数学内容\eqmathbox[<tag>][<align>]{<stuff>}
)。此外,我使用\alt<os>{<default>}{<other>}
放在<default>
提供的o
verlays
规范上,<other>
否则。
\documentclass{beamer}
\usetheme{Copenhagen}
\usepackage{eqparbox}
%\usepackage{xparse}% If you have LaTeX2e < 2020-10-01
% https://tex.stackexchange.com/a/34412/5764
\makeatletter
% \eqmathbox[<tag>][<align>]{<math>}
\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}
\begin{block}{}
Text.
\begin{align*}
\eqmathbox[LHS][r]{A} &\eqmathbox[RHS][l]{{} = B} \\
\alt<2>{\eqmathbox[LHS][r]{\color{red}C = D + 1}}{} &
\alt<2>{\eqmathbox[RHS][l]{\color{red}{} - 5M \implies E = 1}}{\uncover<3->{= C}} \\
\uncover<4->{&= D}
\end{align*}
\end{block}
\end{frame}
\end{document}