如何設定清單 (lstlisting) 和它周圍的文字之間的間距?我可以在文件的開頭設定一個參數來控制它嗎?我嘗試過framesep
,但它只是使框架盒膨脹。
編輯:
text
\addvspace\medskipamount
\begin{lstlisting}
...
\end{lstlisting}
\addvspace
做我需要的。如何在文件的開頭設定它,這樣我就不必手動將其添加到每個清單中?
編輯:
我使用這樣的列表:
\begin{lstlisting}[caption={cap},label=lbl]
...
\end{lstlisting}
其中cap
和lbl
是不同的標題/標籤,因此它們對於所有清單而言並不是恆定的。
答案1
使用\lstset
命令及其aboveskip
和belowskip
鍵。詳細資訊請參閱手冊第 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}