![使用 usepackage{parskip} 和 usepackage{enumitem} 时段落和列表之间的间距](https://linux22.com/image/289555/%E4%BD%BF%E7%94%A8%20usepackage%7Bparskip%7D%20%E5%92%8C%20usepackage%7Benumitem%7D%20%E6%97%B6%E6%AE%B5%E8%90%BD%E5%92%8C%E5%88%97%E8%A1%A8%E4%B9%8B%E9%97%B4%E7%9A%84%E9%97%B4%E8%B7%9D.png)
我有一个项目列表,我想从新行开始,但第一个项目之前没有完整的段落空间。我尝试使用 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}