考虑此 MWE 中的列表。(我添加了普通文本和项目化环境块以供比较。)
\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{listings}
\begin{document}
%\setlength{\abovedisplayskip}{0pt}
%\setlength{\belowdisplayskip}{0pt}
%\topsep 0pt
%\parsep 0pt
%\itemsep 0pt
%\partopsep 0pt
\lstset{aboveskip=0pt, belowskip=0pt}
\begin{frame}[fragile]
\frametitle{Title}
\begin{block}{Block}
% \vspace{-0.85ex}
\begin{lstlisting}
some text
some more text
\end{lstlisting}
\end{block}
\begin{block}{Block}
some text\\
some more text
\mbox{}
\end{block}
\begin{block}{Block}
\begin{itemize}
\item some text
\item some more text
\end{itemize}
\end{block}
\end{frame}
\end{document}
与其他两个区块相比,列表的上方和下方带有补充垂直间距。我尝试设置各种长度(参见注释掉的代码),但没有明显的效果。
如果比较简单,我怎样才能不使用 来抑制此垂直间距vspace
?如果不容易,我宁愿使用 ,vspace
也不愿使用复杂而脆弱的代码来修改 的内部工作原理lstlisting
,但是,至少可以使用要抑制的空间的符号名称,而不是必须通过反复试验手动调整的常数(例如,\vspace{-\thenameofsomelength}
而不是\vspace{-0.85ex}
)?
相关(但不同):在 beamer 中使用列表在块内和块之间留出间距;如何修改投影仪中块内的逐项垂直间距?;为什么列表前会有这么虚假的垂直空间?(与 tikz 覆盖相关);投影仪中列表内的间距;投影仪框架内的列表中有额外的垂直胶水(最接近我的问题,但谈论的是胶水,我不确定这个空间真的是胶水,答案仅指我使用的aboveskip
和belowskip
)。