3

Is it possible to tweak the amsbook-class such that the uppercase headings (e.g. Chapter 1) are changed to small caps?

Are there any "typographical objections" in doing so?

Werner
  • 603,163
CraigPr
  • 43
  • 4

1 Answers1

1

An etoolbox patch of \@makechapterhead (the macro responsible for setting the (numbered) chapter heading) is sufficient:

enter image description here

\documentclass{amsbook}% http://ctan.org/pkg/AMS-LaTeX
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
% Change case of chapter title
\patchcmd{\@makechapterhead}% <cmd>
  {\uppercase}% <search>
  {\scshape}% <replace>
  {}{}% <success><failure>
\makeatother
\begin{document}
\chapter{A chapter}
\end{document}

If you wish to change the chapter title (A chapter above) to small-caps from the default bold, use

\makeatletter
% Change formatting of chapter name
\patchcmd{\@makechapterhead}% <cmd>
  {\bfseries}% <search>
  {\scshape}% <replace>
  {}{}% <success><failure>
\makeatother

Of course, you can do both if needed:

enter image description here

To set the chapter name in small-caps and bold, you need a font that can manage both. For this, see Small Caps and Bold Face. Using bold-extra provides this font, but at a very low quality:

enter image description here

Perhaps a fake-small-caps-bold approach might work with the aid of contour:

enter image description here

\documentclass{amsbook}% http://ctan.org/pkg/AMS-LaTeX
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\usepackage[auto]{contour}% http://ctan.org/pkg/contour
\contourlength{0.01em}
\makeatletter
% Change case of chapter title
\patchcmd{\@makechapterhead}% <cmd>
  {\uppercase}% <search>
  {\scshape}% <replace>
  {}{}% <success><failure>
% Change formatting of chapter name
\patchcmd{\@makechapterhead}% <cmd>
  {\bfseries}% <search>
  {\scshape}% <replace>
  {}{}% <success><failure>
% Fake-bold chapter name
\patchcmd{\@makechapterhead}% <cmd>
  {#1}% <search>
  {\contour[100]{black}{#1}}% <replace>
  {}{}% <success><failure>
\begin{document}
\chapter{A chapter}
\section{A section}
\end{document}

See the contour package documentation for more options (I've used a 0.03em contour length, and 100 repetitions for a smooth finish).

There is no real typographical requirement here, just as long as the headings show some form of structure. Font shape/face/size all show this, and one shouldn't go too overboard. Also think about consistency across sectional units. If you're sticking to bold, say, just vary the size across the hierarchy.

Werner
  • 603,163
  • Do you think that OP is talking about the chapter heading instead of the word chapter used in headers? – Sigur Jan 07 '14 at 21:02
  • @Sigur: I've added a reference to the chapter heading/title. – Werner Jan 07 '14 at 21:05
  • @Werner: Thank you.

    My Question was concerning the chapter head. But now I'm also thinking about changing the chapter title to small caps.

    Although when I use your second code snippet the chapter title is in small caps but not bold. In my opinion this is a little to thin, especially in comparison with the bold section headings.

    Is it possible to change the chapter title to bold small caps?

    Also consider the second part of my question (In my opinion the chapter heading in small caps does look for aesthetic.).

    – CraigPr Jan 07 '14 at 21:25
  • I have another tiny question: How do I also make the headline small caps? I tried to use "@makeheadline" but it did not seem to work. – CraigPr Jan 07 '14 at 21:47
  • @CraigPr: For that you would need the patch \patchcmd{\chapterrunhead}{\uppercasenonmath}{\scshape\@secondoftwo}{}{}. However, a quick fix is to call \chapter{\scshape A chapter} - this will also migrate to the ToC. – Werner Jan 07 '14 at 22:15
  • @CraigPr -- do any of your chapter titles contain math? if so, i strongly caution against using small caps for running heads. small caps are traditionally used for running heads, but when any math that is taller than the x-height is included, this looks absolutely dreadful. hence the current practice to use all uppercase at the size that is comparable to small caps. mathematicians are encouraged to use only text in titles, but they (1) don't read documentation, and if they do, (2) ignore such recommendations. – barbara beeton Jan 07 '14 at 22:28
  • @Werner: Can one change the section headings to small caps? (I'm experimenting a little bit...)

    I tried: \patchcmd{@makesectionhead}% {\bfseries}% {\scshape}% {}{}% \makeatother

    But didn't work out.

    – CraigPr Jan 11 '14 at 16:27
  • @CraigPr: Only \chapters are special. All other (lower) sectional units are formatting with a generic set of macros (which doesn't include \@makesectionhead). You would need \patchcmd{\@sect}{\@hangfrom}{\mdseries\scshape\@hangfrom}{}{} (which would change everything from \section to \subsection to \subsubsection to use \mdseries\scshape. – Werner Jan 11 '14 at 16:45
  • @Werner: Thank you. But your code does not seem to work. I get a lot's of error messages, e.g. "Missing \begin{document}. ...t}{@hangfrom}{\mdseries\scshape@hangfrom}". – CraigPr Jan 11 '14 at 17:04
  • @CraigPr: Did you "wrap it" with a \makeatletter...\makeatother pair? – Werner Jan 11 '14 at 17:10
  • @Werner: Ah, my bad. It does compiles now but the section headings are still type set bold. – CraigPr Jan 11 '14 at 17:20