文档 1:
\documentclass[12pt,a4paper]{mwrep}
\usepackage{enumitem}
\begin{document}
List of items:
\begin{itemize}
\item Item one,
\item Item two,
\item Item three
\end{itemize}
\end{document}
文档2:
\documentclass[12pt,a4paper]{mwrep}
\begin{document}
List of items:
\begin{itemize}
\item Item one,
\item Item two,
\item Item three
\end{itemize}
\end{document}
这些文档因为\usepackage{enumitem}
行而看起来不同。我想使用这个包(用于\setlist[itemize]{label=--}
),但我不想让它改变我的列表的间距。该怎么做?
我发现使用\begin{itemize}[topsep=0pt]
可以实现我想要的效果。我不想将此参数添加到\begin{itemize}
文档中每次出现的 中。如何使用\renewcommand
来实现我需要的效果?
答案1
全局设置\topsep
为 0 pt
\setitemize{topsep=0pt}
以article
类为例,就不会有区别。如果你看一下itemize
中的定义mwrep.cls
,你会看到\topsep
被设置为0pt \topsep\z@
:
\def\itemize{%
\ifnum \@itemdepth >\thr@@\@toodeep\else
\advance\@itemdepth\@ne
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\expandafter
\list
\csname\@itemitem\endcsname
{\partopsep\topsep \topsep\z@ %MW
\def\makelabel##1{##1\hfil}}%
\fi}
看到这一点,你也可以考虑设置
\setitemize{partopsep=\topsep}
在定义 0 pt 之前topsep
。