在章节开始后直接列出列表,删除下一​​章节之前的边距

在章节开始后直接列出列表,删除下一​​章节之前的边距

如果我将列表直接放置在(子)部分开始之后,则以下(子)部分(标题)之前的边距就会消失。

以下是显示该问题的示例文档:

\documentclass[twocolumn]{article}
\usepackage{listings}
\begin{document}

\section{Lorem ipsum}
Consectetur adipiscing elit.

\begin{lstlisting}
Lorem
\end{lstlisting}

Sed quis ante nec mi volutpat congue eu id leo.

\section{Dolor sit amet}
Suspendisse at lorem mattis, semper massa id, euismod risus.

\newpage

\section{Lorem ipsum}
\begin{lstlisting}
Lorem
\end{lstlisting}

Sed quis ante nec mi volutpat congue eu id leo.

\section{Dolor sit amet}
Suspendisse at lorem mattis, semper massa id, euismod risus.

\end{document}

您可以在此处看到结果(带注释):

使用示例文档创建的 PDF 的带注释的屏幕截图

为什么第四部分(标题)之前没有边距?这是我的 LaTeX 环境(MacTeX-2013)中的错误,还是这是预期的行为?

答案1

我想说这是可以预料到的,因为lstlisting仍然处于垂直模式,并且环境在这里没有采取任何预防措施。您可以\leavevmode在有问题的列表之前使用以下方法防止出现不良结果:

\documentclass[twocolumn]{article}
\usepackage{listings}
\begin{document}

\section{Lorem ipsum}
Consectetur adipiscing elit.

\begin{lstlisting}
Lorem
\end{lstlisting}

Sed quis ante nec mi volutpat congue eu id leo.

\section{Dolor sit amet}
Suspendisse at lorem mattis, semper massa id, euismod risus.

\newpage

\section{Lorem ipsum}
\leavevmode\begin{lstlisting}
Lorem
\end{lstlisting}

Sed quis ante nec mi volutpat congue eu id leo.

\section{Dolor sit amet}
Suspendisse at lorem mattis, semper massa id, euismod risus.

\end{document}

在此处输入图片描述

相关内容