如何在列表前自动添加一行

如何在列表前自动添加一行

我正在使用该listings软件包,我想在每个列表前自动添加一个空白行。有什么想法可以做到这一点吗?

答案1

listings有一个参数aboveskip定义列表上方的空间。通过添加\lstset{aboveskip=<length>}到序言中进行全局设置。

在此处输入图片描述

\documentclass[11pt]{report} 
\usepackage{listings}
\lstset{aboveskip=2\baselineskip,
frame=single}
\usepackage{kantlipsum}

\begin{document}
\kant[1]
\begin{lstlisting}
This be a listing.
\end{lstlisting}
\kant[3]
\end{document}

答案2

最简单的方法是创建自己的环境来添加跳过:

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum,listings}% http://ctan.org/pkg/{lipsum,listings}
\lstnewenvironment{mylisting}[1][,]
  {\vspace*{\baselineskip}%
   \lstset{#1}% Add more default options here
  }{}
\begin{document}
\lipsum[1]
\begin{mylisting}
Here is a listing
\end{mylisting}
\lipsum[2]
\end{document}

即使列表从页面顶部开始,使用\vspace*也会插入一个跳过(空行)。如果您不希望出现这种情况,请使用\baselineskip\vspace(空行)。如果您不希望出现这种情况,请使用 代替。作为参考,请参阅在页面开头添加垂直空间

相关内容