Latex 删除列表中项目之间的空格

问题描述 投票:0回答:4

格式化列表以删除列表项之间的空格的最佳方法是什么。

latex
4个回答
205
投票

使用 enumitem 包更容易:

\documentclass{article}
\usepackage{enumitem}
\begin{document}
Less space:
\begin{itemize}[noitemsep]
  \item foo
  \item bar
  \item baz
\end{itemize}

Even more compact:
\begin{itemize}[noitemsep,nolistsep]
  \item foo
  \item bar
  \item baz
\end{itemize}
\end{document}

enumitem 包提供了很多自定义项目符号、编号和长度的功能。

paralist 包提供了非常紧凑的列表:compactitem、compactenum 甚至段落内的列表,如 inparaenum 和 inparaitem。


49
投票

你可以这样做:

\documentclass{article}

\begin{document}

Normal:

\begin{itemize}
  \item foo
  \item bar
  \item baz
\end{itemize}

Less space:

\begin{itemize}
  \setlength{\itemsep}{1pt}
  \setlength{\parskip}{0pt}
  \setlength{\parsep}{0pt}
  \item foo
  \item bar
  \item baz
\end{itemize}

\end{document}

13
投票

这个问题已经在 https://tex.stackexchange.com/questions/10684/vertical-space-in-lists 上提出过。得票最高的答案还提到了

enumitem
包(这里由 Stefan 回答),但我也喜欢这个,它涉及创建您自己的逐项环境而不是加载新包:

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

来源:https://tex.stackexchange.com/a/136050/12065


2
投票

compactitem
完成这项工作。

\usepackage{paralist}

...

\begin{compactitem}[$\bullet$]
    \item Element 1
    \item Element 2
\end{compactitem}
\vspace{\baselineskip} % new line after list
© www.soinside.com 2019 - 2024. All rights reserved.