我在 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}
第一个子帧:
第二个子帧:
(细微的差别只是由于屏幕截图造成的,抱歉。)