![如何在列表前自动添加一行](https://linux22.com/image/260348/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%88%97%E8%A1%A8%E5%89%8D%E8%87%AA%E5%8A%A8%E6%B7%BB%E5%8A%A0%E4%B8%80%E8%A1%8C.png)
我正在使用该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
(空行)。如果您不希望出现这种情况,请使用 代替。作为参考,请参阅在页面开头添加垂直空间。