enumitem 选项在列表底部和下一行之间留出空格

enumitem 选项在列表底部和下一行之间留出空格

下面的代码说明了我的问题。我已经删除了很多分隔列表的空间,但如果我在列表后面立即有一行文本,那么这行文本就会被推高,以至于与最后一个列表项重叠。我可以通过添加\setlist[enumerate, 1]{after=\vspace*{10pt}}但如果有列表下方的行。显然我可以通过手动添加空格来临时修复它,但是必须向规范中添加参数以解决此问题的方法\setlist。感谢您的任何建议。

\documentclass{amsart}
\parindent=0 pt
\parskip=12 pt
\usepackage{lipsum}
\usepackage{enumitem}
\def\myTopSep{-8pt}
\def\myItemSep{0ex}
\def\myParSep{0ex}
\def\myParTopSep{0ex}
\setlist[enumerate]{topsep=\myTopSep,itemsep=\myItemSep,partopsep=\myParTopSep,parsep=\myParSep}
\begin{document}
\lipsum[1][1-3]
\begin{enumerate}
    \item one
    \item two
    \begin{enumerate}
        \item three
        \item four
    \end{enumerate}
    This is a line
    \item one
    \item two
    \begin{enumerate}
        \item three
        \item four
    \end{enumerate}
    \item one
    \item two
\end{enumerate}
\par
Now I'm going to add  \verb+\setlist[enumerate, 1]{after=\vspace*{10pt}}+ etc
\par
\lipsum[1][1-3]
\setlist[enumerate, 1]{after=\vspace*{10pt}}
\setlist[enumerate, 2]{after=\vspace*{10pt}}
\lipsum[1][1-3]
\begin{enumerate}
    \item one
    \item two
    \begin{enumerate}
        \item three
        \item four
    \end{enumerate}
    This is a line
    \item one
    \item two
    \begin{enumerate}
        \item three
        \item four
    \end{enumerate}
    \item one
    \item two
\end{enumerate}
\lipsum[1][1-3]
\end{document}

答案1

我认为根本问题在于您设置了\parskip=12 pt或更多 LaTeX-y,。\parskip=1\baselineskip在我看来,如果这是文档其他部分的正确值,那么它也应该是列表环境(如enumerate和)的正确值itemize

如果您确实必须消灭列表环境周围的非零值,则可以为1 级列表环境\parskip设置选项before=\vspace{-1\baselineskip}和,仅为2 级(及以上)列表环境设置选项和。after=\vspace{-1\baselineskip}nosepnosep

另外:设置选项nosep必须比设置topsepitemseppartopsepparsep更容易0pt

在此处输入图片描述

\documentclass{amsart}
\parindent=0pt
\parskip=1\baselineskip
\usepackage{lipsum}
\usepackage{enumitem}
\setlist[enumerate,1]{nosep,
                      before=\vspace{-1\baselineskip},
                      after =\vspace{-1\baselineskip}}
\setlist[enumerate,2]{nosep}

\begin{document}
\lipsum[1][1-4] % filler text
\begin{enumerate}
    \item one
    \item two
    \begin{enumerate}
        \item three
        \item four
    \end{enumerate}
    This is a line
    \item one
    \item two
    \begin{enumerate}
        \item three
        \item four
    \end{enumerate}
    \item one
    \item two
\end{enumerate}
\lipsum[1][5-8] % filler text
\end{document}

相关内容