列表环境内 lstlisting 环境下方的垂直额外空间

列表环境内 lstlisting 环境下方的垂直额外空间

我想将几个代码清单嵌入到自定义列表环境的项目中。为了实现这一点,我使用了包lstlisting的环境listings。不幸的是,额外的垂直空间被附加到lstlisting环境内部的环境list(见下图)。虽然跳跃不大,但很烦人。如果将相同的清单放在列表环境之外,这个额外的空间就会消失。我搞不清楚这个额外空间的原因。可能我目前的知识还不足以消除这个空间。

也许你们中的一位专家可以找出原因并提示我如何删除垂直多余空间!?也许至少对外行人来说,对此奇怪的行为可以进行简短的解释。

非常感谢您的努力...


这是一个说明该问题的最小示例:

 \documentclass[10pt]{article}
 \usepackage{listings}

 \lstset{frame=lines, aboveskip=0pt, belowskip=0pt}
 \begin{document}
 \begin{list}{}{}
     \item asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd 
     \begin{lstlisting}
 asdasd
     \end{lstlisting}%
 asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd
 \end{list}
 asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd
 \begin{lstlisting}
 asdasd
 \end{lstlisting}%
 asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd
 \end{document}

编译后的文档的关键片段如下所示:

列表环境中列表环境后的垂直额外空间

答案1

您所看到的行为源自\parsep环境list

source2e您将看到list环境的垂直间距具有以下可调整的参数

在此处输入图片描述

与您的示例特别相关的参数是\parsep,因此如果您使用

\begin{list}{}{\setlength{\parsep}{0pt}}

然后你得到

在此处输入图片描述

我认为这就是你想要的:)

相关内容