Using common PostScript fonts with L^{A}TEX

Walter Schmidt This document refers to PSNFSS version 8.1

Contents

1 The PSNFSS bundle  2
2 Package overview  2
3 Special considerations  2
3.1 Inter-line spacing . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Using sans serif fonts . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Output font encoding . . . . . . . . . . . . . . . . . . . . . . . . 3
4 The package helvet  4
5 The package mathptmx  4
5.1 Font size of the ‘large’ math symbols . . . . . . . . . . . . . . . . 4
5.2 Known bugs and deficiencies . . . . . . . . . . . . . . . . . . . . 5
6 The package mathptm  5
7 The package mathpple  5
7.1 Package options . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.2 New commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.3 Using the AMS math symbol fonts with mathpple . . . . . . . . . 6
7.4 Font size of the ‘large’ math symbols . . . . . . . . . . . . . . . . 6
7.5 Known bugs and deficiencies . . . . . . . . . . . . . . . . . . . . 6
7.6 Important changes over version 1.x . . . . . . . . . . . . . . . . . 7

8 The package pifont  7
8.1 Commands for using Zapf Dingbats . . . . . . . . . . . . . . . . 7
8.2 Generic commands . . . . . . . . . . . . . . . . . . . . . . . . . 8
9 Typeface samples and overview  10

1 The PSNFSS bundle

The PSNFSS system, developed by Sebastian Rahtz, offers a set of files that provide a complete working setup of the L^{A}TEX font selection scheme (NFSS2) for use with common PostScript fonts. The basic distribution, that should be part of any useful L^{A}TEX installation, covers the so-called ‘Base 35’ fonts (which are built into any Level 2 PostScript printing device and the Ghostscript interpreter) and the free typeface families Adobe Utopia and Bitstream Charter (which need not always be actually available—see the documentation of your L^{A}TEX system).

2 Package overview

The easiest way to make use of the above-mentioned typefaces is to completely replace one or more of the font families used by L^{A}TEX as ‘roman’, ‘sans serif’ and ‘typewriter’ family and for math. This is accomplished by the packages listed in table 1. Its first row lists the default (Computer Modern) font families; an empty column indicates that a package does not change the particular font family from the default setting. The PSNFSS distribution comprises also a package pifont, which serves for accessing symbol fonts (aka ‘Pi fonts’), such as Symbol and Zapf Dingbats, see section 8.

3 Special considerations

3.1 Inter-line spacing

With certain font families, the leading of the standard L^{A}TEX document classes may be to small. This results from the larger x-height of these fonts, as compared with Computer Modern. Since it is a question of document design and line width, the packages of the PSNFSS bundle do not care for this. Issueing the command

     \linespread{⟨factor⟩}

in the preamble will globally enlarge the leading by the given factor.

Table 1: Packages for using common PostScript fonts

package  roman  sans serif  typewriter  math
(none)  CM Roman  CM Sans Serif  CM Typewriter  ≈ CM Roman
mathptmx Times  ≈ Times
mathptm Times  ≈ Times
mathpple Palatino  ≈ Palatino
helvet  Helvetica
avant  Avant Garde
courier  Courier
chancery Zapf Chancery
times  Times  Helvetica  Courier
palatino  Palatino  Helvetica  Courier
bookman Bookman  Avant Garde  Courier
newcent  New Century Schoolbook Avant Garde  Courier
utopia  Utopia
charter  Charter

3.2 Using sans serif fonts

The packages helvet and avant do not change the default text font family from ‘roman’. If required, the additional command

     \renewcommand{\familydefault}{\sfdefault}

will make the sans serif font family (Helvetica or Avant Garde) be used as the default one.

3.3 Output font encoding

None of the packages listed in table 1 changes the output font encoding from its default setting OT1. It is, however, recommended to use PostScript fonts in the extended T1 and TS1 (text symbols) encodings through the commands:

     \usepackage[T1]{fontenc}
     \usepackage{textcomp}

When using PostScript fonts, there is no reason at all to stay with the obsolete OT1 encoding, which does not provide access to all glyphs!

In case your TEX system does not provide the T1 encoded versions of the default CM fonts (aka EC), it must be prevented from trying to load these before finally switching to the desired PostScript font family. This is accomplished by the following sequence of commands:

1. loading the required PSNFSS package(s)

2. redefine \familydefault (if required—see above)

     3. \normalfont

4. switching the encoding as shown above

4 The package helvet

Helvetica is actually somewhat larger than other typefaces of the same nominal size. This does not matter much, as long as it is used for headings or similar material only. Within running text, however, mixing, e.g., Times and Helvetica will look bad. This can be fixed by loading the helvet package with the option [scaled=⟨scale⟩], e.g.:

New feature 2000-01-12 v8.1

     \usepackage[scaled=.92]{helvet}

This will load the font family phv (Helvetica) for sans-serif, scaled down to 92% of its ‘natural’ size, which is suitable for use with Adobe Times.

The ⟨scale⟩ can be omitted:

     \usepackage[scaled]{helvet}

A default scaling of 0.95 will be assumed then, which makes the height of the Helvetica capitals comply with most other typeface families.

5 The package mathptmx

Loading this package changes the default roman font family to Adobe Times, and the virtual mathptmx fonts will be used for math.

These virtual fonts are made up basically from Times Italic, with the missing math symbols coming from CM, RSFS (for \mathcal) and Adobe Symbol. All these fonts are available in Type1 format, so that one can create documents which do not require any bitmap fonts.

5.1 Font size of the ‘large’ math symbols

With mathptmx, the ‘large’ math symbols are automatically scaled to fit the base font size. In contrast to standard L^{A}TEX you need not load the package exscale for this purpose!

5.2 Known bugs and deficiencies

• There are no bold math fonts, and \boldmath is not supported.

• The following symbols are either missing or unusable:

     \emptyset, \jmath, \coprod, \amalg.

6 The package mathptm

The package mathptm is a predecessor mathptmx. In contrast to the latter and to L^{A}TEX’s standard behaviour, lowercase Greek in math is typeset upright. Zapf Chancery is used as the calligraphic math alphabet, whereas the mathptmx package uses the RSFS fonts for \mathcal. In conjunction with other minor mprovements, mathptmx can be considered as typographically superior.

Furthermore, mathptm needs the font cmex9, which is not always available in Type1 format. As a result, the mathptmx package should be preferred.

7 The package mathpple

Loading this package changes the default roman font family to Adobe Palatino,

New feature 2000-01-12 v8.1

and the virtual mathpple fonts will be used for math.

These virtual fonts are made up basically from Palatino Italic, with the missing math symbols coming from the CM and Euler fonts and from Adobe Symbol. All these fonts are available in Type1 format, so that one can create documents which do not require any bitmap fonts.

7.1 Package options

[slantedGreek]

When the package is loaded with this option, uppercase Greek will be typeset slanted, too.

7.2 New commands

\upDelta \upOmega

Regardless of the slantedGreek option, these commands will always print an upright Δ and Ω.

\mathbold

\mathbold is a math alphabet for typesetting variables (incl. Greek) in an italic boldface style. Do not mix this up with \mathbf, which selects an upright boldface text font for use in math!

7.3 Using the AMS math symbol fonts with mathpple

When the package amssymb or amsfonts is loaded in conjunction with mathpple, the AMS symbols will be scaled slightly so as to match Palatino. Do not specify the option psamsfonts for amsfonts or amssymb! The package mathpple cares for using the AMS symbol fonts at those design sizes only, which are available in Type1 format.

Notice, that various AMS symbols do not blend well with the style of the Palatino typefaces.

7.4 Font size of the ‘large’ math symbols

With mathpple, the ‘large’ math symbols are automatically scaled to fit the base font size. In contrast to standard L^{A}TEX you need not load the package exscale for this purpose!

7.5 Known bugs and deficiencies

• \coprod is missing

• no boldface variants of \partial and \infty

• \jmath is taken from CM math italic

7.6 Important changes over version 1.x

7.6.1 Combining Palatino and Helvetica

Previous versions of the mathpple package came with .fd files for a font family named phvv, which was actually Helvetica, scaled down to 95% of its natural size. This font family is no longer provided with PSNFSS. Use the scaled=... option of the helvet package instead, i.e., replace

     \renewcommand{\sfdefault}{phvv}

with:

     \usepackage[scaled=.95]{helvet}

7.6.2 Super- and subscripts

The size of super- and subscripts in math has been somewhat enlarged, as compared with mathpple v1.x. Thus, page breaks may be different now.

8 The package pifont^{1}

Using symbol fonts is supported through the pifont package, providing commands for using the Zapf Dingbats font, as well as an interface to other families.

8.1 Commands for using Zapf Dingbats

\ding{⟨number⟩}

A given character can be chosen via the \ding command. Its parameter is an integer that specifies the character to be typeset. For example, \ding{38} gives ; see table 2 on page 9.

\begin{dinglist}{⟨number⟩}
\begin{dingautolist}{⟨number⟩}

The dinglist environment is a special itemized list. The argument specifies the number of the character to be used as the beginning of each item. For example,

1This description has been copied, with minor changes, from [1], chapter 11.9.3 and 11.9.4.

\begin{dinglist}{43}
  \item The first item in the list
  \item The second item in the list
  \item The third item in the list
\end{dinglist}

prints

The first item in the list

The second item in the list

The third item in the list

There also exists an environment dingautolist, which allows you to build an enumerated list with a set of Zapf Dingbats characters. In this case, the argument specifies the number of the first character in the list. Subsequent items will be numbered with the character following the previous one. E.g.,

\begin{dingautolist{192}
  \item The first item
  \item The second item
  \iten The third item
\end{dingautolist{192}

prints

The first item

The second item

The third item

\dingfill{⟨number⟩}
\dingline{⟨number⟩}

\dingfill acts like the other filling commands in TEX, but fills the space with a chosen symbol like that.

\dingline generates a frestanding line filled with the given symbol, with a little space on the left and right:

8.2 Generic commands

The pifont package has a general mechanism for coping with Pi fonts. It provides the following generic commands with, in each case, the first argument ⟨family⟩ specifying the name of the Pi font family in question (such as psy for the Symbol

Table 2: The characters in the PostScript font Zapf Dingbats

32  33  34  35  36  37  38  39
40  41  42  43  44  45  46  47
48  49  50  51  52  53  54  55
56  57  58  59  60  61  62  63
64  65  66  67  68  69  70  71
72  73  74  75  76  77  78  79
80  81  82  83  84  85  86  87
88  89  90  91  92  93  94  95
96  97  98  99  100  101  102  103
104  105  106  107  108  109  110  111
112  113  114  115  116  117  118  119
120  121  122  123  124  125  126
161  162  163  164  165  166  167
168  169  170  171  172  173  174  175
176  177  178  179  180  181  182  183
184  185  186  187  188  189  190  191
192  193  194  195  196  197  198  199
200  201  202  203  204  205  206  207
208  209  210  211  212  213  214  215
216  217  218  219  220  221  222  223
224  225  226  227  228  229  230  231
232  233  234  235  236  237  238  239
241  242  243  244  245  246  247
248  249  250  251  252  253  254

font, and pzd for the Zapf Dingbats font, see table 3 on page 11). If indicated, a second argument ⟨number⟩specifies the decimal position of a symbol in that font.

\Pifont{⟨family⟩}

This switches to the font family ⟨family⟩and the encoding U.

\Pisymbol{⟨family⟩}{⟨number⟩}

This command typesets the specified symbol (compare this with the \ding command).

\begin{Pilist}{⟨family⟩}{⟨number⟩}
\begin{Piautolist}{⟨family⟩}{⟨number⟩}

In the Pilist environment the specified symbol is used in front of each item in an itemized list (compare with the dinglist environment).

Piautolist is an environment where a series of symbols starting with the one at the decimal position ⟨number⟩in font family ⟨family⟩is used to number the items in an enumerated list (compare with the dingautolist environment).

\Pifill{⟨family⟩}{⟨number⟩} \Piline{⟨family⟩}{⟨number⟩}

\Pifill acts like the other filling commands in TEX, but fills the space with a chosen symbol (compare with \dingfill).

\Piline typesets a line consisting of several copies of the specfied symbol, with some space at the left and right (compare with \dingline).

9 Typeface samples and overview

Table 3 on the following page lists all text and symbol font shapes and the related PostScript fonts that are supported through the basic PSNFSS distribution. Available encodings are OT1, T1, TS1 and 8r, except for Symbol and Zapf Dingbats, which are implemented with encoding U. See [3] for how to access a given font shape directly.

Notice, that none of the font families provides true small capitals, so the shape ‘sc’ refers to so-called ‘faked’ small capitals. Using them is not recommended, due to poor typographical quality; they are only provided for the sake of compatibility with previous versions of PSNFSS.

The math font families loaded by the mathptm, mathptmx and mathpple packages are not listed here. See the documented source file psfonts.dtx for information on this topic.

The below samples show the regular variant each text font family. The size is 9.6 pt, except for Zapf Chancery, which is shown at 14.4 pt; Helvetica is scaled to 95 % of the nominal size.

Times

The sun was just rising as Dr. Robert entered his wife’s room. An orange glow, and against it the jagged silhouette of the mountains. Then suddenly a dazzling sickle of incandescence between two peaks. The sickle became a half circle and the first long shadows, the first shafts of golden light crossed the garden outside the window. And when one looked up again at the mountains there was the whole unbearable glory of the risen sun.

Table 3: Font shapes supported by the basic PSNFSS distribution

family series shape(s) PostScript font names

Times

ptm  m  n, sl, it, sc Times-Roman, Times-Italic
ptm  b  n, sl, it, sc Times-Bold, Times-BoldItalic

Palatino

ppl  m  n, sl, it, sc Palatino-Roman, Palatino-Italic
ppl  b  n, sl, it, sc Palatino-Bold, Palatino-BoldItalic

New Century Schoolbook

pnc  m  n, sl, it, sc NewCenturySchlbk-Roman, NewCenturySchlbk-Italic
pnc  b  n, sl, it, sc NewCenturySchlbk-Bold,

NewCenturySchlbk-BoldItalic

Bookman

pbk  m  n, sl, it, sc Bookman-Light, Bookman-LightItalic
pbk  b  n, sl, it, sc Bookman-Demi, Bookman-DemiItalic

Helvetica

phv  m  n, sl, sc  Helvetica, Helvetica-Oblique
phv  b  n, sl, sc  Helvetica-Bold, Helvetica-BoldOblique
phv  mc  n, sl, sc  Helvetica-Narrow, Helvetica-Narrow-Oblique
phv  bc  n, sl, sc  Helvetica-Narrow-Bold,

Helvetica-Narrow-BoldOblique

Avant Garde

pag  m  n, sl, sc  AvantGarde-Book, AvantGarde-BookOblique
pag  b  n, sl, sc  AvantGarde-Demi, AvantGarde-DemiOblique

Courier

pcr  m  n, sl, sc  Courier, CourierOblique
pcr  b  n, sl, sc  Courier-Bold, Courier-BoldOblique

Zapf Chancery

pzc m it ZapfChancery-MediumItalic

Utopia

put  m  n, sl, it, sc Utopia-Regular, Utopia-Italic
put  b  n, sl, it, sc Utopia-Bold, Utopia-BoldItalic

Charter

bch  m  n, sl, it, sc CharterBT-Roman, CharterBT-Italic
bch  b  n, sl, it, sc CharterBT-Bold, CharterBT-BoldItalic

Symbol

psy m n Symbol

Zapf Dingbats

pzd  m  n  ZapfDingbats

Palatino

The sun was just rising as Dr. Robert entered his wife’s room. An orange glow, and against it the jagged silhouette of the mountains. Then suddenly a dazzling sickle of incandescence between two peaks. The sickle became a half circle and the first long shadows, the first shafts of golden light crossed the garden outside the window. And when one looked up again at the mountains there was the whole unbearable glory of the risen sun.

New Century Schoolbook

The sun was just rising as Dr. Robert entered his wife’s room. An orange glow, and against it the jagged silhouette of the mountains. Then suddenly a dazzling sickle of incandescence between two peaks. The sickle became a half circle and the first long shadows, the first shafts of golden light crossed the garden outside the window. And when one looked up again at the mountains there was the whole unbearable glory of the risen sun.

Bookman

The sun was just rising as Dr. Robert entered his wife’s room. An orange glow, and against it the jagged silhouette of the mountains. Then suddenly a dazzling sickle of incandescence between two peaks. The sickle became a half circle and the first long shadows, the first shafts of golden light crossed the garden outside the window. And when one looked up again at the mountains there was the whole unbearable glory of the risen sun.

Helvetica

The sun was just rising as Dr. Robert entered his wife’s room. An orange glow, and against it the jagged silhouette of the mountains. Then suddenly a dazzling sickle of incandescence between two peaks. The sickle became a half circle and the first long shadows, the first shafts of golden light crossed the garden outside the window. And when one looked up again at the mountains there was the whole unbearable glory of the risen sun.

Avant Garde  Don’t use Avant Garde for typesetting larger portions of text !

Courier

A monospaced typeface, suitable for typesetting
filenames, URL's etc.

Utopia

The sun was just rising as Dr. Robert entered his wife’s room. An orange glow, and against it the jagged silhouette of the mountains. Then suddenly a dazzling sickle of incandescence between two peaks. The sickle became a half circle and the first long shadows, the first shafts of golden light crossed the garden outside the window. And when one looked up again at the mountains there was the whole unbearable glory of the risen sun.

Charter

The sun was just rising as Dr. Robert entered his wife’s room. An orange glow, and against it the jagged silhouette of the mountains. Then suddenly a dazzling sickle of incandescence between two peaks. The sickle became a half circle and the first long shadows, the first shafts of golden light crossed the garden outside the window. And when one looked up again at the mountains there was the whole unbearable glory of the risen sun.

Zapf Chancery  To Hermann Zapf – whose strokes are the best.

References

[1] Michel Goossens, Frank Mittelbach, and Alexander Samarin: The L^{A}TEX Companion. Addison Wesley, 1994.

[2] Michel Goossens, Sebastian Rahtz, and Frank Mittelbach: The L^{A}TEX Graphics Companion. Addison Wesley Longman, 1997.

[3] L^{A}TEX3 Project Team (Ed.): L^{A}TEX 2ε font selection. CTAN: macros/

latex/doc/html/fntguide/fntguide.html (Part of the L^{A}TEX

online documentation)