我对 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}
全局偏移该空间。您也可以针对每个环境进行设置。