自动在两个连续段落之间添加垂直空格

自动在两个连续段落之间添加垂直空格

我正在使用 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,以便更容易看到发生了什么。)您可能需要在beforeskipafterskip参数中添加弹性胶水\titlespacing

相关内容