KOMA 中的章节标题及其背景颜色和换行符

KOMA 中的章节标题及其背景颜色和换行符

目标

我希望我的小节标题具有彩色背景并支持换行。有一些 问题关于将背景延伸到边缘——然而这不是我想要实现的。

经过一番研究,我发现该soul软件包非常接近我的需要,但不幸的是,我似乎无法\hl在 KOMA 中使用其命令\addtokomafont

这是 MWE

\documentclass[a5paper,pagesize]{scrbook}
\usepackage{xcolor,soul}
\sethlcolor{black}
\addtokomafont{subsection}{\hl\mdseries\color{red}}

\begin{document}
\subsection{A very peculiar title which will hopefully break into the next line}
\end{document}

答案1

您可以重新定义\sectionlinesformat(需要 KOMA-Script 版本 3.19 或更新版本)和\subsectionformat

\documentclass[a5paper]{scrbook}[2015/10/03]
\usepackage{xcolor,soul}
\sethlcolor{black}

\makeatletter
\renewcommand\sectionlinesformat[4]{%
  \ifstr{#1}{subsection}% only subsections should be changed
    {\@hangfrom{\hskip#2 #3}{\hl{#4}}}% subsection level
    {\@hangfrom{\hskip#2 #3}{#4}}% other section levels
}
\makeatother
\addtokomafont{subsection}{\mdseries\color{red}}
\renewcommand\subsectionformat{\hl{\thesubsection\autodot}\enskip}

\begin{document}
\subsection{A very peculiar title which will hopefully break into the next line}
\end{document}

在此处输入图片描述

请注意,\hl有一些限制。请参阅包装文件soul


如果你真的想使用\MakeUppercase小节,你必须将重新定义更改\sectionlinesformat

\renewcommand\sectionlinesformat[4]{%
  \ifstr{#1}{subsection}% only subsections should be changed
    {\@hangfrom{\hskip#2 #3}{\hl{\MakeUppercase{#4}}}}% subsection level
    {\@hangfrom{\hskip#2 #3}{#4}}% other section levels
}

结果:

在此处输入图片描述

相关内容