Wie kann ich den Abstand zwischen einer Auflistung (lstlisting) und dem sie umgebenden Text festlegen? Gibt es einen Parameter, den ich am Anfang meines Dokuments festlegen kann, um dies zu steuern? Ich habe es versucht framesep
, aber dadurch wird nur der Rahmen vergrößert.
BEARBEITEN:
text
\addvspace\medskipamount
\begin{lstlisting}
...
\end{lstlisting}
\addvspace
tut, was ich brauche. Wie stelle ich dies am Anfang des Dokuments ein, damit ich es nicht manuell zu jeder Auflistung hinzufügen muss?
BEARBEITEN:
Ich verwende Auflistungen wie folgt:
\begin{lstlisting}[caption={cap},label=lbl]
...
\end{lstlisting}
Wobei cap
und lbl
unterschiedliche Überschriften/Beschriftungen sind, sie sind also nicht für alle Einträge gleich.
Antwort1
Verwenden Sie den \lstset
Befehl und seine Tasten aboveskip
und belowskip
. Weitere Informationen finden Sie in Abschnitt 4.3 des Handbuchs.
\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}
Antwort2
Sie können Folgendes verwenden \newcommand
:
\newcommand{\myconfiguredlisting}[1]{%
\addvspace\medskipamount %
\begin{lstlisting}[caption={cap},label=lbl]
{#1}
\end{lstlisting}}
Verwenden Sie es dann in der Form:
\myconfiguredlisting{content of listing goes in here}
Oder
\newenvironment{mylst}
{\addvspace\medskipamount %
\begin{lstlisting}[caption={cap},label=lbl]}
{\end{lstlisting}}
Verwenden Sie dann das Obige als:
\begin{mylst}
....... % lst content goes here.
\end{mylst}