[Tex/LaTex] Using small caps in section titles

sectioningsmall-caps

A brief search yielded no answers, so I'm posting this question:

Is there a way to get smallcaps to display correctly in (subsub…)section titles?

My problem in particular is in the following code:

\documentclass{article}
\newcommand*{\matlab}{\textsc{matlab}}

\begin{document}
 \section{\matlab}}
\end{document}

Instead of producing a smallcaps MATLAB in the title, it produces normal text – "matlab", i.e. what went into \textsc{} in the newcommand*{}{}.

It doesn't actually produce an error or warning and compiles, but doesn't give me the required output.

Anyone know of a work-around/solution?

Best Answer

What you're discovering is that the Computer Modern font family doesn't feature a bold/smallcaps weight/shape combination. To restore the "normal" weight for the smallcaps string, you need to preface it with an \mdseries directive.

enter image description here

\documentclass{article}
\newcommand*{\matlab}{\textsc{matlab}}
\newcommand*{\altmatlab}{{\mdseries\matlab}} % note the double pair of curly braces
%%% "\newcommand*{\altmatlab}{\textmd{\matlab}}" works too...
\begin{document}
 \section{A title that contains ``\matlab'' as a string}
 \section{A title that contains ``\altmatlab'' as a string}
\end{document}

Other font families, e.g., Times Roman, do feature a bold/smallcaps combination. If you were to use one of these font families, using the basic \matlab macro in section headers would be fine.

Related Question