在以下 MWE 中,简单添加“:”会导致在嵌套enumerate
环境之前出现一些额外的垂直间距,尽管添加“:”不会导致文本跨行拆分。知道发生了什么吗?
\documentclass{beamer}
\usetheme{CambridgeUS}
\begin{document}
\begin{frame}{Test}
\begin{itemize}
\item{Actional verbs appeared in full \emph{be}-passive, full \emph{get}-passive, and active
\begin{enumerate}[(1)]
\item{\ldots}
\end{enumerate}
}
\item{Actional verbs appeared in full \emph{be}-passive, full \emph{get}-passive, and active:
\begin{enumerate}[(1)]
\item{\ldots}
\end{enumerate}
}
\end{itemize}
\end{frame}
\end{document}
这里的问题是为什么正在发生这种情况。也就是说,我很高兴在正在整理的演示文稿中省略“:” beamer
,所以我对“问题”的“解决方案”并不特别感兴趣。我只是好奇为什么会发生这种情况,以及这是否是设计使然beamer
。
(注:效果取决于此特定主题的使用。尽管如此,如果这从根本上来说是一个问题,那么虽然,如果这本质上是 (La)TeX 的问题(见更新),人们大概可以在其他beamer
人们大概可以为其他主题构建类似的案例。beamer
主题中构建类似的案例和表现出此行为的其他文档类。(尽管如此,请参阅更新 2。))
更新:
根据一些评论和@Thruston 的回答,我想我会更新这个问题。
首先,我删除了(见下文。)beamer
标签,因为这似乎与无关beamer
。鉴于@KevinC 的评论,猜测这与 (La)TeX 中的胶水有关。
其次,我想指出的是,即使把所有内容都放在一行上,这种行为仍然会持续存在没有“:” 后面有任何空格,所以这仍然是一个谜(至少对我来说,鉴于我对水平模式下事物设置方式的简单理解),为什么“:” 后面会有空格,这些空格会被推到下一行。有人能解释一下吗?
\documentclass{beamer}
\usetheme{CambridgeUS}
\begin{document}
\begin{frame}{Test}
\begin{itemize}
\item{Actional verbs appeared in full \emph{be}-passive, full \emph{get}-passive, and active:\begin{enumerate}[(1)]\item{\ldots}\end{enumerate}}
\end{itemize}
\end{frame}
\end{document}
更新 2:
我beamer
再次添加了标签,因为beamer
@Thruston 似乎认为这与宏处理空间的方式有关。
答案1
您需要先完成每个顶级项中的段落,然后再开始嵌套枚举列表。整体enumerate
被包含在item
段落中,这导致输出中出现额外的空间。
尝试像这样编码:
\begin{itemize}
\item Actional verbs appeared in full \emph{be}-passive, full \emph{get}-passive, and active
\begin{enumerate}[(1)]
\item \ldots
\item \ldots
\end{enumerate}
\item Actional verbs appeared in full \emph{be}-passive, full \emph{get}-passive, and active:
\begin{enumerate}[(1)]
\item \ldots
\end{enumerate}
\end{itemize}
请注意,控制序列后没有{
括号,并且在环境之前没有空行来结束段落。}
\item
enumerate
实际上,括号与这里的问题无关,因为组可以跨越段落,但在这里您仍然不需要它们,所以最好将它们省略。
不在环境之前结束段落enumerate
意味着 TeX 以水平模式而不是垂直模式处理它们,这会改变 Beamer 格式处理它们的方式。如果您设置,\tracingmacros=1
您将看到大部分处理取决于您所处的模式。要完全回答您的“为什么”问题,您需要解开 Beamer 宏以查看较长行中的额外空间是如何处理的。