在\ begin {itemize}之前消除空间

时间:2009-06-29 23:43:48

标签: latex

在Latex中,如何消除逐项列出前插入的空格?

\begin{itemize} % produces lots of vertical space
\item ...
\item ...
\end{itemize}

7 个答案:

答案 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)。例如,

enter image description here

\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}