KOMA-Script 有 parskip=full- 但章节标题和内容之间没有间距

KOMA-Script 有 parskip=full- 但章节标题和内容之间没有间距

使用 KOMA-Script 时,可以\RedeclareSectionCommand调整章节标题前后的间距,例如在这个问题中描述

我希望该部分的内容出现在部分标题下的下一行,没有任何额外的垂直空间。下面的代码显示了我想要的内容:

\documentclass{scrartcl} 
\begin{document}

\RedeclareSectionCommand[afterskip=1pt]{section} %the magic happens here

\section{Foo}
    This is some text to show off
\section{Bar}
    This is some text to show off
\section{Baz}
    This is some text to show off  
\end{document}

然而,在我的实际文档中,我使用parskip=full-参数\documentclass。这会导致节标题和节内容之间出现一个空行,而这并不是我想要的。mwe 也显示了这种行为。parskip 的每个允许值都以 或 开头,full显示half了这种行为。

我认为这是正常且预期的行为,因为德语文档明确指出空格先于这段落。

因为时间现在是一个问题,所以我通过在\vspace*{-\baselineskip}每个后面放置来解决这个问题\section{},但这对于长期使用来说当然是不可接受的。

我如何获得parskip=full-和的行为\RedeclareSectionCommand[afterskip=1pt]{section},除了我不希望在部分标题和相应内容之间有任何垂直空间?

答案1

更新

仍然不推荐,但现在可以不修补命令,因为 KOMA-Script 版本 3.26\RedeclareSectionCommand为和引入了两个新键\RedeclareSectionCommandsruninafterindent。这两个键的可能值是bysigntruefalse。有关更多信息,请参阅 KOMA-Script 文档或例如使用 koma-script 调整章节/小节标题周围的间距

runin使用值为¹ 的新键,false可以\parskip通过 删除标题和后续文本之间的afterskip=-\parskip

例子:

\documentclass[parskip=full-]{scrartcl}[2015/10/03]
\RedeclareSectionCommand[
  runin=false,
  afterskip=-\parskip
]{section}

\begin{document}
\section{Foo}
    This is some text to show off

    This is some text to show off
\section{Bar}
    This is some text to show off

    This is some text to show off
\section{Baz}
    This is some text to show off

    This is some text to show off
\end{document}

(丑陋的)结果与下面的原始答案相同。

¹ 默认设置会runin=bysign导致与原始答案相同的行为。


原始答案

不推荐 - 请参阅 tex.stackexchange.com/a/300541/43317 和 komascript.de/node/2039 (德语) - 但可以使用 KOMA-Script 版本 3.19 或更新版本:

\documentclass[parskip=full-]{scrartcl}[2015/10/03]
\RedeclareSectionCommand[afterskip=1sp]{section} %the magic happens here
\usepackage{xpatch}
\xapptocmd\sectionlinesformat{\vspace*{-\parskip}}{}{\PatchFailed}

\begin{document}
\section{Foo}
    This is some text to show off

    This is some text to show off
\section{Bar}
    This is some text to show off

    This is some text to show off
\section{Baz}
    This is some text to show off

    This is some text to show off
\end{document}

正如你所见,结果看起来很奇怪:

在此处输入图片描述

相关内容