在包内插入嵌套列表时,beamer
项目之间的垂直间距不相等 - 即不一致。
这种行为的原因是什么?
有没有办法可以避免这个问题,而不需要额外的软件包,或者使用一些晦涩的技巧(例如提议者豪尔赫)?
\documentclass{beamer}
\begin{document}
\begin{frame}{No problem}
\begin{itemize}
\item MMMMMM
\item MMMMMM
\item MMMMMM
\end{itemize}
\end{frame}
\begin{frame}{Vertical item distance not consistent}
\begin{itemize}
\item MMMMMM
\item MMMMMM
\item MMMMMM
\begin{itemize}
\item MMMMMM
\begin{itemize}
\item MMMMMM
\item MMMMMM
\item MMMMMM
\end{itemize}
\item MMMMMM
\item MMMMMM
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Solution (kinda?!)}
\begin{itemize}
\item MMMMMM
\item MMMMMM
\item MMMMMM % next blank line seems to kinda solve the problem
\begin{itemize}
\item MMMMMM
\begin{itemize}
\item MMMMMM
\item MMMMMM
\item MMMMMM
\end{itemize}
\item MMMMMM
\item MMMMMM
\end{itemize}
\end{itemize}
\end{frame}
\end{document}
答案1
该错误的原因(p.113,beameruserguide.pdf):
此模板 [
itemize/enumerate body begin
] 插入在第一级 itemize 或 enumerate 环境的开头。此外,在插入此模板之前,itemize/enumerate body
会使用 beamer -font 和 -color。
因此\itemize
改变颜色和尺寸\list
宏从水平模式切换到垂直模式之前的字体......
解决方法:你可以修补\itemize
并\enumerate
(在你的序言中):
\usepackage{etoolbox}
\pretocmd{\itemize}{\vskip 0pt}{}{}
\pretocmd{\enumerate}{\vskip 0pt}{}{}