我希望我的小节标题具有彩色背景并支持换行。有一些 问题关于将背景延伸到边缘——然而这不是我想要实现的。
经过一番研究,我发现该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
}
结果: