这个问题或多或少与此重复类似名称的问题,但并不完全相同。我还想在每个部分标题下方放置一条水平线(与链接问题完全相同)。这个现有问题的答案仅显示了如何使用包实现这一点titlesec
。
但是我正在使用 KOMA-Script 类scrreprt
,不建议titlesec
同时使用 KOMA-Script,因为titlesec
破坏了 KOMA-Script 的几个功能KOMA-Script 在警告中对此表示抗议。
似乎\DeclareSectionCommand
只能更改节标题前/后的垂直跳过。最后,存在一些命令,例如\At@startsection
添加一些内容前 章节标题,但没有添加任何内容后章节标题。
有什么方法可以让 KOMA-Script 在不使用该包的情况下在章节标题后打印规则titlesec
?
一个小的MWE:
\documentclass{scrreprt}
\begin{document}
\chapter{The first chapter}
\section{A nice section}
Some text
\end{document}
期望结果(规则不必是红色):
答案1
这将是可能的KOMA-Script 版本 3.19或更新版本。有一个新的命令\sectionlinesformat
可以重新定义,用于在节标题后插入行。
\documentclass{scrreprt}[2015/09/15]% needs Version 3.19 or newer
\makeatletter
\renewcommand{\sectionlinesformat}[4]{%
\ifstr{#1}{section}{%
\parbox[t]{\linewidth}{%
\raggedsection\@hangfrom{\hskip #2#3}{#4}\par%
\kern-.75\ht\strutbox\rule{\linewidth}{.8pt}%
}%
}{%
\@hangfrom{\hskip #2#3}{#4}}%
}
\makeatother
\usepackage{blindtext}% only dummy text
\begin{document}
\chapter{The first chapter}
\section{A nice section}
\Blindtext[2]
\addsec{A nice section without number}
\blindtext
\end{document}
结果: