2010-07-18 87 views
78

格式化列表以刪除列表項目之間的空格的最佳方式是什麼?乳膠刪除列表中的項目之間的空格

+1

參見:[減少對tex.SE列舉的項目之間的空間(http://tex.stackexchange.com/q/6081/5645) – 2017-01-10 12:36:22

回答

132

這與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} 

example

的enumitem包提供了很多功能來定製項目符號,編號和長度。

paralist軟件包提供了非常緊湊的列表:compactitem,compactenum,甚至在段落內的列表,如inparaenum和inparaitem。

+14

如果你想爲y中的每個列表全局刪除間距我們的文檔只是在你的序言中加入了'\ setlist [itemize] {noitemsep}'。 – 2013-03-13 15:52:20

+0

這不適用於我的機器,可能是軟件包版本? – RSFalcon7 2013-03-18 14:17:35

+4

@ RSFalcon7:您需要事先指定''enumitem''包:''\ usepackage {enumitem} \ setlist [itemize] {noitemsep}''...還將整個文檔的itemsep設置爲某個值這樣的作品''\ setlist [itemize] {itemsep = 1cm}'' – petermeissner 2013-10-02 08:15:12

33

你可以做這樣的事情:

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

此問題已在https://tex.stackexchange.com/questions/10684/vertical-space-in-lists上提出。得分最高的答案也提到了enumitem包(由斯特凡這裏回答),但我也很喜歡這一個,它涉及到創建自己的逐項環境,而不是加載新的包:

\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