Aumentar el espacio entre listados env. y texto circundante

Aumentar el espacio entre listados env. y texto circundante

¿Cómo puedo configurar el espacio entre un listado (lstlisting) y el texto que lo rodea? ¿Existe algún parámetro que pueda establecer al principio de mi documento y que controle esto? Lo intenté framesep, pero simplemente infla la caja del marco.

EDITAR:

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

\addvspacehace lo que necesito. ¿Cómo configuro esto al principio del documento, para no tener que agregarlo manualmente a cada listado?

EDITAR:

Yo uso listados como este:

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

Donde capy lblson subtítulos/etiquetas diferentes, por lo que no son constantes para todos los listados.

Respuesta1

Utilice el \lstsetcomando y sus teclas aboveskipy belowskip. Consulte la sección 4.3 del manual para obtener más detalles.

\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}

Respuesta2

Puedes usar un \newcommand:

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

Luego úselo en la forma:

\myconfiguredlisting{content of listing goes in here}

O

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

Luego use lo anterior como:

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

información relacionada