34

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

I asked this 12 and a half years ago, and I am still quite surprised that every response assumes that I wrote the code that is failing, when it was actually within the isodoc class. I don't know under what use and environment the isodoc class was built to succeed.

There have been many updates since then. I'm not using tex anymore, and I don't know wjether the issue still presents.

Werner
  • 603,163
fuzzyTew
  • 459
  • Coming back to this a decade or two later, there must have been a font that isodoc was built and used with, that can be specified in the header to make it work correctly. I wonder what would have happened if I’d left out the T1 selection. Most of the times I returned I didn’t remember or realize that line was setting the font used by the isodoc class. – fuzzyTew Jan 28 '24 at 04:11

2 Answers2

43

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? –  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 00: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?

    –  Jun 29 '09 at 01: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 07:26
  • 1
    See [http://tex.stackexchange.com/questions/22240/choosing-font-for-bold-small-caps-or-any-other-particular-familyseriesshape-c] for defining an alternative font for T1/lmr/bx/sc. – Kasper van den Berg Nov 02 '12 at 13:21
  • 7
    Is there any reference on the specific codes? For example, I have OML/ptm/bx/n substituted by OML/ptm/m/it. I can guess that it is italic, but what is n and m? (normal and math??) – Rabarberski Dec 19 '13 at 10:49
  • 3
    fntguide.pdf has a listing of the common ones. m means ‘medium’ (not light or bold), and n as you suggest stands for ‘normal’ (‘not italic or small caps or …’). – Will Robertson Dec 22 '13 at 01:55
  • 2
    Old comment, but in reply to the "reference to the specific codes" see also berry - Is there a list available for all TeX fonts? - TeX - LaTeX Stack Exchange for the "family" attribute and fonts - Possible values for \fontseries and \fontshape - TeX - LaTeX Stack Exchange for the "series" and "shape" attributes. – user202729 Jan 24 '23 at 05:07
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}}
fuzzyTew
  • 459
  • 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 07 '19 at 17:22