如何更改列表前的垂直空间?

如何更改列表前的垂直空间?

我想在两个段落之间添加代码,就像您可以添加方程式一样。我使用包lstlisting中的环境mcode。我不明白为什么它会在代码前添加垂直空格。我该如何更改它,以便周围的空格lstlisting与周围的空格相同equation*

平均能量损失

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{mcode}

\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam scelerisque nulla libero, ullamcorper sodales nulla pulvinar sit amet. Proin diam magna, elementum vel lacinia sed, viverra vel nibh. Nam in euismod orci. Maecenas sapien massa, varius vel tempor non, viverra id risus. Maecenas maximus ligula et erat maximus venenatis. Nam nec fringilla magna. Sed facilisis porta nisi sit amet aliquam. Nunc a ullamcorper libero. Aenean malesuada venenatis purus, at dictum augue elementum vel. Curabitur in cursus tellus. Nullam sit amet ullamcorper mi. Aenean id tincidunt odio, sed semper dolor. Nullam et diam malesuada, ultricies tellus eu, blandit nibh. Integer posuere ex neque, ut cursus mauris condimentum in. Suspendisse non ipsum ac nunc venenatis accumsan quis vel diam.

\begin{lstlisting}
x = y+2;
\end{lstlisting}

Nunc aliquet mi eros, id venenatis lorem iaculis quis. Donec pharetra vestibulum ex quis consequat. Fusce vestibulum vel mauris eu posuere. Vestibulum viverra erat at feugiat vestibulum. Sed ac est sed est mattis dignissim. Donec faucibus arcu a mollis consectetur. Suspendisse ac arcu cursus, pulvinar dolor vel, fringilla sem.

\begin{equation*}e^{i\theta}=cos\theta+i\sin\theta\end{equation*}

Vestibulum eu fringilla lacus. Etiam ac augue ac risus bibendum scelerisque. In vel consequat dolor, eget feugiat magna. Nunc eget lorem dignissim, accumsan est quis, fringilla leo. Integer tristique orci et quam eleifend egestas. Pellentesque metus metus, luctus nec tellus vel, efficitur consequat urna. Donec pellentesque mi non nisi accumsan, sed consequat sapien aliquam. Praesent eros mauris, suscipit sit amet tristique sit amet, fringilla ut mi. Pellentesque eu volutpat diam, et iaculis sapien. Nulla ultricies erat augue, eget pharetra tortor porttitor sit amet. Nulla molestie nisi ipsum, id feugiat libero semper a. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sed mauris arcu. Morbi consectetur odio sit amet arcu sodales auctor. Fusce sem purus, cursus quis nulla sit amet, commodo condimentum elit. Vivamus ornare quam lorem, sed scelerisque tellus elementum in. 

\end{document}

结果

多余的垂直空间以蓝色箭头表示。 在此处输入图片描述

答案1

这个“问题”是由于 中的一个特殊设置造成的mcode.sty,它定义了

aboveskip={1.5\baselineskip}

对于lstlisting环境来说。所以这看起来像是一个经过深思熟虑的选择。

如果你有或者想要使用这个包(我建议你listings自行加载这个包并设置你真正需要的参数),添加以下行

\lstset{aboveskip=\medskipamount}

在环境之前的某个地方lstlisting,或者将该值作为特定环境的一个选项提供

\begin{lstlisting}[aboveskip=\medskipamount]

使用以下代码开始

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{mcode}
\lstset{aboveskip=\medskipamount}
\begin{document}

产生以下输出。

在此处输入图片描述

相关内容