如何在更新内容时保持水平覆盖区域空间不变?

如何在更新内容时保持水平覆盖区域空间不变?

我在 LaTeX beamer 中遇到了以下问题。在第一张幻灯片上,我想显示

在此处输入图片描述

第二张幻灯片应该显示

在此处输入图片描述

困难在于要实现3+4+5在第一张幻灯片上也保留了12实际上需要更少的空间。

下面的 MWE 不能解决这个问题。有什么解决办法吗?

\documentclass{beamer}
\begin{document}
\frame{
\uncover<1-2>{}
1+2+\alt<1>{12}{3+4+5}+6+7=28
}
\end{document} 

答案1

\documentclass{beamer}

\newcommand\centerin[2]{{%
\ifmmode\def\dollar{$}\else\def\dollar{}\fi
\settowidth{\dimen8}{\dollar#2\dollar}%
\makebox[\dimen8]{\dollar#1\dollar}}}

\def\altcenterin<#1>#2#3{\alt<#1>{\centerin{#2}{#3}}{#3}}

\begin{document}
\frame{


\uncover<1-2>{}
1+2+\altcenterin<1>{12}{3+4+5}+6+7=28
}
\end{document} 

答案2

您可以使用beamer和 的功能mathtools,并结合calc

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

\newcommand<>\mathalt[2]{%
  \alt#3{\mathmakebox[\widthof{$#2$}]{#1}}{#2}%
}

\begin{document}

\begin{frame}

\uncover<1-2>{}
$1+2+\mathalt<1>{12}{3+4+5}+6+7=28$

\end{frame}
\end{document}

第一个子帧:

在此处输入图片描述

第二个子帧:

在此处输入图片描述

(细微的差别只是由于屏幕截图造成的,抱歉。)

相关内容