编辑

编辑

我正在用 Beamer 准备一个演示文稿,我有一个公式,underbrace我想在下一张幻灯片中揭示它。我所做的是

\only<1>{
  \[
    formula
  \]
}

\onslide<2->{
  \[
    \underbrace{formula}_{text}
  \]
}

效果很好,但从第一张幻灯片过渡到第二张幻灯片时,公式略有移动。这不是垂直跳跃(我已经用过overlayarea),而是水平移动。

您知道解决这个(小)问题的方法吗?我曾想过用它,phantom但不知道怎么做。

编辑

准备 MWE 并不容易!事实上,我无法重现这个问题……最后我设法用这个代码

\documentclass{beamer}

\usepackage{amsmath}

\begin{document}

\begin{frame}
\frametitle{Frame title}

\begin{overlayarea}{\textwidth}{0.3\textheight}
\only<1-2>{
    \[
        \overbrace{a+b}^{\text{qq}}=\overbrace{c+d+e}^{\text{abc}}+\onslide<2->{\overbrace{f+g+h+i+j+k+l}^{\text{def}}}
    \]
}

\onslide<3->{
    \[
        \overbrace{a+b}^{\text{qq}} = \underbrace{\overbrace{c+d+e}^{\text{abc}}+\overbrace{f+g+h+i+j+k+l}^{\text{def}}}_{\text{too long!}}
    \]
}\end{overlayarea}

\end{frame}


\end{document}

您可以看到从第二张幻灯片到第三张幻灯片的过渡略有变化。导致问题的原因是引入了第二张幻灯片overbrace,但 (a) 我不知道为什么,(b) 我不知道如何解决。

答案1

\onslide只需在结束之前添加一个\underbrace

\documentclass{beamer}

\usepackage{amsmath}

\begin{document}

\begin{frame}
\frametitle{Frame title}

\only<1-3>{
    \[
        \overbrace{a+b}^{\text{qq}} = 
        \underbrace{
            \overbrace{c+d+e}^{\text{abc}} + 
            \onslide<2->{\overbrace{f+g+h+i+j+k+l}^{\text{def}}}
        \onslide<3->}_{\text{too long!}}
        \onslide<2-> + m + n
    \]
}
\end{frame}

\end{document}

编辑:\onslide可以在后面使用,\underbrace以便更早地显示公式的后面部分(上面的 +m+n)

答案2

龌龊的伎俩:

\documentclass{beamer}

\begin{document}

\begin{frame}

\[
\color<1>{normal text.bg}
\underbrace{\textcolor<1-2>{normal text.fg}{formula}}_{text}
\color{normal text.fg}
\]

bla

\end{frame} 

\end{document}

应用于您的 MWE:

\documentclass{beamer}
\usepackage{amsmath}

\begin{document}

\begin{frame}

\[
    \color<1-2>{normal text.bg}
    \textcolor<1-3>{normal text.fg}{\overbrace{a+b}^{\text{qq}} =} 
    \underbrace{%
        \textcolor<1-3>{normal text.fg}{\overbrace{c+d+e}^{\text{abc}}}
        \textcolor<2-3>{normal text.fg}{+\overbrace{f+g+h+i+j+k+l}^{\text{def}}}
    }_{\text{too long!}}
\color{normal text.fg}
\]

\end{frame}
\end{document}

答案3

有趣的是,只需在第三张幻灯片末尾添加一个\thinmuskip空格(或)即可消除跳跃:\,

在此处输入图片描述

\documentclass{beamer}

\usepackage{amsmath}

\begin{document}

\begin{frame}
\frametitle{Frame title}

\begin{overlayarea}{\textwidth}{0.3\textheight}
\only<1-2>{
  \[
    \overbrace{a+b}^{\text{qq}} = \overbrace{c+d+e}^{\text{abc}}+\onslide<2->{\overbrace{f+g+h+i+j+k+l}^{\text{def}}}
  \]
}

\onslide<3->{
  \[
    \overbrace{a+b}^{\text{qq}} = \underbrace{\overbrace{c+d+e}^{\text{abc}}+\overbrace{f+g+h+i+j+k+l}^{\text{def}}}_{\text{too long!}}
    \,
  \]
}\end{overlayarea}

\end{frame}

\end{document}

相关内容