7

If, in amsbook, I write something like

\chapter{My great chapter}

it appears in the text as

Chapter 1. My great chapter

I would like to make it appear simply as

1. My great chapter

Anyone have any suggestions? It would be great if it reflected the same change in the ToC too.

  • Actually it doesn't display the way you mention. It displays chapter in small-caps (by default) above the title (in bold). For future reference, it's always best to provide a fully-compilable minimal working example (MWE). – Werner Nov 6 '12 at 21:45
  • 1
    What about \renewcommand{\chaptername}{}? – Corentin Nov 6 '12 at 21:45
  • That seems to do the trick, thanks. I didn't mind using \chapter*, when no number appeared, but then, for whatever reason, \sections were numbered continuously, rather than being re-set inside every chapter. – Skeptic Nov 6 '12 at 21:50
  • 1
    If this is what you were after, then I will turn my comment into an answer. Nevertheless, for future reference, you may consider adding a MWE as Werner suggested. – Corentin Nov 6 '12 at 22:02
2

One possibility is to redefine the command \chaptername. Here is a minimal working example:

\documentclass{amsbook}

\renewcommand{\chaptername}{}

\begin{document}
\tableofcontents

\chapter{My great chapter}

\end{document}

For more advanced customization, you may also be interested in packages such as titlesec. Note that there may also be customization possibilities built-in the amsbook class that I am not aware of (for instance memoir provides such abilities).

EDIT: as noted in the comments, one should in fact be a little more careful because of the presence of an \enspace in @makechapterhead in the class amsbook.cls. Perhaps the best option to redefine the @makechapterhead command as a whole is to use etoolbox, as egreg suggests:

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}{\uppercase\@xp{\chaptername}\enspace}{}{}{}
\makeatother 
  • 2
    the problem with this approach is that the title will have the number not centered by moved to the right by \enspace and that is noticable (if you look for it). – Frank Mittelbach Nov 6 '12 at 22:17
  • Open amsbook.cls and search for @makechapterhead. There you'll see \uppercase\@xp{\chaptername}\enspace\thechapter}. So, defining \chaptername as empty will still produce an enspace. You need to redefine @makechapterhead. – lhf Nov 6 '12 at 22:40
  • 2
    one could be absurdly devious about getting rid of the \enspace by redefining \chaptername as \ignorespaces. – barbara beeton Nov 7 '12 at 18:32
3

You can do it with the etoolbox package:

\documentclass{amsbook}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}{\uppercase\@xp{\chaptername}\enspace}{}{}{}
\makeatother

\usepackage{showframe,lipsum} % just to get a good picture

\begin{document}
\mainmatter

\chapter{A chapter title}

\lipsum[2]

\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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