如何删除 itemize/enumerate 之前的空格?

如何删除 itemize/enumerate 之前的空格?

我对 LaTeX 有点菜鸟,这让我很抓狂。

当我输入

\documentclass{article}
\usepackage{enumitem}

\begin{document}
    Some text
    \begin{itemize}[noitemsep]
        \item Item 1
        \item Item 2
        \item Item 3
    \end{itemize}
\end{document}

我不想要空间出现介于文本“一些文本”及其项目:

截屏

当我在 Google 上搜索时,我看到的都是关于如何不是修复问题(“parskip是邪恶的”等等),或者关于要查看哪个包的大量模糊/令人困惑的答案,没有实际的例子供我学习。

因此,尽管这个问题已被问过很多次,但我从未找到过一个具体的答案。

这个问题再简单不过了:我该如何“正确地”摆脱这个多余的空间?

答案1

该空间由 控制topsep。将其设置为0pt
您可以itemize/enumerate使用包非常轻松地自定义环境enumitem

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\begin{document}
\noindent Some text
\begin{itemize}[noitemsep]
  \item Item 1
  \item Item 2
  \item Item 3
\end{itemize}
\bigskip\bigskip
Some text
\begin{itemize}[noitemsep,topsep=0pt]
  \item Item 1
  \item Item 2
  \item Item 3
\end{itemize}
\end{document}

要全局设置,请使用

\usepackage{enumitem}
\setlist[itemize]{noitemsep, topsep=0pt}

请参阅章节5 全局设置(第 9 页)enumitem文档有关这方面的更多详细信息,也许可以创建具有这些预定义设置的自己的列表环境。

答案2

enumitem 包现在提供 [nosep] 来抑制列表上方和下方的空格以及项目之间的空格。但是,如果您还在文档中使用 parskip 包,则此选项不会抑制列表上方和下方的空格。

答案3

另一种方法是使用:

\usepackage{paralist}

以及 compactitem 环境:

\begin{compactitem} 
    \item This is entry number one, compact 
    \item This is entry number two, compact 
\end{compactitem}

要了解更多信息,请查看:使用 paralist 压缩列表。

答案4

在 itemize 环境和其前面的文本之间,长度\parskip也会添加到该空格中。Enumitem 包不控制它。要完全消除该空格而不更改\parskip,您可以使用

\setlist{nosep,topsep=-\parskip}

全局偏移该空间。您也可以针对每个环境进行设置。

相关内容