The psfonts package

Sebastian Rahtz S.Rahtz@elsevier.co.uk

Processed July 5, 1998

: S Rahtz]

1 Introduction

This file contains suitable package files to load the standard PostScript fonts. The font definition files and font metrics are available in both T1 and OT1 form in the companion CTAN fonts/psfonts collection.

2 The docstrip modules

2.1 Adobe Symbol font

1 ⟨∗Upsy⟩

2 \DeclareFontFamily{U}{psy}{}%
3 \DeclareFontShape{U}{psy}{m}{n}{<->psyr}{}%
4 \DeclareFontShape{U}{psy}{m}{i}{<->ssub * psy/m/n}{}%

5 ⟨/Upsy⟩

2.2 Adobe Zapf Dingbats

6 ⟨∗Upzd⟩

7 \DeclareFontFamily{U}{pzd}{}%
8 \DeclareFontShape{U}{pzd}{m}{n}{<->pzdr}{}%

9 ⟨/Upzd⟩

3 Package files for PostScript fonts

10 ⟨∗times⟩

11 \renewcommand{\sfdefault}{phv}
12 \renewcommand{\rmdefault}{ptm}
13 \renewcommand{\ttdefault}{pcr}

14 ⟨/times⟩ 15 ⟨∗palatino⟩

16 \renewcommand{\rmdefault}{ppl}
17 \renewcommand{\sfdefault}{phv}

18 \renewcommand{\ttdefault}{pcr}

19 ⟨/palatino⟩ 20 ⟨∗helvet⟩

21 \renewcommand{\sfdefault}{phv}

22 ⟨/helvet⟩ 23 ⟨∗avant⟩

24 \renewcommand{\sfdefault}{pag}

25 ⟨/avant⟩ 26 ⟨∗newcent⟩

27 \renewcommand{\rmdefault}{pnc}
28 \renewcommand{\sfdefault}{pag}
29 \renewcommand{\ttdefault}{pcr}

30 ⟨/newcent⟩ 31 ⟨∗bookman⟩

32 \renewcommand{\rmdefault}{pbk}
33 \renewcommand{\sfdefault}{pag}
34 \renewcommand{\ttdefault}{pcr}

35 ⟨/bookman⟩ 36 ⟨∗pifont⟩

Now some useful commands for Pi fonts (Dingbats, Symbol etc); they all assume you know the character number of the (unmapped) font

37 \newcommand{\Pifont}[1]{\fontfamily{#1}\fontencoding{U}%
38 \fontseries{m}\fontshape{n}\selectfont}
39 \newcommand{\Pisymbol}[2]{{\Pifont{#1}\char#2}}
40 \newcommand{\Pifill}[2]{\leaders\hbox{\makebox[0.2in]{%
41  \Pisymbol{#1}{#2}}}\hfill\kern\z@}
42 \newcommand{\Piline}[2]{\par\noindent\hspace{0.5in}\Pifill{#1}{#2}%
43  \hspace{0.5in}\kern\z@\par}
44 \newenvironment{Pilist}[2]%
45 {\begin{list}{\Pisymbol{#1}{#2}}{}}%
46 {\end{list}}%

A Pi number generator (from ideas by David Carlisle), for use in lists where items are suffixed by symbols taken in sequence from a Pi font. Usage is in lists just like enumerate.

\Pinumber outputs the appropriate symbol, where #2 is the name of a L^{A}TEX counter and #1 is the font family.

47 \def\Pinumber#1#2{\protect\Pisymbol{#1}{\arabic{#2}}}
48 \newenvironment{Piautolist}[2]{%
49 \ifnum \@enumdepth >3 \@toodeep\else
50  \advance\@enumdepth \@ne

We force the labels and cross-references into a very plain style (eg no brackets around ‘numbers’, or dots after them).

51  \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
52 \expandafter\def\csname p@enum\romannumeral\the\@enumdepth\endcsname{}%
53 \expandafter\def\csname labelenum\romannumeral\the\@enumdepth\endcsname{%
54  \csname theenum\romannumeral\the\@enumdepth\endcsname}%
55 \expandafter\def\csname theenum\romannumeral\the\@enumdepth\endcsname{%
56  \Pinumber{#1}{enum\romannumeral\the\@enumdepth}}%

57 \list{\csname label\@enumctr\endcsname}{%
58  \@nmbrlisttrue
59  \def\@listctr{\@enumctr}%
60  \setcounter{\@enumctr}{#2}%
61  \addtocounter{\@enumctr}{-1}%
62  \def\makelabel##1{\hss\llap{##1}}}
63 \fi
64 }{\endlist}

All the old Dingbat commands still work.

65 \newcommand{\ding}{\Pisymbol{pzd}}
66 \def\dingfill#1{\leaders\hbox{\makebox[0.2in]{\Pisymbol{pzd}{#1}}}\hfill}
67 \def\dingline#1{\Piline{pzd}{#1}}
68 \newenvironment{dinglist}[1]{\begin{Pilist}{pzd}{#1}}%
69 {\end{Pilist}}
70 \newenvironment{dingautolist}[1]{\begin{Piautolist}{pzd}{#1}}%
71 {\end{Piautolist}}
72 {\Pifont{pzd}}
73 {\Pifont{psy}}

74 ⟨/pifont⟩ 75 ⟨∗chancery⟩

76 \renewcommand{\rmdefault}{pzc}

77 ⟨/chancery⟩ 78 ⟨∗mathptm⟩

79 \def\rmdefault{ptm}
80 \DeclareSymbolFont{operators}   {OT1}{ptmcm}{m}{n}
81 \DeclareSymbolFont{letters}     {OML}{ptmcm}{m}{it}
82 \DeclareSymbolFont{symbols}     {OMS}{pzccm}{m}{n}
83 \DeclareSymbolFont{largesymbols}{OMX}{psycm}{m}{n}
84 \DeclareSymbolFont{bold}        {OT1}{ptm}{bx}{n}
85 \DeclareSymbolFont{italic}      {OT1}{ptm}{m}{it}

If we’re in compatibility mode, defined \mathbf and \mathit.

86 \@ifundefined{mathbf}{}{\DeclareMathAlphabet{\mathbf}{OT1}{ptm}{bx}{n}}
87 \@ifundefined{mathit}{}{\DeclareMathAlphabet{\mathit}{OT1}{ptm}{m}{it}}

An \omicron command, to fill the gap.

88 \DeclareMathSymbol{\omicron}{0}{operators}{`\o}

Reduce the space around math operators

89 \thinmuskip=2mu
90 \medmuskip=2.5mu plus 1mu minus 1mu
91 \thickmuskip=4mu plus 1.5mu minus 1mu

No bold math.

92 \let\@tempa\version@elt
93  \def\version@elt#1{%
94  \ifx\mv@bold#1\else\noexpand\version@elt\noexpand#1\fi}
95  \edef\version@list{\version@list}
96 \let\version@elt\@tempa
97 \let\mv@bold\@undefined
98 \def\boldmath{%
99 \PackageWarning{there is no bold Symbol font}%

100 \global\let\boldmath=\relax

101 }

102 \DeclareMathSizes{5}{5}{5}{5}
103 \DeclareMathSizes{6}{6}{5}{5}
104 \DeclareMathSizes{7}{7}{5}{5}
105 \DeclareMathSizes{8}{8}{6}{5}
106 \DeclareMathSizes{9}{9}{7}{5}
107 \DeclareMathSizes{10}{10}{7.4}{6}
108 \DeclareMathSizes{10.95}{10.95}{8}{6}
109 \DeclareMathSizes{12}{12}{9}{7}
110 \DeclareMathSizes{14.4}{14.4}{10.95}{8}
111 \DeclareMathSizes{17.28}{17.28}{12}{10}
112 \DeclareMathSizes{20.74}{20.74}{14.4}{12}
113 \DeclareMathSizes{24.88}{24.88}{17.28}{14.4}

114 ⟨/mathptm⟩ 115 ⟨∗mathptmx⟩

116 \def\rmdefault{ptm}
117 \DeclareSymbolFont{operators}   {OT1}{ztmcm}{m}{n}
118 \DeclareSymbolFont{letters}     {OML}{ztmcm}{m}{it}
119 \DeclareSymbolFont{symbols}     {OMS}{ztmcm}{m}{n}
120 \DeclareSymbolFont{largesymbols}{OMX}{ztmcm}{m}{n}
121 \DeclareSymbolFont{bold}        {OT1}{ptm}{bx}{n}
122 \DeclareSymbolFont{italic}      {OT1}{ptm}{m}{it}
123 \@ifundefined{mathbf}{}{\DeclareMathAlphabet{\mathbf}{OT1}{ptm}{bx}{n}}
124 \@ifundefined{mathit}{}{\DeclareMathAlphabet{\mathit}{OT1}{ptm}{m}{it}}
125 \DeclareMathSymbol{\omicron}{0}{operators}{`\o}
126 \thinmuskip=2mu
127 \medmuskip=2.5mu plus 1mu minus 1mu
128 \thickmuskip=4mu plus 1.5mu minus 1mu
129 \let\@tempa\version@elt
130  \def\version@elt#1{%
131  \ifx\mv@bold#1\else\noexpand\version@elt\noexpand#1\fi}
132  \edef\version@list{\version@list}
133 \let\version@elt\@tempa
134 \let\mv@bold\@undefined
135 \def\boldmath{%
136 \PackageWarning{there is no bold Symbol font}%
137 \global\let\boldmath=\relax

138 }

139 \DeclareMathSizes{5}{5}{5}{5}
140 \DeclareMathSizes{6}{6}{5}{5}
141 \DeclareMathSizes{7}{7}{5}{5}
142 \DeclareMathSizes{8}{8}{6}{5}
143 \DeclareMathSizes{9}{9}{7}{5}
144 \DeclareMathSizes{10}{10}{7.4}{6}
145 \DeclareMathSizes{10.95}{10.95}{8}{6}
146 \DeclareMathSizes{12}{12}{9}{7}
147 \DeclareMathSizes{14.4}{14.4}{10.95}{8}
148 \DeclareMathSizes{17.28}{17.28}{12}{10}
149 \DeclareMathSizes{20.74}{20.74}{14.4}{12}

150 \DeclareMathSizes{24.88}{24.88}{17.28}{14.4}

151 ⟨/mathptmx⟩