我遇到了这种情况:当我使用 enumitem 包时,公式后面会添加一个空格,并且 onslide 命令在 itemize 之前结束。有没有人知道如何去除公式后面的空格以及它为什么会出现在那里?我尝试过在有和没有 enumitem 包的情况下添加 %,为 itemize 添加 nosep 选项,但空格仍然存在。
\documentclass{beamer}
\usepackage{enumitem}
\usepackage{blindtext}
\begin{document}
\begin{frame}
\blindtext
\begin{equation*}
A=A
\end{equation*}
\begin{itemize}
\item AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
\end{itemize}
\blindtext
\end{frame}
\begin{frame}
\blindtext
\onslide<2->{
\begin{equation*}
A=A
\end{equation*}
}
\begin{itemize}
\item AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
\end{itemize}
\blindtext
\end{frame}
\end{document}
答案1
使用 \align 代替 \equation 并将 \onslide 放在 align 环境中可以解决问题。但仍然对这种行为的起源感到困惑。
\documentclass{beamer}
\usepackage{enumitem}
\usepackage{blindtext}
\begin{document}
\begin{frame}
\blindtext
\begin{align*}
\onslide<2->{A=A}
\end{align*}
\begin{itemize}
\item AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
\end{itemize}
\blindtext
\end{frame}
\end{document}
答案2
编辑:(更接近您想要的结果) 经过改进,可以很好地处理可以在小页面中添加的所有内容。
\documentclass{beamer} \usepackage{enumitem} \usepackage{blindtext} \usepackage{tikz}
\newsavebox{\mybox} \newcommand{\myonly}[2]{\alt<#1>{\begin{minipage}[inner sep=0,outer sep=0]{\linewidth}#2\end{minipage}}{\savebox\mybox{\vbox{\begin{minipage}[inner sep=0,outer sep=0]{\linewidth}#2\end{minipage}}}\par\rule{0pt}{\dimexpr\ht\mybox+\dp\mybox-\baselineskip}\par}} \begin{document}
\begin{frame} \blindtext[1] \begin{align*}
A&=A\\
B&=f(x)\\ \end{align*} \begin{itemize}
\item AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \end{itemize} \blindtext[1]
\end{frame}
\begin{frame} \blindtext[1] \myonly{2-}{\begin{align*}
A&=A\\
B&=f(x)\\ \end{align*}} \begin{itemize}
\item AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \end{itemize} \blindtext[1]
\end{frame}
\end{document}
(旧答案) 不完美但接近完美:
\documentclass{beamer}
\usepackage{enumitem}
\usepackage{blindtext}
\newsavebox{\mybox}
\newcommand{\myonly}[2]{\alt<#1>{#2}{\savebox\mybox{\vbox{#2}}\vspace*{\dimexpr\ht\mybox+\dp\mybox}\par}
}
\begin{document}
\begin{frame}
\blindtext
\begin{equation*}
A=A
\end{equation*}
\begin{itemize}
\item AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
\end{itemize}
\blindtext
\end{frame}
\begin{frame}
\blindtext
\myonly{2-}{\begin{equation*}
A=A
\end{equation*}}
\begin{itemize}
\item AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
\end{itemize}
\blindtext
\end{frame}
\end{document}