在Latex中,如何消除逐项列出前插入的空格?
\begin{itemize} % produces lots of vertical space
\item ...
\item ...
\end{itemize}
答案 0 :(得分:100)
解决此类问题的方法是重新定义相关的列表环境。 enumitem
包是我最喜欢做这种事情的方法;它有许多选项和参数可以改变,可以是所有列表或单独的每个列表。
以下是我认为你想要的事情(等等):
\usepackage{enumitem} \setlist{nolistsep}
答案 1 :(得分:60)
在逐项列出之前尝试\vspace{-5mm}
。
答案 2 :(得分:36)
在\vspace{-\topsep}
之前使用\begin{itemize}
。
在\setlength{\parskip}{0pt} \setlength{\itemsep}{0pt plus 1pt}
后使用\begin{itemize}
。
对于列表后面的空格,请在\vspace{-\topsep}
之后使用\end{itemize}
。
\vspace{-\topsep}
\begin{itemize}
\setlength{\parskip}{0pt}
\setlength{\itemsep}{0pt plus 1pt}
\item ...
\item ...
\end{itemize}
\vspace{-\topsep}
答案 3 :(得分:11)
“正确”的LaTeX方法是使用一个允许您指定所需间距的包。有几个这样的包,这两个页面链接到它们的列表...
答案 4 :(得分:11)
最简单的方法是使用 enumitem 包(http://mirror.hmc.edu/ctan/macros/latex/contrib/enumitem/enumitem.pdf)。例如,
\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\begin{document}
\noindent Here is some text and I want to make sure
there is no spacing the different items.
\begin{itemize}[noitemsep]
\item Item 1
\item Item 2
\item Item 3
\end{itemize}
\noindent Here is some text and I want to make sure
there is no spacing between this line and the item
list below it.
\begin{itemize}[noitemsep,topsep=0pt]
\item Item 1
\item Item 2
\item Item 3
\end{itemize}
\end{document}
此外,如果要在列表中全局使用此设置,可以使用
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\setlist[itemize]{noitemsep, topsep=0pt}
但请注意,此程序包与 beamer 程序包不兼容,该程序包用于在Latex中进行演示。
答案 5 :(得分:7)
我对paralist package非常满意。除了添加消除空间的选项之外,它还添加了其他好东西,例如itemize的紧凑版本,枚举和描述环境。
答案 6 :(得分:6)
\renewcommand{\@listI}{%
\leftmargin=25pt
\rightmargin=0pt
\labelsep=5pt
\labelwidth=20pt
\itemindent=0pt
\listparindent=0pt
\topsep=0pt plus 2pt minus 4pt
\partopsep=0pt plus 1pt minus 1pt
\parsep=0pt plus 1pt
\itemsep=\parsep}