목록(lslisting)과 목록을 둘러싼 텍스트 사이의 간격을 어떻게 설정합니까? 이를 제어하기 위해 문서 시작 부분에 설정할 수 있는 매개변수가 있습니까? 시도해 보았 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}