我正在使用 KOMA 脚本文档类scrbook
。是否有任何方法可以仅使用 KOMA 使章节标题准确显示在页面主体的顶部(而不使用titlesec
、fancyhdr
、fncychap
、 ...,因为它们会弄乱文档中的其他内容)?是否有任何方法可以更改章节标题和以下文本之间的间距?
答案1
更新
自从KOMA-Script 版本 3.26您可以选择afterindent=false
避免章节标题后第一行文本的段落缩进。
\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{showframe}
\RedeclareSectionCommand[
beforeskip=0pt,
afterindent=false% <- added
]{chapter}
\begin{document}
\chapter{foo}
\blindtext
\end{document}
结果和下面的原始答案相同。
使用afterindent=false
或afterindent=true
负值会beforeskip
导致章节标题上方的负跳过(需要 3.26 或更新版本)。
注意:使用KOMA-Script 版本 3.22 - 3.25您必须将其设置beforeskip
为负值,以避免章节标题后的第一行文本出现段落缩进:beforeskip=-1sp
。有关更多信息,请参阅文档或使用 koma-script 调整章节/小节标题周围的间距
原始答案
和KOMA-Script 版本 3.15 或更新版本您可以使用\RedeclareSectionCommand
或\RedeclareSectionCommands
更改章节标题上方或下方的空间。
\RedeclareSectionCommand[beforeskip=0pt]{chapter}
代码:
\documentclass{scrbook}
\usepackage{blindtext}% dummy text
\usepackage{showframe}% to show the page layout
\RedeclareSectionCommand[beforeskip=0pt]{chapter}
\begin{document}
\chapter{foo}
\blindtext
\end{document}
答案2
答案3
我遇到了完全相同的问题,我认为这实际上是 KOMA 章节处理中的问题。请看以下 MWE:
\documentclass[
paper=a4,
twoside,
scrbook,
fontsize=11pt,
DIV=12,
headings=small,
usegeometry=true]{scrbook}
\usepackage[showframe=true]{geometry}
% I would expect that now chapter has no top vskip, just like section
\RedeclareSectionCommand[beforeskip=0pt]{chapter}
\renewcommand{\chapterheadstartvskip}{}%
\begin{document}
\cleardoubleevenpage
\section*{\usekomafont{chapter}The Section is Correct}
Baz bar.
\clearpage
\chapter*{The Chapter Still Has a Gap Above}
You can see some additional handling in the KOMA scrbook class:\\
\textbackslash{}renewcommand*\{\textbackslash{}scr@chapter@beforeskip\}{-2.8\textbackslash{}baselineskip-\textbackslash{}parskip\}\\%
However, I have no idea how to get rid of it and why it is there.
\end{document}
我预计 chapter* 和 section* 现在都具有零顶部 vspace。如果您查看 scrbook.cls,您会发现使用 scr@chapter@beforeskip 进行了特殊处理,而 section 命令则不存在这种处理。
也许 Markus Kohm 可以澄清这种差异的目的,并给出如何克服这个问题的提示。这里有一篇有点相关的帖子:中间的章节和章节表