LaTeX Beamer:如何在“未发现”公式/文本的位置发现公式/文本

LaTeX Beamer:如何在“未发现”公式/文本的位置发现公式/文本

我在乳胶中有一个投影仪演示文稿,其中我想要一个公式通过几个步骤改变其着色方案(这个想法是在给定时刻标记公式的“活跃”部分)。

当我尝试这样做的时候,

    \begin{frame}{Title}

    \uncover<1-1>{
    \begin{align*}
       e=mc^3
    \end{align*}
    }

    \uncover<2-2>{
    \begin{align*}
       e=mc^{\color{red}3}
    \end{align*}
    }

    \uncover<3-3>{
    \begin{align*}
       e=mc^{\color{green}2}
    \end{align*}
    }

    \end{frame}

那么公式当然会在幻灯片中向下移动。问题是:如何“更新”公式,即在旧版本公式的准确位置发现新版本公式?

问题似乎在于,到达幻灯片 m 之后,封装在 \uncover<3-3>{...} 中的公式被隐藏了,但它仍然存在..(它仍然占用空间)

答案1

最简单的方法是使用命令\only而不是\uncover。您还可以将公式放入同一个\align块中,使代码更紧凑。并且如注释中所述,如果元素仅在一张幻灯片上显示,您只需使用\only<n>而不是即可\only<n-n>

\begin{align*}
    \only<1>{E=mc^1}
    \only<2>{E=mc^2}
    \only<3>{E=mc^3}
\end{align*}

有关更多信息和高级技术,请参阅Beamer 用户指南

答案2

如果公式(或其他任何内容)位于环境(定理、定义等)内并且包含多行,则 tobias_k 提供的解决方案可能会失败(根据我的风格):

假设在一个环境(定义,...)中有一个以上\item(为简单起见,我使用文本),那么灰色背景会随着点的增加而增加,并且它没有从帧开始的整个维度(投影机的标准):

假设我们想要在定义中包含 3 个增量步骤:

1)

\begin{itemize}
    \item hallo \alert{world}
\end{itemize}

2)

\begin{itemize}
    \item hallo word
    \item the \alert{cat} is on the table
\end{itemize}

3)

\begin{itemize}
    \item hallo word
    \item the cat is on the table
    \item the \alert{windows} are open
\end{itemize}

解决方案可以是(感谢 tobias_k 的想法):

\begin{definition}
\begin{itemize}
    \only<1>{ % at #1 we need all space "covered" but only the first have to be shown
             \item hallo \alert{word}
             \item<2-> the cat is on the table % <2-> is for coerence: the only important thing is that it isn't <1-> or <1>
             \item<3> the windows are open % as above <3> is for coerence
             }
    \only<2->{ % from #2 the first is always on
             \item hallo word
             }
    \only<2>{ % at #2 only the second is highlight but we still need the third space "covered" and not shown
             \item the \alert{cat} is on the table
             \item<3> the windows are open
             }
    \only<3->{ % (from) #3 the second is always on too
             \item the cat is on the table
             }
    \only<3>{ % at #3 only the third is highlight (in this last case we can append the following line inside the last couple of brackets and delete this one )
             \item the \alert{windows} are open
            }
\end{itemize}
\end{definition}

并且它“精确地”复制了\alert您所看到的内容:

\begin{definition}
\begin{itemize}
    \item<1-> hallo world
    \item<2-> the cat is on the table
    \item<3-> the windows are open
\end{itemize}
\end{definition} 

相关内容