%\CheckSum{529} % % \iffalse % % file: psfonts.dtx % % Copyright 1995--1998 Sebastian Rahtz % Copyright 1999, 2000 Sebastian Rahtz, Walter Schmidt % % This program may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.2 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.2 or later is part of all distributions of LaTeX % version 1999/12/01 or later. % % This program consists of all files listed in manifest.txt. % % \fi % % \iffalse %<*driver> \ProvidesFile{psfonts.drv} % %\ProvidesPackage{times} %\ProvidesPackage{mathptm} %\ProvidesPackage{mathptmx} %\ProvidesPackage{mathpple} %\ProvidesPackage{palatino} %\ProvidesPackage{chancery} %\ProvidesPackage{pifont} %\ProvidesPackage{bookman} %\ProvidesPackage{newcent} %\ProvidesPackage{avant} %\ProvidesPackage{helvet} %\ProvidesPackage{courier} %\ProvidesPackage{charter} %\ProvidesPackage{utopia} [2000/01/12 PSNFSS-v8.1 %Times font as default roman (SPQR) %Times + math package (SPQR) %Times + math package, improved (SPQR) %Palatino + math package (WaS) %Palatino font as default roman (SPQR) %Zapf Chancery font as default roman (SPQR) %Pi font support (SPQR) %Bookman font as default roman (SPQR) %NewCenturySchoolbook font as default roman (SPQR) %AvantGarde font as default sans (SPQR) %Helvetica font as default sans (WaS) %Courier font as default typewriter (WaS) %Charter font as default roman (Peter Dyballa) %Utopia font as default roman (Peter Dyballa) ] % %<*driver> \documentclass{ltxdoc} \begin{document} \DocInput{psfonts.dtx} \end{document} % % \fi % % \GetFileInfo{psfonts.drv} % \title{The packages of the PSNFSS bundle} % \author{% % Sebastian Rahtz\thanks{\texttt{}} % \and % Walter Schmidt\thanks{\texttt{}}} % \date{\fileversion{} -- \filedate} % \maketitle % % \noindent % The source file \texttt{psfonts.dtx} contains suitable package files % to use common PostScript fonts with \LaTeX. % See the file \texttt{00readme.txt} for the installation instructions; % it also explains how to obtain the % related Type1 fonts, font definition files, font metrics and virtual fonts. % % See the document `Using common PostScript fonts with \LaTeX', % filename \texttt{psnfss2e.pdf}, % for a description of the user interface. % % \StopEventually{} % % \section{The \textsf{times} package} % \begin{macrocode} %<*times> \renewcommand{\sfdefault}{phv} \renewcommand{\rmdefault}{ptm} \renewcommand{\ttdefault}{pcr} % % \end{macrocode} % % \section{The \textsf{palatino} package} % \begin{macrocode} %<*palatino> \renewcommand{\rmdefault}{ppl} \renewcommand{\sfdefault}{phv} \renewcommand{\ttdefault}{pcr} % % \end{macrocode} % % \section{The \textsf{helvet} package} % Options processing uses the \textsf{keyval} package % and a hack borrowed from \textsf{hyperref}: % \begin{macrocode} %<*helvet> \RequirePackage{keyval} \define@key{Hel}{scaled}[.95]{% \def\Hv@scale{#1}} \def\ProcessOptionsWithKV#1{% \let\@tempc\relax \let\Hv@tempa\@empty \@for\CurrentOption:=\@classoptionslist\do{% \@ifundefined{KV@#1@\CurrentOption}% {}% {\edef\Hv@tempa{\Hv@tempa,\CurrentOption,}}% }% \edef\Hv@tempa{% \noexpand\setkeys{#1}{% \Hv@tempa\@ptionlist{\@currname.\@currext}% }% }% \Hv@tempa } \ProcessOptionsWithKV{Hel} \AtEndOfPackage{% \let\@unprocessedoptions\relax } % \end{macrocode} % The \texttt{.fd} files will evaluate the macro |\Hv@scale| and scale % Helvetica appropriately. % % Now it's time to redefine the default sans font: % \begin{macrocode} \renewcommand{\sfdefault}{phv} % % \end{macrocode} % % \section{The \textsf{avant} package} % \begin{macrocode} %<*avant> \renewcommand{\sfdefault}{pag} % % \end{macrocode} % % \section{The \textsf{newcent} package} % \begin{macrocode} %<*newcent> \renewcommand{\rmdefault}{pnc} \renewcommand{\sfdefault}{pag} \renewcommand{\ttdefault}{pcr} % % \end{macrocode} % % \section{The \textsf{bookman} package} % \begin{macrocode} %<*bookman> \renewcommand{\rmdefault}{pbk} \renewcommand{\sfdefault}{pag} \renewcommand{\ttdefault}{pcr} % % \end{macrocode} % % \section{The \textsf{courier} package} % \begin{macrocode} %<*courier> \renewcommand{\ttdefault}{pcr} % % \end{macrocode} % % \section{The \textsf{pifont} package} % Some useful commands for Pi fonts (Dingbats, Symbol etc); they % all assume you know the character number of the (unmapped) font % \begin{macrocode} %<*pifont> \newcommand{\Pifont}[1]{\fontfamily{#1}\fontencoding{U}% \fontseries{m}\fontshape{n}\selectfont} \newcommand{\Pisymbol}[2]{{\Pifont{#1}\char#2}} \newcommand{\Pifill}[2]{\leaders\hbox{\makebox[0.2in]{% \Pisymbol{#1}{#2}}}\hfill\kern\z@} \newcommand{\Piline}[2]{\par\noindent\hspace{0.5in}\Pifill{#1}{#2}% \hspace{0.5in}\kern\z@\par} \newenvironment{Pilist}[2]% {\begin{list}{\Pisymbol{#1}{#2}}{}}% {\end{list}}% % \end{macrocode} % 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 % \LaTeX\ counter and |#1| is the font family. % \begin{macrocode} \def\Pinumber#1#2{\protect\Pisymbol{#1}{\arabic{#2}}} \newenvironment{Piautolist}[2]{% \ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne % \end{macrocode} % We force the labels and cross-references into a very plain style (e.g., % no brackets around `numbers', or dots after them). % \begin{macrocode} \edef\@enumctr{enum\romannumeral\the\@enumdepth}% \expandafter\def\csname p@enum\romannumeral\the\@enumdepth\endcsname{}% \expandafter\def\csname labelenum\romannumeral\the\@enumdepth\endcsname{% \csname theenum\romannumeral\the\@enumdepth\endcsname}% \expandafter\def\csname theenum\romannumeral\the\@enumdepth\endcsname{% \Pinumber{#1}{enum\romannumeral\the\@enumdepth}}% \list{\csname label\@enumctr\endcsname}{% \@nmbrlisttrue \def\@listctr{\@enumctr}% \setcounter{\@enumctr}{#2}% \addtocounter{\@enumctr}{-1}% \def\makelabel##1{\hss\llap{##1}}} \fi }{\endlist} % \end{macrocode} % All the old Dingbat commands still work. % \begin{macrocode} \newcommand{\ding}{\Pisymbol{pzd}} \def\dingfill#1{\leaders\hbox{\makebox[0.2in]{\Pisymbol{pzd}{#1}}}\hfill} \def\dingline#1{\Piline{pzd}{#1}} \newenvironment{dinglist}[1]{\begin{Pilist}{pzd}{#1}}% {\end{Pilist}} \newenvironment{dingautolist}[1]{\begin{Piautolist}{pzd}{#1}}% {\end{Piautolist}} {\Pifont{pzd}} {\Pifont{psy}} % % \end{macrocode} % % \section{The \textsf{chancery} package} % \begin{macrocode} %<*chancery> \renewcommand{\rmdefault}{pzc} % % \end{macrocode} % % \section{The \textsf{mathptm} and \textsf{mathptmx} packages} % Seting up the fonts for \textsf{mathptm}: % \begin{macrocode} %<*mathptm> \def\rmdefault{ptm} \DeclareSymbolFont{operators} {OT1}{ptmcm}{m}{n} \DeclareSymbolFont{letters} {OML}{ptmcm}{m}{it} \DeclareSymbolFont{symbols} {OMS}{pzccm}{m}{n} \DeclareSymbolFont{largesymbols}{OMX}{psycm}{m}{n} \DeclareSymbolFont{bold} {OT1}{ptm}{bx}{n} \DeclareSymbolFont{italic} {OT1}{ptm}{m}{it} % % \end{macrocode} % % Setting up the fonts for \textsf{mathptmx}: % \begin{macrocode} %<*mathptmx> \def\rmdefault{ptm} \DeclareSymbolFont{operators} {OT1}{ztmcm}{m}{n} \DeclareSymbolFont{letters} {OML}{ztmcm}{m}{it} \DeclareSymbolFont{symbols} {OMS}{ztmcm}{m}{n} \DeclareSymbolFont{largesymbols}{OMX}{ztmcm}{m}{n} \DeclareSymbolFont{bold} {OT1}{ptm}{bx}{n} \DeclareSymbolFont{italic} {OT1}{ptm}{m}{it} % % \end{macrocode} % % Define |\mathbf| and |\mathit|, unless we are in compatibility mode: % \begin{macrocode} %<*mathptm|mathptmx> \@ifundefined{mathbf}{}{\DeclareMathAlphabet{\mathbf}{OT1}{ptm}{bx}{n}} \@ifundefined{mathit}{}{\DeclareMathAlphabet{\mathit}{OT1}{ptm}{m}{it}} % \end{macrocode} % % An |\omicron| command, to fill the gap: % \begin{macrocode} \DeclareMathSymbol{\omicron}{0}{operators}{`\o} % \end{macrocode} % % Reduce the space around math operators: % \begin{macrocode} \thinmuskip=2mu \medmuskip=2.5mu plus 1mu minus 1mu \thickmuskip=4mu plus 1.5mu minus 1mu % \end{macrocode} % % Make |\hbar| work with Times: % \begin{macrocode} \def\hbar{{\mskip1.6mu\mathchar'26\mkern-7.6muh}} % \end{macrocode} % % No bold math: % \begin{macrocode} \def\boldmath{% \PackageWarning% % {mathptm}% % {mathptmx}% {There are no bold math fonts}% \global\let\boldmath=\relax } % \end{macrocode} % % Use larger font sizes for super- and subscripts: % \begin{macrocode} \DeclareMathSizes{5}{5}{5}{5} \DeclareMathSizes{6}{6}{5}{5} \DeclareMathSizes{7}{7}{5}{5} \DeclareMathSizes{8}{8}{6}{5} \DeclareMathSizes{9}{9}{7}{5} \DeclareMathSizes{10}{10}{7.4}{6} \DeclareMathSizes{10.95}{10.95}{8}{6} \DeclareMathSizes{12}{12}{9}{7} \DeclareMathSizes{14.4}{14.4}{10.95}{8} \DeclareMathSizes{17.28}{17.28}{12}{10} \DeclareMathSizes{20.74}{20.74}{14.4}{12} \DeclareMathSizes{24.88}{24.88}{17.28}{14.4} % \end{macrocode} % % Don't let amsfonts.sty redefine |\hbar|: % \begin{macrocode} \let\s@vedhbar\hbar \AtBeginDocument{% \@ifpackageloaded{amsfonts}{\let\hbar\s@vedhbar}{} % \end{macrocode} % And make |\big| \&\ friends work with scaled math extension font, % unless amsmath.sty has already been loaded: % \begin{macrocode} \@ifpackageloaded{amsmath}{}{% \newdimen\big@size \addto@hook\every@math@size{\setbox\z@\vbox{\hbox{$($}\kern\z@}% \global\big@size 1.2\ht\z@} \def\bBigg@#1#2{% {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}} \def\big{\bBigg@\@ne} \def\Big{\bBigg@{1.5}} \def\bigg{\bBigg@\tw@} \def\Bigg{\bBigg@{2.5}} } } % % \end{macrocode} % % \section{The \textsf{mathpple} package} % Suppress info about math fonts being redefined: % \begin{macrocode} %<*mathpple> \let\s@ved@info\@font@info \let\@font@info\@gobble % \end{macrocode} % % Make Palatino the default roman font: % \begin{macrocode} \renewcommand{\rmdefault}{ppl} % \end{macrocode} % % Typeset mathematics using the mathpple fonts: % \begin{macrocode} \DeclareSymbolFont{operators} {OT1}{zpple}{m}{n} \DeclareSymbolFont{letters} {OML}{zpple}{m}{it} \DeclareSymbolFont{symbols} {OMS}{zpple}{m}{n} \DeclareSymbolFont{largesymbols}{OMX}{zpple}{m}{n} \DeclareMathAlphabet{\mathbf} {OT1}{zpple}{b}{n} \DeclareMathAlphabet{\mathit} {OT1}{ppl}{m}{it} % \end{macrocode} % % Support for bold mathversion: % \begin{macrocode} \SetSymbolFont{operators}{bold}{OT1}{zpple}{b}{n} \SetSymbolFont{letters}{bold}{OML}{zpple}{b}{it} \SetSymbolFont{symbols}{bold}{OMS}{zpple}{b}{n} \SetSymbolFont{largesymbols}{bold}{OMX}{zpple}{m}{n} \SetMathAlphabet\mathit{bold}{OT1}{ppl}{b}{it} % \end{macrocode} % % Reduce the space around math operators: % \begin{macrocode} %\thinmuskip=2.5mu \medmuskip=3.5mu plus 1mu minus 1mu %\thickmuskip=4.5mu plus 1.5mu minus 1mu % \end{macrocode} % % Compensate for increased letter spacing % \begin{macrocode} \def\joinrel{\mathrel{\mkern-3.45mu}} % \end{macrocode} % % Make |\hbar| work with Palatino: % \begin{macrocode} \renewcommand{\hbar}{{\mathchar'26\mkern-7muh}} % \end{macrocode} % % Define a new math alphabet for bold italic variables: % \begin{macrocode} \DeclareMathAlphabet{\mathbold}{OML}{zpple}{b}{it} % \end{macrocode} % % Make |\mathbold| act on lowercase greek, too: % \begin{macrocode} \DeclareMathSymbol{\alpha}{\mathalpha}{letters}{11} \DeclareMathSymbol{\beta}{\mathalpha}{letters}{12} \DeclareMathSymbol{\gamma}{\mathalpha}{letters}{13} \DeclareMathSymbol{\delta}{\mathalpha}{letters}{14} \DeclareMathSymbol{\epsilon}{\mathalpha}{letters}{15} \DeclareMathSymbol{\zeta}{\mathalpha}{letters}{16} \DeclareMathSymbol{\eta}{\mathalpha}{letters}{17} \DeclareMathSymbol{\theta}{\mathalpha}{letters}{18} \DeclareMathSymbol{\iota}{\mathalpha}{letters}{19} \DeclareMathSymbol{\kappa}{\mathalpha}{letters}{20} \DeclareMathSymbol{\lambda}{\mathalpha}{letters}{21} \DeclareMathSymbol{\mu}{\mathalpha}{letters}{22} \DeclareMathSymbol{\nu}{\mathalpha}{letters}{23} \DeclareMathSymbol{\xi}{\mathalpha}{letters}{24} \DeclareMathSymbol{\pi}{\mathalpha}{letters}{25} \DeclareMathSymbol{\rho}{\mathalpha}{letters}{26} \DeclareMathSymbol{\sigma}{\mathalpha}{letters}{27} \DeclareMathSymbol{\tau}{\mathalpha}{letters}{28} \DeclareMathSymbol{\upsilon}{\mathalpha}{letters}{29} \DeclareMathSymbol{\phi}{\mathalpha}{letters}{30} \DeclareMathSymbol{\chi}{\mathalpha}{letters}{31} \DeclareMathSymbol{\psi}{\mathalpha}{letters}{32} \DeclareMathSymbol{\omega}{\mathalpha}{letters}{33} \DeclareMathSymbol{\varepsilon}{\mathalpha}{letters}{34} \DeclareMathSymbol{\vartheta}{\mathalpha}{letters}{35} \DeclareMathSymbol{\varpi}{\mathalpha}{letters}{36} \DeclareMathSymbol{\varphi}{\mathalpha}{letters}{39} \let\varrho\rho \let\varsigma\sigma % \end{macrocode} % % Option: Use slanted greek capitals: % \begin{macrocode} \DeclareOption{slantedGreek}{% \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{0} \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{1} \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{2} \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{3} \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{4} \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{5} \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{6} \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{7} \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{8} \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{9} \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{10} } \let\upOmega\Omega \let\upDelta\Delta % \end{macrocode} % % Options processing: % \begin{macrocode} \ProcessOptions\relax % \end{macrocode} % % Prepare for AMS fonts: % \begin{macrocode} \DeclareFontFamily{U}{msa}{}% \DeclareFontShape{U}{msa}{m}{n}{<-> s * [1.042] msam10}{}% \DeclareFontFamily{U}{msb}{}% \DeclareFontShape{U}{msb}{m}{n}{<-> s * [1.042] msbm10}{}% \DeclareFontFamily{U}{euf}{}% \DeclareFontShape{U}{euf}{m}{n}{<-6>eufm5<6-8>eufm7<8->eufm10}{}% \DeclareFontShape{U}{euf}{b}{n}{<-6>eufb5<6-8>eufb7<8->eufb10}{}% % \end{macrocode} % % Don't let amsfonts.sty redefine |\hbar|: % \begin{macrocode} \let\s@vedhbar\hbar \AtBeginDocument{% \@ifpackageloaded{amsfonts}{\let\hbar\s@vedhbar}{} % \end{macrocode} % And make |\big| \&\ friends work with scaled math extension font, % unless amsmath.sty has already been loaded: % \begin{macrocode} \@ifpackageloaded{amsmath}{}{% \newdimen\big@size \addto@hook\every@math@size{\setbox\z@\vbox{\hbox{$($}\kern\z@}% \global\big@size 1.2\ht\z@} \def\bBigg@#1#2{% {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}} \def\big{\bBigg@\@ne} \def\Big{\bBigg@{1.5}} \def\bigg{\bBigg@\tw@} \def\Bigg{\bBigg@{2.5}} } } % \end{macrocode} % % We redefine the default sizes for super- and subscripts. % Palatino, like most other type 1 fonts, is scaled linearly, so the % default ratios (.7 and .5) may produce unreadably small characters: % \begin{macrocode} \def\defaultscriptratio{.76} \def\defaultscriptscriptratio{.6} % \end{macrocode} % % These default ratios are not used for any sizes that have been % explicitly declared, so we redeclare the sizes used by the standard % classes. At least for the lower sizes this is important as we don't % want to end up with a 5pt font being reduced even further: % \begin{macrocode} \DeclareMathSizes{5} {5} {5} {5} \DeclareMathSizes{6} {6} {5} {5} \DeclareMathSizes{7} {7} {5} {5} \DeclareMathSizes{8} {8} {6} {5} \DeclareMathSizes{9} {9} {7} {5} \DeclareMathSizes{10} {10} {7.6} {6} \DeclareMathSizes{10.95}{10.95}{8} {6} \DeclareMathSizes{12} {12} {9} {7} \DeclareMathSizes{14.4} {14.4} {10} {8} \DeclareMathSizes{17.28}{17.28}{12} {10} \DeclareMathSizes{20.74}{20.74}{14.4} {12} \DeclareMathSizes{24.88}{24.88}{20.74}{14.4} % \end{macrocode} % % Restore font info: % \begin{macrocode} \let\@font@info\s@ved@info % % \end{macrocode} % % \subsection*{Credits} % \textsf{mathpple} is based on the package \textsf{mathppl} % and the related virtual fonts, created by Aloysius Helminck. % These were distributed in conjunction with \textsc{fontinst}~v1.335, % but are no longer available from CTAN. % The main changes with regard to Helminck's model are: % \begin{itemize} % \item % italic Greek letters from the Euler fonts; % \item % |\mathcal| from CM instead of Zapf~Chancery; % \item % positioning of math accents substantially improved; % \item % improved spacing; % \item % use those Type~1 fonts only, which are part of the free % `BlueSky' distribution. % \end{itemize} % % % \section{The \textsf{charter} package} % \begin{macrocode} %<*charter> \renewcommand{\rmdefault}{bch} \renewcommand{\bfdefault}{b} % % \end{macrocode} % % \section{The \textsf{utopia} package} % \begin{macrocode} %<*utopia> \renewcommand{\rmdefault}{put} \renewcommand\bfdefault{b} % % \end{macrocode} % % \Finale % \endinput % %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~}