我正在尝试在 beamer 框架中编写一个逐项列表,并在项目之间留有额外的空间。因此,以公式结尾的项目与下一个项目之间的空间特别大,因为 \vfill 的额外空间与边界框的下部空白相结合。这可以在以下 MWE 中看到:
\documentclass{beamer}
\usetheme{Berkeley}
\usepackage{amsmath,amssymb,amsfonts}
\begin{document}
\frame{
\frametitle{Test frame}
\begin{itemize}
\item This is a test file for the alignment of equations
\vfill
\item at the end of items: Here is an equation array
\begin{equation*}
A = B + C
\end{equation*}
\vfill
\item Here no equation follows
\vfill
\item Now we have an align environment
\begin{align*}
A & = B + C \\
D & = E - F
\end{align*}
\vfill
\item And this is the last line
\end{itemize}
}
\end{document}
虽然我理解这些超大垂直间距背后的逻辑,但至少在我看来,这在审美上不是最佳的。由于 TeX 通常经过深思熟虑,我认为有一些标准化的方法来解决这个问题。我的问题是
有没有标准方法可以解决方程式结束项目后多余空格的问题? 是否有标准设置表明哪种大小的空格在视觉上最令人愉悦(例如,在完成一个项目时, \belowdisplayskip 的长度应减少多少比例)?
如果没有标准方法,那么建议采用什么方法进行全局定制而不破坏 Beamer 的任何其他工作?
虽然许多问题都讨论了这两个主题,即更改项目分隔处的空间和方程式的边界框,但我找不到任何结合解决它们的问题。如果调整方程式周围的间距,如如何整体改变方程周围的间距?,这也会影响项目中间的方程(应保持原样)。如果按照建议调整项目之间的间距用于 beamer 的 itemize 环境中项目之间间距的全局设置,那么其他项目的间隔也会扩大,不仅仅是那些以等式结尾的项目。
编辑:从评论中补充:我总共有大约 300 张幻灯片,这是课程所有幻灯片的总和,我会尝试对它们进行润色,然后将它们作为单个文件提供给学生(他们已经有了每个班级内容的文件,但我更喜欢提供一个在单个文件中呈现整个课程的版本)。在我看来,如果没有额外的间距,一些幻灯片看起来会不太好。我试图在我的 MWE 中关注空间累积的直接问题,而不是提供间距不佳的幻灯片的最坏例子。
答案1
我遇到了和你一样的问题,发现这一页基本上,只需添加
\makeatletter
\g@addto@macro\normalsize{%
\setlength\belowdisplayskip{-0pt}
}
并且运行良好!
您的完整示例如下
\documentclass{beamer}
\usetheme{Berkeley}
\usepackage{amsmath,amssymb,amsfonts}
\makeatletter
\g@addto@macro\normalsize{%
\setlength\belowdisplayskip{-0pt}
}
\begin{document}
\frame{
\frametitle{Test frame}
\begin{itemize}
\item This is a test file for the alignment of equations
\vfill
\item at the end of items: Here is an equation array
\begin{equation*}
A = B + C
\end{equation*}
\vfill
\item Here no equation follows
\vfill
\item Now we have an align environment
\begin{align*}
A & = B + C \\
D & = E - F
\end{align*}
\vfill
\item And this is the last line
\end{itemize}
}
\end{document}
答案2
您可以使用该enumitem
包并更改itemsep
:
\documentclass{beamer}
\usetheme{Berkeley}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{enumitem}
\setitemize{itemsep=2ex,label=\usebeamerfont*{itemize item}%
\usebeamercolor[fg]{itemize item}
\usebeamertemplate{itemize item}}
\begin{document}
\frame{
\frametitle{Test frame}
\begin{itemize}
\item This is a test file for the alignment of equations
\item at the end of items: Here is an equation array
\begin{equation*}
A = B + C
\end{equation*}
\item Here no equation follows
\item Now we have an align environment
\begin{align*}
A & = B + C \\
D & = E - F
\end{align*}
\item And this is the last line
\end{itemize}
}
\end{document}