增加列表环境与周围文本之间的空间

增加列表环境与周围文本之间的空间

如何设置列表 (lstlisting) 和其周围文本之间的间距?是否有一个参数可以在文档开头设置,以控制该间距?我试过了framesep,但它只是让框架框膨胀。

编辑:

text
\addvspace\medskipamount
\begin{lstlisting}
...
\end{lstlisting}

\addvspace满足了我的需求。如何在文档开头设置它,这样我就不必手动将其添加到每个列表中?

编辑:

我使用如下列表:

\begin{lstlisting}[caption={cap},label=lbl]
 ... 
\end{lstlisting}

其中caplbl是不同的标题/标签,因此它们并不是所有列表的常数。

答案1

使用\lstset命令及其aboveskipbelowskip键。有关详细信息,请参阅手册第 4.3 节。

\documentclass{article}

\usepackage{listings}

\lstset{aboveskip=20pt,belowskip=20pt}

\usepackage{lipsum}

\begin{document}

\lipsum[1]

\begin{lstlisting}[caption={A listing}]
(Listing contents)
\end{lstlisting}

\lipsum[2]

\end{document}

答案2

您可以使用\newcommand

\newcommand{\myconfiguredlisting}[1]{%
\addvspace\medskipamount %
\begin{lstlisting}[caption={cap},label=lbl] 
{#1} 
\end{lstlisting}}

然后以如下形式使用它:

\myconfiguredlisting{content of listing goes in here}

或者

\newenvironment{mylst}
  {\addvspace\medskipamount %
    \begin{lstlisting}[caption={cap},label=lbl]}
  {\end{lstlisting}}

然后使用上面的内容:

\begin{mylst}
....... % lst content goes here.
\end{mylst}

相关内容