关于以下两个例子,我的问题是:它是一个错误还是一个功能(或者我错过了什么)?
\documentclass{scrbook}
\usepackage{xcolor}
% \addtokomafont{sectioning}{\color{green}}
\addtokomafont{chapter}{\color{green}}
\addtokomafont{section}{\color{green}}
\addtokomafont{subsection}{\color{green}}
\addtokomafont{subsubsection}{\color{green}}
\setlength{\textheight}{13\baselineskip}
\begin{document}
\chapter{test}
AAA
\section{test}
\subsection{subtest}
AAA
\end{document}
请比较示例的结果[抱歉,我无法上传图片]。
\documentclass{scrbook}
\usepackage{xcolor}
\addtokomafont{sectioning}{\color{green}}
% \addtokomafont{chapter}{\color{green}}
% \addtokomafont{section}{\color{green}}
% \addtokomafont{subsection}{\color{green}}
% \addtokomafont{subsubsection}{\color{green}}
\setlength{\textheight}{13\baselineskip}
\begin{document}
\chapter{test}
AAA
\section{test}
\subsection{subtest}
AAA
\end{document}
前者显示\section
和之间的分页符\subsection
。
答案1
使用最新的 KOMA-Script(至少版本 3.21,当前版本为 3.22),我没有在\section
和之间获得分页符\subsection
。
即使我用
\addtokomafont{section}{\color{blue}}
\addtokomafont{subsection}{\color{red}}
结果是
所以你必须更新你的KOMA-Script 版本。
针对 3.20 或更早版本的解决方法:
您可以在命令\nobreak
后添加\color
:
\documentclass{scrbook}
\usepackage{xcolor}
\addtokomafont{sectioning}{\color{green}\nobreak}
\addtokomafont{section}{\color{blue}\nobreak}
\addtokomafont{subsection}{\color{red}\nobreak}
\setlength{\textheight}{13\baselineskip}
\begin{document}
\chapter{test}
\KOMAScriptVersion
\section{test}
\subsection{subtest}
AAA
\end{document}
或\leavevmode
之前\color
(另见这个问题):
\documentclass{scrbook}
\usepackage{xcolor}
\addtokomafont{sectioning}{\leavevmode\color{green}}% see https://tex.stackexchange.com/a/314243/43317
\addtokomafont{section}{\leavevmode\color{blue}}
\addtokomafont{subsection}{\leavevmode\color{red}}
\setlength{\textheight}{13\baselineskip}
\begin{document}
\chapter{test}
\KOMAScriptVersion
\section{test}
\subsection{subtest}
AAA
\end{document}
两者均导致