# Capital chapter names in book class

In the book documentclass how can you make the chapters be in capital letters?

For example:

Chapter 1 --> CHAPTER 1

etc...

-
In order to make a sequence of capital letters look decent, it's really important to apply some letterspacing, say with the help of the microtype package. – Mico Feb 28 at 19:49

The book document class has a low-level macro named \chaptername, but what's used in the typesetting of chapter headers is \@chapapp. It's best to leave \chaptername alone and modify \@chapapp, by applying (a) \MakeUppercase to its argument and (b) a modest amount of letter-spacing to the all-caps string; without some letter-spacing, strings of all-caps letters can easily look very "blocky" and dense.

\documentclass{book}
\usepackage{microtype} % for '\textls' macro

\makeatletter % default is "\newcommand\@chapapp{\chaptername}"
\renewcommand\@chapapp{\textls[40]{\MakeUppercase{\chaptername}}}
\makeatletter

\begin{document}
\chapter{Good morning}
\end{document}


Addendum: If your document has one or more chapter-level appendices, and assuming you'll want the prefix string "Appendix" to be converted to uppercase letters as well, you will need to provide the following instructions after \appendix:

\makeatletter
\renewcommand\@chapapp{\textls[40]{\MakeUppercase{\appendixname}}}
\makeatletter

-
It works but I get this error: Package microtype Error: Letterspacing currently doesn't work with xetex. – Adam Feb 28 at 21:15
@Adam - (It would have been helpful to mention earlier that you use XeLaTeX.) Sadly, microtype doesn't "do" letterspacing under XeLaTeX -- but it does work under LuaLaTeX; is that an option for you. If you're committed to XeLaTeX, I'm afraid letterspacing isn't available to you via the \textls macro. – Mico Feb 28 at 21:34
Don't worry, I just removed the letterspacing and everything works fine . :) – Adam Feb 28 at 21:40

A low level way of doing this is to simply have

\renewcommand\chaptername{CHAPTER}


\documentclass{book}