beamer
当我添加命令时,似乎有时会添加垂直空间\pause
;下面是一个例子。有什么方法可以避免这种情况吗?
\documentclass{beamer}
\begin{document}
\begin{frame}
Without pause:
\[A\]\[B\]
Not too much space between displayed equations.
\end{frame}
\begin{frame}
With pause:
\[A\]\pause\[B\]
Too much space between the equations.
\end{frame}
\end{document}
答案1
是的,\pause
在您的例子中,在空行上插入了“某些内容”。您可以通过使用“跳回”一行来摆脱它\vspace*{-\baselineskip}
前 \pause
:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\begin{document}
\begin{frame}
Without pause:
\[A\]\[B\]
Not too much space between displayed equations.
\end{frame}
\begin{frame}
With pause:
\[A\]\vspace*{-\baselineskip}\pause\[B\]
Too much space between the equations.
\end{frame}
\end{document}
答案2
通常不建议连续使用一个显示的方程式。在这种情况下,你可以这样做
\begin{gather*}
A \\ B
\end{gather*}
问题是\pause
在环境中不能可靠地工作amsmath
,但你可以使用我的这个答案:
\documentclass{beamer}
\makeatletter
\let\save@measuring@true\measuring@true
\def\measuring@true{%
\save@measuring@true
\def\beamer@sortzero##1{\beamer@ifnextcharospec{\beamer@sortzeroread{##1}}{}}%
\def\beamer@sortzeroread##1<##2>{}%
\def\beamer@finalnospec{}%
}
\makeatother
\begin{document}
\begin{frame}
Without pause:
\begin{gather*}
A \\
B
\end{gather*}
Not too much space between displayed equations.
\end{frame}
\begin{frame}
With pause:
\begin{gather*}
A \\ \pause
B
\end{gather*}
Same space between the equations.
\end{frame}
\end{document}
我要指出的是,间距与 的间距不同\[A\]\[B\]
。一方面,gather
不会“看到”该行Without pause
很短,因此它会在该行和 之间留出更多垂直空间A
。另一方面,A
和之间的空间会变小;这可以通过使用而不是 来B
调整。(根据您的需要调整。)\\[1ex]
\\
1ex
如果你想坚持使用两个单独的显示:正如 Werner 所说,在原本空的行上\pause
插入一些内容(即一个或两个s),这将提供额外的一个垂直空间。你可以使用以下命令阻止 TeX 放置这个额外的垂直空间\pdfliteral
\baselineskip
\par\pause\noindent
而不是\pause
:\par
在第一次显示后结束空行,\noindent
在第二次显示之前保持空行空(并且\parskip
在中为零beamer
);另请参阅我的这个答案了解详情。