我正在使用 KOMA-script scrreprt 类。
我知道我可以使用\usepackage{parskip}
或\setlength{\parskip}{12pt}
,但这两者也会影响标题。
在所有两个连续段落之间手动添加\vspace{12pt}
似乎可行,但这并不方便。有没有办法实现自动化?
答案1
如果您使用 KOMA-Script 类,则该类本身已经提供了解决方案:
\documentclass[parskip=full]{scrreprt}
(英文文档第 49 页)。
您还可以添加
\usepackage{etoolbox}
\appto\chapterheadendvskip{\vspace{-1\parskip}}
如果您不想\parskip
在章节标题后立即添加。
对于章节标题使用标题安全. 如需自定义数量\parskip
,请使用类似
\setparsizes{\parindent}{50pt plus 20pt minus 30pt}{\parfillskip}
在您的序言中(调整我放置的荒谬值,仅作为示例)。提供拉伸和收缩组件以帮助文本适合页面非常重要。
答案2
我认为最好的方法是使用parskip
(我认为 KOMA 有自己的方法来影响段落跳过),然后更改标题间距以进行补偿。下面是一个例子,说明如何使用titlesec
包裹。
\documentclass{scrartcl}
\usepackage{parskip,lipsum,titlesec}
\setlength{\parskip}{50pt}
\titlespacing*{\section}{0pt}{-40pt}{-40pt}
\begin{document}
\section{First}
\lipsum[1-5]
\section{Second}
\lipsum[6-10]
\end{document}
(我夸大了 parskip,以便更容易看到发生了什么。)您可能需要在beforeskip
和afterskip
参数中添加弹性胶水\titlespacing
。