10

How do I change the spacing between the number and the title of a section? I would like to have the following:

1.(1cm space)Section name

0

3 Answers 3

9

This adjusts the space for all section headings, and also for sub(sub)sections to 1cm:

\makeatletter
\renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname\hspace{1cm}}
\makeatother

You can modify this redefinition as you desire. It works with KOMA-Script classes as well, as I notice your tag.

4
  • 1
    Thanks for your answer. Is there any way to make \hspace{1cm} start at the beginning of the line rather than after the section number?
    – Moked
    Aug 24, 2011 at 13:32
  • @Sebastian: I also have Sebastian's question - did you find a solution?
    – Christoph
    Mar 22, 2012 at 10:54
  • Ha, found the solution. You will find that using \renewcommand*{\@seccntformat}[1]{\hbox to 1cm{\csname the#1\endcsname}} will do the trick.
    – Christoph
    Mar 22, 2012 at 11:19
  • @Christoph Use \renewcommand*\sectionformat{\makebox[1cm][l]{\thesection\autodot \hfil}}.
    – esdd
    Jun 5, 2017 at 19:42
6

The "1.", "(1cm space)" and "Section name" are each components of the sectional command and, the titlesec package provides commands for manipulating this, and much more. Specifically, titlesec provides

\titleformat{<command>}[<shape>]{<format>}{<label>}{<sep>}{<before-code>}[<after-code>]

to change the format of a sectional title. You could use the latter in the following way:

\usepackage{titlesec}% Http://ctan.org/pkg/titlesec
...
\titleformat{\section}{\bfseries\sffamily\large}{\thesection.}{\hspace{1cm}}{}%

which typesets \section in \bfseries (bold), \sffamily (sans serif) and \large, with a period . after the section number \thesection, followed by a 1cm gap and then the title. This is what it looks like if you only modify the \section format as given above:

Titlesec formatting of \section

1
  • Using titlesec with a KOMA-Script class (see the koma-script tag of the question) is not longer recommended. Jun 5, 2017 at 8:56
1

With a KOMA-Script class you can redefine the KOMA-Script command \sectionformat:

\renewcommand*\sectionformat{\thesection\autodot\hspace{1cm}}

Example:

\documentclass{scrbook}
\renewcommand*\sectionformat{\thesection\autodot\hspace{1cm}}
\usepackage{lipsum}
\begin{document}
\chapter{A chapter}
\lipsum[1]
\section{A section}
\lipsum[2]
\subsection{A subsection}
\lipsum[3]
\section{Another section}
\lipsum[4]
\end{document}

Note that this suggestion needs at least KOMA-Script version 3.17. Current version is 3.23.


Because of the comments to Stephans answer: If there should be a static width of eg. 1cm for the section number including the space, then

\renewcommand*\sectionformat{\makebox[1cm][l]{\thesection\autodot\hfil}}

can be used.

1
  • And if number and space should have static width (see the comment to Johannes' answer), e.g., again \renewcommand*\sectionformat{\makebox[1cm][l]{\thesection\autodot\hfil}} can be used. Jun 5, 2017 at 9:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .