¿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}
\addvspace
hace 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 cap
y lbl
son subtítulos/etiquetas diferentes, por lo que no son constantes para todos los listados.
Respuesta1
Utilice el \lstset
comando y sus teclas aboveskip
y 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}