24

I'm trying to create a simple invoice with pdflatex and the isodoc class. Unfortunately, the "INVOICE" opening is appear in all lowercase, and I suspect this warning is the reason why:

LaTeX Font Warning: Font shape `T1/lmr/bx/sc' undefined
(Font)              using `T1/lmr/bx/n' instead on input line 19.

My best guess at this cryptic output is that LaTeX doesn't know how to represent small caps. What can I do to teach it how?

Here is the preamble of my document:

\documentclass{isodoc}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

The system is Fedora Core 4 . pdflatex -version yields:

pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4)
kpathsea version 3.5.4

And:

$ rpm -qa | grep tex
tetex-dvips-3.0-10.FC4
tetex-fonts-3.0-10.FC4
tetex-3.0-10.FC4
tetex-latex-3.0-10.FC4
passivetex-1.25-5
gettext-0.14.3-1
xmltex-20020625-5.2
texinfo-4.8-8.fc4.2

migrated from stackoverflow.com Aug 1 '11 at 12:37

This question came from our site for professional and enthusiast programmers.

30

The error/warning is fairly self explanatory if you know what to look at.

T1/lmr/bx/sc refers to a specific font declaration:

T1 — so-called ‘Cork’ font encoding
lmr — ‘Latin Modern Roman’ font family
bx — bold
sc — small caps

By saying this font shape is "undefined" simply means that the Latin Modern Roman doesn't have bold small caps. As a fall-back, the default bold font is chosen instead.

As you've now discovered, not writing \bfseries\scshape in the first place will resolve the warning :)

  • I tried changing the document font to times but the bold small caps opening still will not show. How can identify what fonts have bold small caps, or add bold small caps to a font I have? – fuzzyTew Jun 28 '09 at 12:43
  • 1
    I don't think there are any TeX fonts that contain bold small caps. Times doesn't even have real small caps of its own; the ones you're seeing are mechanically produced from the capital letters. You'll probably need to use XeTeX and a fancy OpenType font to have much luck with this, sorry. – Will Robertson Jun 29 '09 at 0:11
  • That's very strange the isodoc class would use them. I suppose it is a bug. Thank you. I haven't seen any small caps at all -- there is some way to make it mechanically produce them from capital letters? – fuzzyTew Jun 29 '09 at 1:42
  • You might need to ask a new question about this; I get small caps reliably with both the lmodern & mathptmx packages (the latter being a Times version with mechanical small caps). \usepackage[sc]{mathpazo} has real small caps (with Palatino). None have bold small caps, though. – Will Robertson Jun 29 '09 at 7:26
  • 1
    See [tex.stackexchange.com/questions/22240/… for defining an alternative font for T1/lmr/bx/sc. – Kasper van den Berg Nov 2 '12 at 13:21
1

I managed to partially work around this by altering the invoice text. I found it defined in the isodoc source with:

\def\invoicetext{{\bfseries\Large\scshape invoice}}

Adding the following after my document setup removed the use of small capitals:

\def\invoicetext{{\bfseries INVOICE}}
  • It seems you intended to use \uppercase{} instead of \scshape... – strpeter Nov 15 '18 at 13:51
  • @strpeter the code came from the 3rd-party isodoc class, as mentioned in the question. I just needed it to work quickly. Not sure what the intended environment was for isodoc ... it didn't seem to function quite properly in my default environment. – fuzzyTew Jan 7 at 17:22

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.