The psfonts package^{∗}

Sebastian Rahtz Sebastian.Rahtz@tex.ac.uk

94/11/11

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/metrics collection.

2 The docstrip modules

2.1 Adobe Symbol font

1 ⟨∗Upsy⟩

2 \typeout{File \space Upsy.fd\space loading \space Adobe\space Symbol}%
3 \DeclareFontFamily{U}{psy}{}%
4 \DeclareFontShape{U}{psy}{m}{n}{<->psyr}{}%
5 \DeclareFontShape{U}{psy}{m}{i}{<->ssub * psy/m/n}{}%

6 ⟨/Upsy⟩

2.2 Adobe Zapf Dingbats

7 ⟨∗Upzd⟩

8 \typeout{File \space Upzd.fd\space loading \space Adobe\space ZapfDingbats}%
9 \DeclareFontFamily{U}{pzd}{}%
10 \DeclareFontShape{U}{pzd}{m}{n}{<->pzdr}{}%

11 ⟨/Upzd⟩

3 Package files for PostScript fonts

12 ⟨∗times⟩

13 \NeedsTeXFormat{LaTeX2e}
14 \ProvidesPackage{times}[\filedate\space\fileversion\space
15 Times PSNFSS2e package]

∗This file has version number 4.2, last revised 94/11/11.

16 \renewcommand{\sfdefault}{phv}
17 \renewcommand{\rmdefault}{ptm}
18 \renewcommand{\ttdefault}{pcr}

19 ⟨/times⟩ 20 ⟨∗palatino⟩

21 \NeedsTeXFormat{LaTeX2e}
22 \ProvidesPackage{palatino}[\filedate\space\fileversion\space
23 Palatino PSNFSS2e package]
24 \renewcommand{\rmdefault}{ppl}
25 \renewcommand{\sfdefault}{phv}
26 \renewcommand{\ttdefault}{pcr}

27 ⟨/palatino⟩ 28 ⟨∗helvet⟩

29 \NeedsTeXFormat{LaTeX2e}
30 \ProvidesPackage{helvet}[\filedate\space\fileversion\space
31 Helvetica PSNFSS2e package]
32 \renewcommand{\sfdefault}{phv}

33 ⟨/helvet⟩ 34 ⟨∗avant⟩

35 \NeedsTeXFormat{LaTeX2e}
36 \ProvidesPackage{avant}[\filedate\space\fileversion\space
37 AvantGarde PSNFSS2e package]
38 \renewcommand{\sfdefault}{pag}

39 ⟨/avant⟩ 40 ⟨∗newcent⟩

41 \NeedsTeXFormat{LaTeX2e}
42 \ProvidesPackage{newcent}[\filedate\space\fileversion\space
43 NewCenturySchoolbook PSNFSS2e package]
44 \renewcommand{\rmdefault}{pnc}
45 \renewcommand{\sfdefault}{pag}
46 \renewcommand{\ttdefault}{pcr}

47 ⟨/newcent⟩ 48 ⟨∗bookman⟩

49 \NeedsTeXFormat{LaTeX2e}
50 \ProvidesPackage{bookman}[\filedate\space\fileversion\space
51 Bookman PSNFSS2e package]
52 \renewcommand{\rmdefault}{pbk}
53 \renewcommand{\sfdefault}{pag}
54 \renewcommand{\ttdefault}{pcr}

55 ⟨/bookman⟩ 56 ⟨∗garamond⟩

57 \NeedsTeXFormat{LaTeX2e}
58 \ProvidesPackage{garamond}[\filedate\space\fileversion\space
59 Garamond PSNFSS2e package]
60 \renewcommand{\rmdefault}{pgm}
61 \renewcommand{\sfdefault}{pop}
62 \renewcommand{\ttdefault}{pcr}

63 ⟨/garamond⟩ 64 ⟨∗basker⟩

65 \NeedsTeXFormat{LaTeX2e}

66 \ProvidesPackage{basker}[\filedate\space\fileversion\space
67 Baskerville PSNFSS2e package]
68 \renewcommand{\rmdefault}{pnb}

69 ⟨/basker⟩ 70 ⟨∗mtimes⟩

71 \NeedsTeXFormat{LaTeX2e}
72 \ProvidesPackage{mtimes}[\filedate\space\fileversion\space
73 Monotype Times PSNFSS2e package]
74 \renewcommand{\rmdefault}{mnt}

75 ⟨/mtimes⟩ 76 ⟨∗bembo⟩

77 \NeedsTeXFormat{LaTeX2e}
78 \ProvidesPackage{bembo}[\filedate\space\fileversion\space
79 Bembo PSNFSS2e package]
80 \renewcommand{\rmdefault}{pbb}
81 \renewcommand{\sfdefault}{pop}
82 \renewcommand{\ttdefault}{pcr}

83 ⟨/bembo⟩ 84 ⟨∗pifont⟩

85 \NeedsTeXFormat{LaTeX2e}
86 \ProvidesPackage{pifont}[\filedate\space\fileversion\space
87 Pi font PSNFSS2e package]

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

88 \newcommand{\Pifont}[1]{\fontfamily{#1}\fontencoding{U}%
89 \fontseries{m}\fontshape{n}\selectfont}
90 \newcommand{\Pisymbol}[2]{{\Pifont{#1}\char#2}}
91 \newcommand{\Pifill}[2]{\leaders\hbox{\makebox[0.2in]{%
92  \Pisymbol{#1}{#2}}}\hfill\kern\z@}
93 \newcommand{\Piline}[2]{\par\noindent\hspace{0.5in}\Pifill{#1}{#2}%
94  \hspace{0.5in}\kern\z@\par}
95 \newenvironment{Pilist}[2]%
96 {\begin{list}{\Pisymbol{#1}{#2}}{}}%
97 {\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.

98 \def\Pinumber#1#2{\protect\Pisymbol{#1}{\arabic{#2}}}
99 \newenvironment{Piautolist}[2]{%
100 \ifnum \@enumdepth >3 \@toodeep\else
101  \advance\@enumdepth \@ne

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

102  \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
103 \expandafter\def\csname p@enum\romannumeral\the\@enumdepth\endcsname{}%

104 \expandafter\def\csname labelenum\romannumeral\the\@enumdepth\endcsname{%
105  \csname theenum\romannumeral\the\@enumdepth\endcsname}%
106 \expandafter\def\csname theenum\romannumeral\the\@enumdepth\endcsname{%
107  \Pinumber{#1}{enum\romannumeral\the\@enumdepth}}%
108 \list{\csname label\@enumctr\endcsname}{
109  \@nmbrlisttrue\def\@listctr{\@enumctr}\setcounter{\@enumctr}{#2}
110  \addtocounter{\@enumctr}{-1}%
111  \def\makelabel##1{\hss\llap{##1}}}
112 \fi}{\endlist}

All the old Dingbat commands still work.

113 \newcommand{\ding}{\Pisymbol{pzd}}
114 \def\dingfill#1{\leaders\hbox{\makebox[0.2in]{\Pisymbol{pzd}{#1}}}\hfill}
115 \def\dingline#1{\Piline{pzd}{#1}}
116 \newenvironment{dinglist}[1]{\begin{Pilist}{pzd}{#1}}%
117 {\end{Pilist}}
118 \newenvironment{dingautolist}[1]{\begin{Piautolist}{pzd}{#1}}%
119 {\end{Piautolist}}
120 {\Pifont{pzd}}
121 {\Pifont{psy}}

122 ⟨/pifont⟩ 123 ⟨∗chancery⟩

124 \NeedsTeXFormat{LaTeX2e}
125 \ProvidesPackage{chancery}[\filedate\space\fileversion\space
126 Zapf Chancery PSNFSS2e package]
127 \renewcommand{\rmdefault}{pzc}

128 ⟨/chancery⟩ 129 ⟨∗OT1var⟩

130 \NeedsTeXFormat{LaTeX2e}
131 \ProvidesPackage{ot1var}[\filedate\space\fileversion\space
132 OT1var PSNFSS2e package]
133 \def\TexturesExtras{% by Constantin Kahn (kahn@math.uni-hannover.de)
134 \chardef\pounds='243
135 \def\H##1{{\accent"07D ##1}}%
136 \def\.##1{{\accent"05F ##1}}%
137 \chardef\aa='214
138 \chardef\AA='201
139 \chardef\ae='032
140 \chardef\oe='033
141 \chardef\o='034
142 \chardef\AE='035
143 \chardef\OE='036
144 \chardef\O='037
145 \chardef\ss='031
146 \chardef\copyright='251
147 \let\l=\undefined % missing from Macintosh character set
148 \let\L=\undefined % missing from Macintosh character set
149 \let\j=\undefined % missing from PS fonts
150 \def\pldots{\relax\ifmmode\@ldots\else\char'311 \fi}%
151 \def\@lb{\relax\ifmmode\lbrace\else\char`\{\fi}%

152 \def\@rb{\relax\ifmmode\rbrace\else\char`\}\fi}%
153 \def\ps@mathhexbox##1##2##3##4##5##6{\ifmmode\mathhexbox##1##2##3\else
154 \leavevmode\char'##4##5##6 \fi}%
155 \def\S{\protect\ps@mathhexbox278244}%
156 \def\P{\protect\ps@mathhexbox27B246}%
157 \def\dag{\protect\ps@mathhexbox279240}%
158 \def\ddag{\protect\ps@mathhexbox27A340}%
159 \chardef\cent="0A2
160 \chardef\yen="0B4
161 \chardef\currency="0DB
162 \chardef\quotesingle="00D
163 \chardef\guillemotleft="0C7
164 \chardef\guilsinglleft="0DC
165 \chardef\guilsinglright="0DD
166 \chardef\quotesinglbase="0E2
167 \chardef\quotedblbase="0E3
168 \chardef\guillemotright="0C8
169 \def\backslash{\protect\b@ckslash}%
170 \def\b@ckslash{\ifmmode \delimiter"26E30F \else \char`\\\fi}%
171 \chardef\perthousand='344
172 \chardef\ordfeminine='273
173 \chardef\ordmasculine='274

174 }

175 \def\RokickiExtras{%
176 \chardef\pounds='243
177 \def\H##1{{\accent"0CD ##1}}%
178 \def\.##1{{\accent"0C7 ##1}}%
179 \chardef\aa='230
180 \chardef\AA='310
181 \chardef\ae='032
182 \chardef\oe='033
183 \chardef\o='034
184 \chardef\AE='035
185 \chardef\OE='036
186 \chardef\O='037
187 \chardef\ss='031
188 \chardef\l='370
189 \chardef\L='350
190 \let\j=\undefined % missing from PS fonts
191 \def\pldots{\relax\ifmmode\@ldots\else\char'274 \fi}%
192 \def\@lb{\relax\ifmmode\lbrace\else\char`\{\fi}%
193 \def\@rb{\relax\ifmmode\rbrace\else\char`\}\fi}%
194 \def\ps@mathhexbox##1##2##3##4##5##6{\ifmmode\mathhexbox##1##2##3\else
195 \leavevmode\char'##4##5##6 \fi}%
196 \def\S{\protect\ps@mathhexbox278247}%
197 \def\P{\protect\ps@mathhexbox27B266}%
198 \def\dag{\protect\ps@mathhexbox279262}%
199 \def\ddag{\protect\ps@mathhexbox27A263}%
200 \chardef\cent="0A2
201 \chardef\yen="0A5

202 \chardef\currency="0A8
203 \chardef\quotesingle="00D
204 \chardef\guillemotleft="0AB
205 \chardef\guilsinglleft="0AC
206 \chardef\guilsinglright="0AD
207 \chardef\quotesinglbase="0B8
208 \chardef\quotedblbase="0B9
209 \chardef\guillemotright="0BB
210 \chardef\<=`<%
211 \chardef\>=`>%
212 \def\backslash{\protect\b@ckslash}%
213 \def\b@ckslash{\ifmmode \delimiter"26E30F \else \char`\\\fi}%
214 \chardef\vbar=`\|%
215 \chardef\perthousand='275
216 \chardef\ordfeminine='343
217 \chardef\ordmasculine='353
218 \chardef\asciitilde=`~%
219 \chardef\underscore=`_%

220 }

221 \DeclareOption{dvips}{%
222 \AtBeginDocument{\RokickiExtras}%

223 }

224 \DeclareOption{textures}{%
225 \AtBeginDocument{\TexturesExtras}%

226 }

227 \ExecuteOptions{dvips}
228 \ProcessOptions

229 ⟨/OT1var⟩ 230 ⟨∗mathptm⟩

231 \NeedsTeXFormat{LaTeX2e}
232 \ProvidesPackage{mathptm}[1994/04/06 Times + math package from fontinst]

This package loads the Adobe Times fonts and the mathptm fonts; The virtual fonts are produced by fontinst; the fonts can be built by running tex on fontptcm.tex from the fontinst package.

233 % The family is Times Roman
234 \def\rmdefault{ptm}
235 \DeclareSymbolFont{operators}   {OT1}{ptmcm}{m}{n}
236 \DeclareSymbolFont{letters}     {OML}{ptmcm}{m}{it}
237 \DeclareSymbolFont{symbols}     {OMS}{pzccm}{m}{n}
238 \DeclareSymbolFont{largesymbols}{OMX}{psycm}{m}{n}
239 \DeclareSymbolFont{bold}        {OT1}{ptm}{bx}{n}
240 \DeclareSymbolFont{italic}      {OT1}{ptm}{m}{it}

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

241 \@ifundefined{mathbf}{}{\DeclareMathAlphabet{\mathbf}{OT1}{ptm}{bx}{n}}
242 \@ifundefined{mathit}{}{\DeclareMathAlphabet{\mathit}{OT1}{ptm}{m}{it}}

An \omicron command, to fill the gap.

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

Reduce the space around math operators

244 \thinmuskip=2mu
245 \medmuskip=2.5mu plus 1mu minus 1mu
246 \thickmuskip=4mu plus 1.5mu minus 1mu

No bold math.

247 \def\boldmath{%
248 \@warning{there is no bold Symbol font}%
249 \global\let\boldmath=\relax

250 }

251 \DeclareMathSizes{5}{5}{5}{5}
252 \DeclareMathSizes{6}{6}{5}{5}
253 \DeclareMathSizes{7}{7}{5}{5}
254 \DeclareMathSizes{8}{8}{6}{5}
255 \DeclareMathSizes{9}{9}{7}{5}
256 \DeclareMathSizes{10}{10}{7.4}{6}
257 \DeclareMathSizes{10.95}{10.95}{8}{6}
258 \DeclareMathSizes{12}{12}{9}{7}
259 \DeclareMathSizes{14.4}{14.4}{10.95}{8}
260 \DeclareMathSizes{17.28}{17.28}{12}{10}
261 \DeclareMathSizes{20.74}{20.74}{14.4}{12}
262 \DeclareMathSizes{24.88}{24.88}{17.28}{14.4}

263 ⟨/mathptm⟩