How to adjust the size and placement of chapter heading in report class
The error message indicates that you were trying to use the "easy setup" with \titleformat*
in a wrong way. For substantial formatting modifications, use the non-starred variant \titleformat
and for changing the spacing, use \titlespacing*
. Below are the default settings, which you can change according to your needs:
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titlespacing*{\chapter}
{0pt}{50pt}{40pt}
For example, to center the title, reduce the space before from 50pt
to 30pt
and the space after from 40pt
to 20pt
, you can do:
\documentclass{report}
\usepackage{titlesec}
\usepackage{lipsum}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries\filcenter}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titlespacing*{\chapter}
{0pt}{30pt}{20pt}
\begin{document}
\chapter{Test Chapter}
\lipsum[4]
\end{document}
The regular (numbered) chapter header in report
is set by \@makechapterhead
:
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\huge\bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
You see a 50\p@
(or 50pt) vertical gap before setting \@chapapp\space \thechapter
in \huge\bfseries
; then another 20\p@
gap and the title in \Huge\bfseries
, and yet another 40\p@
. Starred chapters are set using \@makeschapterhead
:
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
You can change these values to your liking.