如果我将列表直接放置在(子)部分开始之后,则以下(子)部分(标题)之前的边距就会消失。
以下是显示该问题的示例文档:
\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}
您可以在此处看到结果(带注释):
为什么第四部分(标题)之前没有边距?这是我的 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}