TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

For example:

Chapter 1 --> CHAPTER 1

etc...

share|improve this question
    
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
up vote 6 down vote accepted

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.

enter image description here

\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
share|improve this answer
    
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}

In your preamble:

\documentclass{book}

\renewcommand\chaptername{CHAPTER}

\begin{document}

\chapter{Hello World}

\end{document}

enter image description here

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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