sectsty 干扰 documentclass scrreprt 章节标题!

sectsty 干扰 documentclass scrreprt 章节标题!

我创建了一个最小的例子来直观地展示这个问题:

\documentclass[chapterprefix = true]{scrreprt}

\usepackage{sectsty}

\begin{document}
\chapter{Hello world!}
\end{document}

如您所见,章节标题显示如下:

第 1 章 你好,世界!

只有当该sectsty包被注释掉时,章节标题才会正确显示:

第1章

你好世界!

有没有什么简单的办法可以解决这个问题?

更新了最小示例,以测试不使用 sectsty 的可能解决方案:

\documentclass[chapterprefix = true]{scrreprt}
\usepackage{xcolor}
\addtokomafont{disposition}{\color{red!20}}

\begin{document}
\tableofcontents

\chapter{Hello world!}
\end{document}

答案1

如果可能的话,我会避免sectsty与 KOMA 类一起使用。sectsty写于 1999 年,KOMA 类在过去二十年左右的时间里已经多次更新。 的某些功能sectsty会干扰 KOMA 也就不足为奇了,因为它主要是为标准类编写的。 KOMA 类具有广泛的选项来更改分段命令的输出,因此sectsty在大多数情况下不需要这样做。

在这种情况下,结果是

\addtokomafont{disposition}{\color{red!20}}

在正文/主要内容开始之前给出所需的结果。


正如所提到的@esdd 在评论中可能说起来更贴切一些

\addtokomafont{disposition}{\color{red!20}}
\BeforeTOCHead{\addtokomafont{disposition}{\normalcolor}}

在序言中为所有章节元素着色,但豁免目录和由 KOMA 控制的其他“...列表” tocbasic

相关内容