在演示文稿中,我想使用一些叠加层,但出于某种原因,一个叠加层会移动其上方的所有内容。这是一个例子。当您在演示模式(全屏)下运行它时,您会看到令人讨厌的移动。我希望有人知道帮助。
\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]
,这样就看不到框架的不同长度。