11

I am using the KOMA script document class scrbook. Is there any way to make the chapter headings appear exactly at the top of the page body just by using KOMA (without using titlesec, fancyhdr, fncychap, ... for they would mess up other things in my documents)? Is there any way to change the space between section heading and the following text?

  • I'm not quite sure what you mean. Are we talking about the chapter titles in the document and that KOMA, like the standard class, adds a vertical space before the chapter or do you refer to the header where KOMa can print the current section/chapter one reads in. In case you mean the position of chapters, search for \chapterheadstartvskip – Martin H Feb 1 '12 at 16:38
10

The following is probably what you're after:

enter image description here

\documentclass{scrreprt}
\usepackage{blindtext,showframe}
\renewcommand{\chapterheadstartvskip}{}
\begin{document}
\chapter{foo} \blindtext \blindtext
\end{document}​

Setting \chapterheadstartvskip to a no-op removes any vertical skip to set the chapter title on the first line.

showframe was loaded just to highlight the text block, while blindtext provided dummy text.

  • 2
    There was a change in KOMA-Script version 3.15: now you have to use \renewcommand{\chapterheadstartvskip}{}. – esdd Mar 8 '15 at 0:30
  • @Werner, why is there still a little bit of space above the chapter heading, and how would you eliminate it completely? – AML Jun 7 '18 at 18:54
  • 1
    @AML: It's most likely as a result of the baseline skip, which leaves room at the top of text so they don't protrude into the descenders of a row of text above it. The easiest would be to try using a small but negative value for the vertical skip; something like \renewcommand{\chapterheadstartvskip}{\vspace{-.2\baselineskip}}. – Werner Jun 7 '18 at 19:39
10

Update

Since KOMA-Script version 3.26 you can option afterindent=false to avoid the paragraph indentation of the first text line after the chapter title.

\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{showframe}
\RedeclareSectionCommand[
  beforeskip=0pt,
  afterindent=false% <- added
  ]{chapter}
\begin{document}
\chapter{foo}
\blindtext
\end{document}​

The result is the same as in the original answer below.

With afterindent=false or afterindent=true a negative value of beforeskip results in a negative skip above the chapter title (needs version 3.26 or newer).

Note: With KOMA-Script versions 3.22 - 3.25 you have to set beforeskip to a negative value to avoid the paragraph indentation in the first text line following the chapter title: beforeskip=-1sp. For more information see the documentation or Adjusting spacing around section/subsection titles with koma-script


Original answer

With KOMA-Script Version 3.15 or newer you can use \RedeclareSectionCommand or \RedeclareSectionCommands to change the space above or below the chapter title.

\RedeclareSectionCommand[beforeskip=0pt]{chapter}

enter image description here

Code:

\documentclass{scrbook}
\usepackage{blindtext}% dummy text
\usepackage{showframe}% to show the page layout
\RedeclareSectionCommand[beforeskip=0pt]{chapter}
\begin{document}
\chapter{foo}
\blindtext
\end{document}​
  • This was the easiest way ever. – Joseph Sep 29 '15 at 20:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.