使用 usepackage{parskip} 和 usepackage{enumitem} 时段落和列表之间的间距

使用 usepackage{parskip} 和 usepackage{enumitem} 时段落和列表之间的间距

我有一个项目列表,我想从新行开始,但第一个项目之前没有完整的段落空间。我尝试使用 enumitem 中的不同选项来控制这一点,它们按我预期的方式工作。然而,当我使用 parskip 包时,行为发生了巨大变化。

例如,以下内容具有所需的间距:

\documentclass[12pt, a4paper, pdftext, draft]{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[compact]{titlesec}
%
\usepackage{enumitem}
%
\begin{document}
Bunch of text here.

New paragraph here\newline
New line here.
\begin{itemize}[partopsep=0pt, topsep=0pt, parsep=0pt, itemsep=0pt, leftmargin=*]
\item First item
\item second one
\item etc.
\end{itemize}
More here.
\end{document}

但是当我引入 parskip 时,它会在列表前添加一堆额外的空间:

\documentclass[12pt, a4paper, pdftext, draft]{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[compact]{titlesec}
%
\usepackage[parfill]{parskip}
\parfillskip = 2em plus 1fil %Override parfill default (\parfillskip = 30pt plus 1fil)
%
\usepackage{enumitem}

%
\begin{document}
Bunch of text here.

New paragraph here\newline
New line here.
\begin{itemize}[partopsep=0pt, topsep=0pt, parsep=0pt, itemsep=0pt, leftmargin=*]
\item First item
\item second one
\item etc.
\end{itemize}
More here.
\end{document}

有没有办法获得我想要的列表间距和从 parskip 获得的段落格式?

答案1

如果想要糟糕的排版,就设置topsep=-\parskip;如果想要不那么糟糕的排版,就不要使用parskip

\documentclass[12pt, a4paper]{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[compact]{titlesec}
\usepackage[parfill]{parskip}

\usepackage{enumitem}

\begin{document}
Bunch of text here.

New paragraph here\newline
New line here.
\begin{itemize}[partopsep=0pt, topsep=-\parskip, parsep=0pt, itemsep=0pt, leftmargin=*]
\item First item
\item second one
\item etc.
\end{itemize}
More here.
\end{document}

在此处输入图片描述

相关内容