增加列表環境之間的空間。和周圍的文字

增加列表環境之間的空間。和周圍的文字

如何設定清單 (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}

相關內容