我怎样才能改变 enumitem 的行为?

我怎样才能改变 enumitem 的行为?

文档 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

相关内容