我的演示幻灯片有 3 个“步骤”,这意味着最初会先写一些内容,然后会出现另一部分,然后再出现另一部分。我正在使用命令\only<>
来实现这一点(我itemize \item<>
现在不能使用)。
我的问题是,每“一步”行间距都会缩小一点,产生令人讨厌的 2 倍缩小效果。当所有 3 个部分都在幻灯片上时,一切都很合适。我尝试插入各种\vspace{-1em}
命令来减少从一开始就,但效果依然存在。
我制作了一个 MWE,我的幻灯片具有相同的结构:
\documentclass[10pt]{beamer}
\usetheme{metropolis}
\usepackage{lipsum}
\begin{document}
\begin{frame}[t]{Title}
\only<1->{
\alert{\textbf{Title text:}}
\begin{enumerate}
\item List item $(2^n, 3^n, 4^n, \dots)$
\begin{itemize}
\item \lipsum[1][1] $(2^n, 3^n, \dots)$
\item[] \lipsum[1][2]: $e^n$
\item \lipsum[1][3] $(2^n, 3^n, \dots)$
\item[] \lipsum[1][4] $e^n$
\end{itemize}
\item List item $2^{abc} \bigcup 3^\text{def}$
\end{enumerate}
}
\only<2->{
\alert{\textbf{Title text:}}\\
\lipsum[2][1]
\begin{eqnarray*}
\tau(n) & \leq & 2^n \\
& \leq & n^{O(\log n)}
\end{eqnarray*}
}
\only<3->{
\lipsum[2][2]: $$a(n) = \sum_i b_i$$
}
\end{frame}
\end{document}
答案1
您只是向框架中添加内容而不是替换文本,因此您可以简单地使用\visible
而不是\only
:
\documentclass[10pt]{beamer}
\usetheme{moloch}% modern fork of the metropolis theme
\usepackage{lipsum}
\begin{document}
\begin{frame}[t]{Title}
\visible<1->{
\alert{\textbf{Title text:}}
\begin{enumerate}
\item List item $(2^n, 3^n, 4^n, \dots)$
\begin{itemize}
\item \lipsum[1][1] $(2^n, 3^n, \dots)$
\item[] \lipsum[1][2]: $e^n$
\item \lipsum[1][3] $(2^n, 3^n, \dots)$
\item[] \lipsum[1][4] $e^n$
\end{itemize}
\item List item $2^{abc} \bigcup 3^\text{def}$
\end{enumerate}
}
\visible<2->{
\alert{\textbf{Title text:}}\\
\lipsum[2][1]
\begin{eqnarray*}
\tau(n) & \leq & 2^n \\
& \leq & n^{O(\log n)}
\end{eqnarray*}
}
\visible<3->{
\lipsum[2][2]: $$a(n) = \sum_i b_i$$
}
\end{frame}
\end{document}