beamer,覆盖移动其上方的文本

beamer,覆盖移动其上方的文本

在演示文稿中,我想使用一些叠加层,但出于某种原因,一个叠加层会移动其上方的所有内容。这是一个例子。当您在演示模式(全屏)下运行它时,您会看到令人讨厌的移动。我希望有人知道帮助。

\documentclass[12pt, a4paper,xcolor=dvipsnames]{beamer}
\usetheme{Dresden} 
\usecolortheme[named=red]{structure} 
\usepackage{xcolor} 
\usepackage[ngerman]{babel} 
\usepackage[utf8x]{inputenc} 
\usepackage{amsmath,amsfonts,amssymb} 
\usefonttheme[onlymath]{serif} 


\newcommand{\p}{\partial } 


\begin{document} 

\begin{frame}{} 
Test Test Test Test Test 
\begin{align*} 
\onslide<2->{ 
\only<1-6>{ 
\frac{\p r^2}{\p x}= 
\onslide<3->{2r\frac{\p r}{\p x}=} 
\onslide<4->{ 2x \Leftrightarrow } 
\fcolorbox{white}{white}{$\onslide<5-> {\dfrac{\p r}{\p x}=
\dfrac{x}{r}} 
\onslide<6->{=\cos\varphi.}$} 
} 
\only<7->{ 
\frac{\p r^2}{\p x}= 
2r\frac{\p r}{\p x}= 
2x 
\Leftrightarrow {\fcolorbox{red!70!black}{red!30!white}
{$\alert<11>{\dfrac{\p r}{\p x}}=\dfrac{x}{r}=\cos\varphi.$} 
} 
} 
} 
\end{align*} 
\onslide<8->{Here, the text above moves... 
} 
\onslide<9->{ 
\begin{align*} 
\only<8-12>{\frac{\p y}{\p x}= 
\onslide<10->{0= 
 \alert<11>{\frac{\p r}{\p x}} 
\sin\varphi + r\frac{\p \varphi}{\p x}\cos\varphi 
\onslide<12-> { 
\Leftrightarrow \fcolorbox{white}{white}
{$\dfrac{\p \varphi}{\p x}=-\dfrac{r}{\sin\varphi}.$} 
}}} 
\only<13->{\frac{\p y}{\p x}= 
0=\frac{\p r}{\p x} 
\sin\varphi + r\frac{\p \varphi}{\p x}\cos\varphi   
\Leftrightarrow 
\fcolorbox{red!70!black}{red!30!white}
{$\dfrac{\p \varphi}{\p x}=-\dfrac{r}{\sin\varphi}.$} 
} 
\end{align*} 
} 
\onslide<14->{ 
This is a Test 
} 
\onslide<15->{ 
\begin{align*}
\fcolorbox{red!70!black}{red!30!white}{$\dfrac{\p r}
{\p y}=\sin\varphi$} \quad 
\fcolorbox{red!70!black}{red!30!white}
{$\dfrac{\p \varphi}{\p y}=\dfrac{\cos\varphi}{r}.$} 
\end{align*} 
} 
\end{frame} 
\end{document}

答案1

\only\onslide是两个不同的命令:\onslide隐藏内容直到条件满足,\only不渲染内容。“跳跃”是由\only最后一个align*环境中的命令引起的。

但是,您不应该\onslide在方程中使用 - 这会导致可怕的结果。我建议此时拆分框架,或者忍受这些跳跃。


更多详细信息请参见此处:哪一个:\only 或 \onslide ?(Beamer)

答案2

作为斯蒂芬·布劳恩已经在他的回答中指出:你的问题是,你混合了\only{}\onslide{}。你的一些命令保留了空间,而一些则没有,这导致页面的长度不同。这会导致文本跳跃,因为默认对齐方式是居中。

但是,您不必修复此问题,而是简单地将框架顶部对齐\begin{frame}[t],这样就看不到框架的不同长度。

相关内容