1

I am working on a document which invokes both fontenc and lmodern, and ran into a problem with producing bold smallcaps.

I came across this post: How te get bold + small caps with latin modern or computer modern which offers a (Xelatex) solution with the fontspec package---but as I am invoking fontenc (and am compiling with pdflatex)---an adaptation of that solution to my situation would be out.

Nevertheless, after looking at the OP's MWE, I have obtained the following MWE:

\documentclass{book}
\usepackage{xcolor,lettrine}
\usepackage[T1]{fontenc} % Needed to make the letters folloiwng the lettrine boldface.
\input GoudyIn.fd
\newcommand*\initfamily{\usefont{U}{GoudyIn}{xl}{n}}

\usepackage{lmodern}
\usepackage{fix-cm}
   \rmfamily
   %\DeclareFontShape{T1}{lmr}{b}{sc}{<->ssub*cmr/bx/sc}{}
   \DeclareFontShape{T1}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{}

\begin{document}
\thispagestyle{empty}
\LARGE
\lettrine[lines=3,loversize=.25]{\initfamily{T}}{\textbf{he}} 
\end{document}

which seems to work (though I have some questions):

enter image description here

Note: The OP makes use of both of commands: \DeclareFontShape{T1}{lmr}{b}{sc}{<->ssub*cmr/bx/sc}{} and \DeclareFontShape{T1}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{}; though I have found that \DeclareFontShape{T1}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{} alone works for me. (The only difference I see between the two is {b} vs. {bx}).

QUESTION: Can anyone tell me (when compiling with Pdflatex), the difference between the two; if both are needed for the purpose of obtaining bold smallcaps when \lmodern is invoked; and if, perhaps, there is a better way of accomplishing this than this approach which does seem to work without using fontspec, as I am precluded from so doing by the use of fontenc and pdflatex?

Thank you.

1 Answer 1

1

The b and bx forms of the command set what happens when you use \fontseries{b} and \fontseries{bx}, respectively. They stand for Bold and Bold Extended. (If a font has a bold condensed series, that is bc, and so on.) Neither Computer Modern nor Latin Modern has a non-extended bold face, so the LaTeX commands \textbf and \bfseries select bx.

Since some font packages use b and some use bx, it’s good practice to define both. This lets you change the font family without losing your bold formatting, whatever other fonts you might be using. In your own document, though, you control what formatting commands you use, and you can skip the b alias if you want.

3
  • Thank you for providing this explanation. Would you say this approach to correcting the lmodern smallcaps problem is OK then? I couldn't find what seemed like a "canonical" method, so I figured I would give this a try.
    – DDS
    Commented Aug 25, 2022 at 19:17
  • @mlchristians You mentioned you cannot use modern fonts as a solution. You might use the default cmr instead of lmodern if you need its features, or you might use commands such as here to format your lettrines, if that is where you need them.
    – Davislor
    Commented Aug 25, 2022 at 21:01
  • Thank you kindly.
    – DDS
    Commented Aug 26, 2022 at 0:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .