使用 Beamer 嵌套列表实现一致的垂直间距

使用 Beamer 嵌套列表实现一致的垂直间距

在此处输入图片描述

在包内插入嵌套列表时,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}{}{}

相关内容