[Tex/LaTex] How to put the chapter number above the chapter heading

chapters

The default looks something like this:

Chapter 1

Chapter Title

I want it to look like this (but centered):

1

Chapter Title

In addition:

  1. The chapter number should be bold, Large
  2. The chapter title should be normal text, Large, uppercase.
  3. I'd like to be able to control the spacing between the chapter number and the top of the page, the chapter number and the chapter title, and the chapter title and the body text.

Thanks!

EDIT. Here are some MWEs:

This one is the default. It doesn't do what I want at all:

\documentclass[]{report}
\begin{document}
\chapter{Vector Spaces}
\end{document}

This one is closer, but doesn't have the chapter number above the chapter title:

\documentclass{report}
\makeatletter
\def\@makechapterhead#1{%
    \vspace*{-5em}%
    {\parindent \z@  \normalfont
    \interlinepenalty\@M
    \Large\centering \thechapter \quad #1\par\nobreak
    \vskip 2.5em
}}
\makeatother

\begin{document}
\chapter{VECTOR SPACES}
\end{document}

This one also doesn't have uppercase font built into it. I had to capitalize the letters myself, which isn't a big problem but I'd still like it fixed.

Best Answer

The easy option here is to redefine \@chapapp to just gobble its argument:

enter image description here

\documentclass{report}

\makeatletter
\let\@chapapp\@gobble
\makeatother

\begin{document}
\chapter{Vector Spaces}
\end{document}

Why does this work? Look at \@makechapterhead (from report.cls):

\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@
  }}

\@chapapp is always followed by \space. So, redefining it to \@gobble will just absorb \space.


In terms of your \@makechapterhead specification, here's some modifications:

enter image description here

\documentclass{report}

\makeatletter
\def\@makechapterhead#1{%
    \vspace*{-5em}% Space above number
    {\parindent \z@  \normalfont
    \interlinepenalty\@M
    \Large\centering \textbf{\thechapter}%
    \par\vspace{1em}% Space between number and title
    \MakeUppercase{#1}%
    \par\vspace{2.5em}% Space between title and text
}}
\makeatother

\begin{document}
\chapter{Vector Spaces}
\end{document}