改变列表环境中(全局或本地)项目之间的垂直空间量的最佳方法是什么?
答案1
最简单的方法是使用enumitem
包裹。
\documentclass{article}
\usepackage{lipsum} % for dummy text
\usepackage{enumitem}
\setlist{nosep} % or \setlist{noitemsep} to leave space around whole list
\begin{document}
\lipsum[1]
\begin{enumerate}
\item foo
\item bar
\end{enumerate}
\lipsum[2]
\end{document}
该enumitem
包还允许您为特定类型或级别的列表或任何特定的单个列表设置列表间距:
\setlist[2]{noitemsep} % sets the itemsep and parsep for all level two lists to 0
\setenumerate{noitemsep} % sets no itemsep for enumerate lists only
\begin{enumerate}[noitemsep] % sets no itemsep for just this list
...
\end{enumerate}
该nosep
参数将删除列表内和列表周围的所有垂直间距;该noitemsep
参数将删除项目的间距,但保留整个列表周围的空间。
您还可以将任何间距参数设置为精确值,无论是全局的(使用)还是本地的,都可以,使用环境开始后的\setlist
可选参数:[...]
\begin{itemize}[topsep=8pt,itemsep=4pt,partopsep=4pt, parsep=4pt]
\item Some text
\item Some text
\end{itemize}
要了解所有这些参数的工作原理,请参见以下问题:
该软件包还允许完全控制列表格式的所有其他方面。
答案2
这最不费力的方式去做吧 (无需其他包裹或任何需要的东西)就是像这样定义你自己的环境......
\newenvironment{myitemize}
{ \begin{itemize}
\setlength{\itemsep}{0pt}
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt} }
{ \end{itemize} }
...像这样使用它...
\begin{myitemize}
\item one
\item two
\item three
\end{myitemize}
答案3
您可以使用paralist
包并使用其任何“紧凑”列表(compactitem、compactenum、compactdesc)。
\documentclass{article}
\usepackage{paralist}
\begin{document}
Regular itemize
\begin{itemize}
\item First
\item Second
\item Third
\end{itemize}
Compactitem
\begin{compactitem}
\item First
\item Second
\item Third
\end{compactitem}
\end{document}
答案4
加载包paralist
并设置
\usepackage{paralist}
\let\itemize\compactitem
\let\enditemize\endcompactitem
\let\enumerate\compactenum
\let\endenumerate\endcompactenum
\let\description\compactdesc
\let\enddescription\endcompactdesc
\pltopsep=\medskipamount
\plitemsep=1pt
\plparsep=1pt
或者加载包enumitem
和\setlist{nosep}