home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / dvips583.zip / contrib.zip / dvips / contrib / psfntmac / ps_lfonts.tex next >
Text File  |  1998-11-03  |  39KB  |  889 lines

  1. % File LFONTS - Version of 21 November 1989,
  2. % plus modifications for PostScript Times family fonts (added by Larry
  3. % Denenberg, larry@bbn.com, originally 5 Apr 88 and later 13 Feb 91).
  4. % PS font names changed to use Karl Berry's names like dvips does,
  5. %  Stephen Gildea, Sep 92.
  6.  
  7. % This version of LFONTS.TEX is for the CMR fonts.  It was converted
  8. % from the AMR version by David Fuchs on 18 December 1985.
  9. % And corrected on 11 Nov 1986 by Leslie Lamport.
  10. % Last vestige of AMR fonts removed 3 Mar 89 by Leslie Lamport.
  11.  
  12. % This file needs to be customized for the fonts available at a particular
  13. % site.  There are three places where changes need to be made.  They
  14. % can be found by searching this file for the string  FONT-CUSTOMIZING.
  15. %
  16. % FONT CONVENTIONS
  17. %
  18. % A TYPESTYLE COMMAND is something like \it that defines a type style.
  19. % Each style command \xx is defined to be \protect\pxx, where
  20. % \pxx is defined to choose the correct font for the current size.
  21. % This allows style commands to appear in 'unsafe' arguments where
  22. % protection is required.
  23. %
  24. % A SIZE COMMAND is something like \normalsize that defines a type size.
  25. % It is defined by the document style.  However, \normalsize is handled
  26. % somewhat differently because it is called so often--e.g., on every
  27. % page by the output routine.  The document style defines \@normalsize
  28. % instead of \normalsize.
  29. %
  30. % A ONE-SIZE typestyle is one that exists only in the \normalsize size.
  31. %
  32. % A FONT-SIZE COMMAND is one that defines \textfont, \scriptfont and
  33. % \scriptscriptfont for the font families corresponding to preloaded fonts,
  34. % as well as the typestyle commands for the preloaded fonts.  Each
  35. % font-size command has an associated @fontsize command, having the same
  36. % name except for an '@' at the front.   All font-size commands are defined
  37. % in LFONTS.  The naming convention is that a fifteenpt font has a font-size
  38. % name \xvpt, and so on.
  39. %
  40. % Each size command \SIZE executes the command
  41. %             \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE
  42. % which does the following.
  43. %   0. Executes \@nomath\SIZE to issue warning if in math mode.
  44. %   1. \let \@currsize = \SIZE
  45. %   2. Sets \strutbox to a strut of height .7 * BASELINESKIP and
  46. %      depth .3 * BASELINESKIP
  47. %
  48. %       Note: Charles Karney observed that step 2 is useless, since the
  49. %       \FONTSIZE command executed in step 4 resets \strutbox using
  50. %       the actual baselineskip, which is \baselinestretch * BASELINESKIP.
  51. %       Some day, this step may get removed.  (Note made 28 Feb 89)
  52. %
  53. %   3. Sets \baselineskip to \baselinestretch * BASELINESKIP
  54. %      and
  55. %   4. Calls \FONTSIZE
  56. %   5. Executes the \@FONTSIZE command.
  57. % It should then define all the typestyle commands not defined by the font-size
  58. % command, except for the one-size type styles. A typestyle command for which
  59. % the corresponding font exists but is not preloaded is defined to expand to a
  60. % \@getfont command.  A typestyle whose font does not exist is defined to
  61. % expand to a \@subfont command.
  62. %
  63. % A one-size typestyle whose font is not preloaded is defined to expand to
  64. % a \@onesizefont command.
  65. %
  66. % \em is defined to be \it inside an unslanted style and \rm inside a
  67. % slanted style.  An \em command in a section title will produce a \pem
  68. % command in the table of contents.
  69. %
  70.  
  71. \def\em{\protect\pem{}}
  72. \def\pem{\ifdim \fontdimen\@ne\font >\z@ \rm \else \it \fi}
  73.  
  74. \def\normalsize{\ifx\@currsize\normalsize \rm \else \@normalsize\fi}
  75.  
  76. % \load{SIZE}{STYLE} : Solves anomaly of loaded-on-demand font
  77. %    used for first time in math mode.  Give this command outside math
  78. %    mode, before formula using it for first time.
  79. \def\load#1#2{\let\@tempa\@currsize \let\@currsize\relax #1#2\@tempa}
  80.  
  81. % \newfont{\CMD}{FONT} defines \CMD to be the font FONT.
  82. %    It is equivalent to \font \CMD = FONT
  83. % \symbol{NUM} == \char NUM
  84.  
  85. \def\newfont#1#2{\@ifdefinable #1{\font #1=#2\relax}}
  86. \def\symbol#1{\char #1\relax}
  87.  
  88.  
  89.  
  90. % \@getfont \STYLE \FAM \@FONTSIZE{LOADING.INFO}
  91. %   \STYLE       = style command
  92. %   \FAM         = a control sequence defined by \newfam\FAM
  93. %   \@FONTSIZE   = the @fontsize command for the current size.
  94. %   LOADING.INFO = information needed to load the font--e.g.,
  95. %                  cmtti10 \magstep 2
  96. %   Does the following, where \FONTNAME denotes a new unique, untypeable
  97. %   font name:
  98. %    1. Executes  \font \FONTNAME = LOADING.INFO
  99. %    2. Appends '\textfont FAM \FONTNAME \def\STYLE{\fam \FAM \FONTNAME}'
  100. %       to the definition of \@FONTSIZE.
  101. %    3. Executes \@FONTSIZE \STYLE.
  102. %
  103. % \@nohyphens\STYLE\@FONTSIZE
  104. %   Used right after \@getfont to set \hyphenchar of the new font to -1,
  105. %   thereby prohibiting hyphenation.  It is used with \tt fonts.
  106. %   (\@nohyphens was added on 12/18/85)
  107. %
  108. % \@subfont \STYLE \REPSTYLE
  109. %   \STYLE, \REPSTYLE = type style commands.
  110. %   Types warning message and defines uses \REPSTYLE.
  111. %
  112. % \@onesizefont \STYLE {LOADING.INFO}
  113. %   Defines \STYLE to be a typestyle that exists only for the \normalsize
  114. %   size.  It produces the font specified by LOADING.INFO
  115. %
  116. % \@addfontinfo\@FONTSIZE{DEFS}
  117. %    Expands DEFS and adds to the definition of \@FONTSIZE. Items that should
  118. %    not be expanded should be protected with \@prtct---except no protection
  119. %    is needed for '\def\foo', only for the contents of the definition.
  120. %
  121. % \@nomath\CS : Types a warning '\CS used in math mode' if encountered
  122. %    in math mode.
  123.  
  124. % Remove \outer from definition of \newfam
  125. \def\newfam{\alloc@8\fam\chardef\sixt@@n}
  126.  
  127. \def\@setsize#1#2#3#4{\@nomath#1\let\@currsize#1\baselineskip
  128.    #2\setbox\strutbox\hbox{\vrule height.7\baselineskip
  129.       depth.3\baselineskip width\z@}\baselineskip\baselinestretch\baselineskip
  130.    \normalbaselineskip\baselineskip#3#4}
  131.  
  132. \newif\if@bold
  133.  
  134. \let\@prtct=\relax
  135.  
  136. \def\@addfontinfo#1#2{{\def\@prtct{\noexpand\@prtct\noexpand}\def\def{\noexpand
  137.     \def\noexpand}\xdef#1{#1#2}}}
  138.  
  139. \def\@getfont#1#2#3#4{\@ifundefined{\string #1\string #3}{\global\expandafter
  140.     \font \csname \string #1\string #3\endcsname #4\relax
  141.      \@addfontinfo#3{\textfont #2\csname \string #1\string #3\endcsname
  142.      \scriptfont #2\csname \string #1\string #3\endcsname
  143.      \scriptscriptfont #2\csname \string #1\string #3\endcsname
  144.      \def#1{\fam #2\csname\string #1\string #3\endcsname}}}{}#3#1}
  145.  
  146. \def\@nohyphens#1#2{\global\expandafter \hyphenchar\csname
  147.    \string #1\string #2\endcsname \m@ne}
  148.  
  149. \def\@subfont#1#2{\@warning{No \string#1\space typeface in
  150.         this size, using \string#2}#2}
  151.  
  152. \def\@onesizefont#1#2{\expandafter\newfam\csname fm\string#1\endcsname
  153.   \global\expandafter\font\csname ft\string#1\endcsname #2\relax
  154.   \gdef#1{\ifx \@currsize\normalsize \@ftfam#1\else
  155.   \@warning{Typeface \string#1\space available only in
  156.   \string\normalsize, using \string\rm}\gdef #1{\ifx \@currsize\normalsize
  157.   \textfont\@fontfam#1 \scriptfont\@fontfam#1 \scriptscriptfont
  158.   \@fontfam#1\@ftfam#1\else \rm\fi}#1\fi}#1}
  159.  
  160. \def\@ftfam#1{\fam\csname fm\string#1\endcsname\csname ft\string#1\endcsname}
  161.  
  162. \def\@nomath#1{\ifmmode \@warning{\string#1\space in math mode.}\fi}
  163. \def\@nomathbold{\ifmmode \@warning{\string\mathbold\space in math mode.}\fi}
  164.  
  165. % The following definitions save token space.  E.g., using \@height
  166. % instead of height saves 5 tokens at the cost in time of one macro
  167. % expansion.
  168.  
  169. \def\@height{height}
  170. \def\@depth{depth}
  171. \def\@width{width}
  172.  
  173. \def\@magscale#1{ scaled \magstep #1}
  174. \def\@halfmag{ scaled \magstephalf}
  175. \def\@ptscale#1{ scaled #100}
  176.  
  177.  
  178. %% FONT-CUSTOMIZING:  The following \font commands define the
  179. %% preloaded LaTeX fonts.  Font names should be changed to cause
  180. %% different fonts to be loaded in place of these particular AMR fonts.
  181. %% \font commands should be added or deleted to change which fonts
  182. %% are preloaded.
  183.  
  184. % five point
  185.  \font\fivrm  = ptmr at 5pt               % roman
  186.  \font\fivmi  = cmmi5              % math italic
  187.     \skewchar\fivmi ='177          %  for placement of accents
  188. %\font\fivmib = cmmib10  \@ptscale5 % bold math italic
  189.  \font\fivsy  = cmsy5              % math symbols
  190.     \skewchar\fivsy ='60           %   for placement of math accents
  191. %\font\fivsyb = cmbsy10 \@ptscale5 % bold math symbols
  192. %\font\fivit  = ptmri at 5pt       % text italic
  193. %\font\fivsl  = ptmro at 5pt       % slanted
  194. %\font\fivbf  = ptmb at 5pt       % extended bold
  195. %\font\fivbfs = ptmbo at 5pt    % extended bold slanted
  196. %\font\fivtt  = pcrb at 5pt       % typewriter
  197. %\font\fivtti = cmitt10 \@ptscale5 % italic typewriter
  198. %\font\fivtts = pcrbo at 5pt       % slanted typewriter
  199. %\font\fivsf  = phvr at 5pt       % sans serif
  200. %\font\fivsfi = phvro at 5pt       % italic sans serif
  201. %\font\fivsfb = phvb at 5pt       % bold sans serif
  202. %\font\fivsc  = cmcsc10 \@ptscale5 % small caps
  203.  \font\fivly  = lasy5             % LaTeX symbols
  204. %\font\fivlyb = lasyb10 \@ptscale5 % LaTeX symbols
  205. %\font\fivuit = ptmru at 5pt     % unslanted italic
  206.  
  207. % six point
  208.  \font\sixrm  = ptmr at 6pt       % roman
  209.  \font\sixmi  = cmmi6              % math italic
  210.     \skewchar\sixmi ='177          %  for placement of accents
  211. %\font\sixmib = cmmib10  \@ptscale6 % bold math italic
  212.  \font\sixsy  = cmsy6              % math symbols
  213.     \skewchar\sixsy ='60           %   for placement of math accents
  214. %\font\sixsyb = cmbsy10 \@ptscale6 % bold math symbols
  215. %\font\sixit  = ptmri at 6pt       % text italic
  216. %\font\sixsl  = ptmro at 6pt       % slanted
  217. %\font\sixbf  = ptmb at 6pt       % extended bold
  218. %\font\sixbfs = ptmbo at 6pt    % extended bold slanted
  219. %\font\sixtt  = pcrb at 6pt       % typewriter
  220. %\font\sixtti = cmitt10 \@ptscale6 % italic typewriter
  221. %\font\sixtts = pcrbo at 6pt       % slanted typewriter
  222. %\font\sixsf  = phvr at 6pt       % sans serif
  223. %\font\sixsfi = cmssi10 \@ptscale6 % italic sans serif
  224. %\font\sixsfb = phvb at 6pt       % bold sans serif
  225. %\font\sixsc  = ptmrc at 6pt     % small caps
  226.  \font\sixly  = lasy6             % LaTeX symbols
  227. %\font\sixlyb = lasyb10 \@ptscale6 % LaTeX symbols
  228. %\font\sixuit = ptmru at 6pt     % unslanted italic
  229.  
  230. % seven point
  231.  \font\sevrm  = ptmr at 7pt       % roman
  232.  \font\sevmi  = cmmi7              % math italic
  233.     \skewchar\sevmi ='177          %  for placement of accents
  234. %\font\sevmib = cmmib10  \@ptscale7 % bold math italic
  235.  \font\sevsy  = cmsy7              % math symbols
  236.     \skewchar\sevsy ='60           %   for placement of math accents
  237. %\font\sevsyb = cmbsy10 \@ptscale7 % bold math symbols
  238.  \font\sevit  = ptmri at 7pt       % text italic
  239. %\font\sevsl  = ptmro at 7pt       % slanted
  240. %\font\sevbf  = ptmb at 7pt       % extended bold
  241. %\font\sevbfs = ptmbo at 7pt    % extended bold slanted
  242. %\font\sevtt  = pcrb at 7pt       % typewriter
  243. %\font\sevtti = cmitt10 \@ptscale7 % italic typewriter
  244. %\font\sevtts = pcrbo at 7pt       % slanted typewriter
  245. %\font\sevsf  = phvr at 7pt       % sans serif
  246. %\font\sevsfi = cmssi10 \@ptscale7 % italic sans serif
  247. %\font\sevsfb = phvb at 7pt       % bold sans serif
  248. %\font\sevsc  = ptmrc at 7pt     % small caps
  249.  \font\sevly  = lasy7             % LaTeX symbols
  250. %\font\sevlyb = lasyb10 \@ptscale7 % LaTeX symbols
  251. %\font\sevuit = ptmru at 7pt     % unslanted italic
  252.  
  253. % eight point
  254.  \font\egtrm  = ptmr at 8pt       % roman
  255.  \font\egtmi  = cmmi8              % math italic
  256.     \skewchar\egtmi ='177          %  for placement of accents
  257. %\font\egtmib = cmmib10  \@ptscale8 % bold math italic
  258.  \font\egtsy  = cmsy8              % math symbols
  259.     \skewchar\egtsy ='60           %   for placement of math accents
  260. %\font\egtsyb = cmbsy10 \@ptscale8 % bold math symbols
  261.  \font\egtit  = ptmri at 8pt       % text italic
  262. %\font\egtsl  = ptmro at 8pt       % slanted
  263. %\font\egtbf  = ptmb at 8pt       % extended bold
  264. %\font\egtbfs = ptmbo at 8pt    % extended bold slanted
  265. %\font\egttt  = pcrb at 8pt       % typewriter
  266. %\font\egttti = cmitt10 \@ptscale8 % italic typewriter
  267. %\font\egttts = pcrbo at 8pt       % slanted typewriter
  268. %\font\egtsf  = phvr at 8pt       % sans serif
  269. %\font\egtsfi = cmssi10 \@ptscale8 % italic sans serif
  270. %\font\egtsfb = phvb at 8pt       % bold sans serif
  271. %\font\egtsc  = ptmrc at 8pt     % small caps
  272.  \font\egtly  = lasy8             % LaTeX symbols
  273. %\font\egtlyb = lasyb10 \@ptscale8 % LaTeX symbols
  274. %\font\egtuit = ptmru at 8pt     % unslanted italic
  275.  
  276.  
  277. % nine point
  278.  \font\ninrm  = ptmr at 9pt       % roman
  279.  \font\ninmi  = cmmi9              % math italic
  280.     \skewchar\ninmi ='177          %  for placement of accents
  281. %\font\ninmib = cmmib10  \@ptscale9 % bold math italic
  282.  \font\ninsy  = cmsy9              % math symbols
  283.     \skewchar\ninsy ='60           %   for placement of math accents
  284. %\font\ninsyb = cmbsy10 \@ptscale9 % bold math symbols
  285.  \font\ninit  = ptmri at 9pt       % text italic
  286. %\font\ninsl  = ptmro at 9pt       % slanted
  287.  \font\ninbf  = ptmb at 9pt       % extended bold
  288. %\font\ninbfs = ptmbo at 9pt    % extended bold slanted
  289.  \font\nintt  = pcrb at 9pt       % typewriter
  290.     \hyphenchar\nintt = -1         %  suppress hyphenation in \tt font
  291. %\font\nintti = cmitt10 \@ptscale9 % italic typewriter
  292. %\font\nintts = pcrbo at 9pt       % slanted typewriter
  293. %\font\ninsf  = phvr at 9pt       % sans serif
  294. %\font\ninsfi = cmssi10 \@ptscale9 % italic sans serif
  295. %\font\ninsfb = phvb at 9pt       % bold sans serif
  296. %\font\ninsc  = ptmrc at 9pt     % small caps
  297.  \font\ninly  = lasy9             % LaTeX symbols
  298. %\font\ninlyb = lasyb10 \@ptscale9 % LaTeX symbols
  299. %\font\ninuit = ptmru at 9pt     % unslanted italic
  300.  
  301. % ten point
  302.  \font\tenrm  = ptmr at 10pt    % roman
  303.  \font\tenmi  = cmmi10   % math italic
  304.     \skewchar\tenmi ='177  %  for placement of accents
  305. %\font\tenmib = cmmib10   % bold math italic
  306.  \font\tensy  = cmsy10   % math symbols
  307.     \skewchar\tensy ='60 %   for placement of math accents
  308. %\font\tensyb = cmbsy10  % bold symbols
  309.  \font\tenit  = ptmri   % text italic
  310.  \font\tensl  = ptmro   % slanted
  311.  \font\tenbf  = ptmb   % extended bold
  312. %\font\tenbfs = ptmbo % extended bold slanted
  313.  \font\tentt  = pcrb   % typewriter
  314.     \hyphenchar\tentt = -1         %  suppress hyphenation in \tt font
  315. %\font\tentti = cmitt10  % italic typewriter
  316. %\font\tentts = pcrbo % slanted typewriter
  317.  \font\tensf  = phvr at 10pt   % sans serif
  318. %\font\tensfi = cmssi10  % italic sans serif
  319. %\font\tensfb = phvb at 10pt % bold sans serif
  320. %\font\tensc  = ptmrc  % small caps
  321.  \font\tenly  = lasy10  % LaTeX symbols
  322. %\font\tenlyb = lasyb10 % bold LaTeX symbols
  323. %\font\tenuit = ptmru    % unslanted italic
  324.  
  325. % eleven point
  326.  \font\elvrm  = ptmr at 11pt      % roman
  327.  \font\elvmi  = cmmi10   \@halfmag % math italic
  328.     \skewchar\elvmi ='177          %  for placement of accents
  329. %\font\elvmib = cmmib10   \@halfmag % bold math italic
  330.  \font\elvsy  = cmsy10   \@halfmag % math symbols
  331.     \skewchar\elvsy ='60           %   for placement of math accents
  332. %\font\elvsyb = cmbsy10  \@halfmag % bold symbols
  333.  \font\elvit  = ptmri at 11pt      % text italic
  334.  \font\elvsl  = ptmro at 11pt      % slanted
  335.  \font\elvbf  = ptmb at 11pt      % exelvded bold
  336. %\font\elvbfs = ptmbo at 11pt   % exelvded bold slanted
  337.  \font\elvtt  = pcrb at 11pt      % typewriter
  338.     \hyphenchar\elvtt = -1         %  suppress hyphenation in \tt font
  339. %\font\elvtti = cmitt10  \@halfmag % italic typewriter
  340. %\font\elvtts = pcrbo at 11pt      % slanted typewriter
  341.  \font\elvsf  = phvr at 11pt      % sans serif
  342. %\font\elvsfi = phvro at 11pt      % italic sans serif
  343. %\font\elvsfb = phvb at 11pt      % bold sans serif
  344. %\font\elvsc  = ptmrc at 11pt    % small caps
  345.  \font\elvly  = lasy10  \@halfmag % LaTeX symbols
  346. %\font\elvlyb = lasyb10 \@halfmag % bold LaTeX symbols
  347. %\font\elvuit = ptmru at 11pt    % unslanted italic
  348.  
  349. % twelve point
  350.  \font\twlrm  = ptmr at 12pt         % roman
  351.  \font\twlmi  = cmmi12               % math italic
  352.     \skewchar\twlmi ='177          %  for placement of accents
  353. %\font\twlmib = cmmib10   \@magscale1 % bold math italic
  354.  \font\twlsy  = cmsy10   \@magscale1 % math symbols
  355.     \skewchar\twlsy ='60           %   for placement of math accents
  356. %\font\twlsyb = cmbsy10  \@magscale1 % bold symbols
  357.  \font\twlit  = ptmri at 12pt        % text italic
  358.  \font\twlsl  = ptmro at 12pt        % slanted
  359.  \font\twlbf  = ptmb at 12pt        % extended bold
  360. %\font\twlbfs = ptmbo at 12pt     % extended bold slanted
  361.  \font\twltt  = pcrb at 12pt        % typewriter
  362.     \hyphenchar\twltt = -1         %  suppress hyphenation in \tt font
  363. %\font\twltti = cmitt10  \@magscale1 % italic typewriter
  364. %\font\twltts = pcrbo at 12pt        % slanted typewriter
  365.  \font\twlsf  = phvr at 12pt        % sans serif
  366. %\font\twlsfi = cmssi10  \@magscale1 % italic sans serif
  367. %\font\twlsfb = phvb at 12pt        % bold sans serif
  368. %\font\twlsc  = ptmrc at 12pt      % small caps
  369.  \font\twlly  = lasy10  \@magscale1 % LaTeX symbols
  370. %\font\twllyb = lasyb10 \@magscale1 % bold LaTeX symbols
  371. %\font\twluit = ptmru at 12pt      % unslanted italic
  372.  
  373. % fourteen point
  374.  \font\frtnrm  = ptmr at 14pt        % roman
  375.  \font\frtnmi  = cmmi10   \@magscale2 % math italic
  376.     \skewchar\frtnmi ='177          %  for placement of accents
  377. %\font\frtnmib = cmmib10   \@magscale2 % bold math italic
  378.  \font\frtnsy  = cmsy10   \@magscale2 % math symbols
  379.     \skewchar\frtnsy ='60           %   for placement of math accents
  380. %\font\frtnsyb = cmbsy10  \@magscale2 % bold symbols
  381. %\font\frtnit  = ptmri at 14pt        % text italic
  382. %\font\frtnsl  = ptmro at 14pt        % slanted
  383.  \font\frtnbf  = ptmb at 14pt        % extended bold
  384. %\font\frtnbfs = ptmbo at 14pt     % extended bold slanted
  385. %\font\frtntt  = pcrb at 14pt        % typewriter
  386. %\font\frtntti = cmitt10  \@magscale2 % italic typewriter
  387. %\font\frtntts = pcrbo at 14pt        % slanted typewriter
  388. %\font\frtnsf  = phvr at 14pt        % sans serif
  389. %\font\frtnsfi = cmssi10  \@magscale2 % italic sans serif
  390. %\font\frtnsfb = phvb at 14pt        % bold sans serif
  391. %\font\frtnsc  = ptmrc at 14pt      % small caps
  392.  \font\frtnly  = lasy10  \@magscale2 % LaTeX symbols
  393. %\font\frtnlyb = lasyb10 \@magscale2 % bold LaTeX symbols
  394. %\font\frtnuit = ptmru at 14pt      % unslanted italic
  395.  
  396. % seventeen point
  397.  \font\svtnrm  = ptmr at 17pt        % roman
  398.  \font\svtnmi  = cmmi10   \@magscale3 % math italic
  399.     \skewchar\svtnmi ='177          %  for placement of accents
  400. %\font\svtnmib = cmmib10   \@magscale3 % bold math italic
  401.  \font\svtnsy  = cmsy10   \@magscale3 % math symbols
  402.     \skewchar\svtnsy ='60           %   for placement of math accents
  403. %\font\svtnsyb = cmbsy10  \@magscale3 % bold symbols
  404. %\font\svtnit  = ptmri at 17pt        % text italic
  405. %\font\svtnsl  = ptmro at 17pt        % slanted
  406.  \font\svtnbf  = ptmb at 17pt        % extended bold
  407. %\font\svtnbfs = ptmbo at 17pt     % extended bold slanted
  408. %\font\svtntt  = pcrb at 17pt        % typewriter
  409. %\font\svtntti = cmitt10  \@magscale3 % italic typewriter
  410. %\font\svtntts = pcrbo at 17pt        % slanted typewriter
  411. %\font\svtnsf  = phvr at 17pt        % sans serif
  412. %\font\svtnsfi = cmssi10  \@magscale3 % italic sans serif
  413. %\font\svtnsfb = phvb at 17pt        % bold sans serif
  414. %\font\svtnsc  = ptmrc at 17pt      % small caps
  415.  \font\svtnly  = lasy10  \@magscale3 % LaTeX symbols
  416. %\font\svtnlyb = lasyb10 \@magscale3 % bold LaTeX symbols
  417. %\font\svtnuit = ptmru at 17pt      % unslanted italic
  418.  
  419. % twenty point
  420.  \font\twtyrm  = ptmr at 20pt        % roman
  421.  \font\twtymi  = cmmi10   \@magscale4 % math italic
  422.     \skewchar\twtymi ='177          %  for placement of accents
  423. %\font\twtymib = cmmib10   \@magscale4 % bold math italic
  424.  \font\twtysy  = cmsy10   \@magscale4 % math symbols
  425.     \skewchar\twtysy ='60           %   for placement of math accents
  426. %\font\twtysyb = cmbsy10  \@magscale4 % bold symbols
  427. %\font\twtyit  = ptmri at 20pt        % text italic
  428. %\font\twtysl  = ptmro at 20pt        % slanted
  429. %\font\twtybf  = ptmb at 20pt        % extended bold
  430. %\font\twtybfs = ptmbo at 20pt     % extended bold slanted
  431. %\font\twtytt  = pcrb at 20pt        % typewriter
  432. %\font\twtytti = cmitt10  \@magscale4 % italic typewriter
  433. %\font\twtytts = pcrbo at 20pt        % slanted typewriter
  434. %\font\twtysf  = phvr at 20pt        % sans serif
  435. %\font\twtysfi = cmssi10  \@magscale4 % italic sans serif
  436. %\font\twtysfb = phvb at 20pt        % bold sans serif
  437. %\font\twtysc  = ptmrc at 20pt      % small caps
  438.  \font\twtyly  = lasy10  \@magscale4 % LaTeX symbols
  439. %\font\twtylyb = lasyb10 \@magscale4 % bold LaTeX symbols
  440. %\font\twtyuit = ptmru at 20pt      % unslanted italic
  441.  
  442. % twenty-five point
  443.  \font\twfvrm  = ptmr at 25pt        % roman
  444. %\font\twfvmi  = cmmi10   \@magscale5 % math italic
  445. %\font\twfvmib = cmmib10   \@magscale5 % bold math italic
  446. %\font\twfvsy  = cmsy10   \@magscale5 % math symbols
  447. %\font\twfvsyb = cmbsy10  \@magscale5 % bold symbols
  448. %\font\twfvit  = ptmri at 25pt        % text italic
  449. %\font\twfvsl  = ptmro at 25pt        % slanted
  450. %\font\twfvbf  = ptmb at 25pt        % extended bold
  451. %\font\twfvbfs = ptmbo at 25pt     % extended bold slanted
  452. %\font\twfvtt  = pcrb at 25pt        % typewriter
  453. %\font\twfvtti = cmitt10  \@magscale5 % italic typewriter
  454. %\font\twfvtts = pcrbo at 25pt        % slanted typewriter
  455. %\font\twfvsf  = phvr at 25pt        % sans serif
  456. %\font\twfvsfi = cmssi10  \@magscale5 % italic sans serif
  457. %\font\twfvsfb = phvb at 25pt        % bold sans serif
  458. %\font\twfvsc  = ptmrc at 25pt      % small caps
  459. %\font\twfvly  = lasy10   \@magscale5 % LaTeX symbols
  460. %\font\twfvlyb = lasyb10  \@magscale5 % bold LaTeX symbols
  461. %\font\twfvuit = ptmru at 25pt      % unslanted italic
  462.  
  463. % Math extension
  464.  \font\tenex   = cmex10
  465.  
  466. % line & circle fonts
  467. \font\tenln    = line10
  468. \font\tenlnw   = linew10
  469. \font\tencirc  = lcircle10    % 21 Nov 89 : circle10 -> lcircle10
  470. \font\tencircw = lcirclew10   % 21 Nov 89 : circlew10 -> lcirclew10
  471.  
  472. % Change made 6 May 86: `\@warning' replaced by `\immediate\write 15'
  473. % since it's not defined when lfonts.tex is read by lplain.tex.
  474. %
  475. \ifnum\fontdimen8\tenln=\fontdimen8\tencirc \else
  476.   \immediate\write 15{Incompatible thin line and circle fonts}\fi
  477. \ifnum\fontdimen8\tenlnw=\fontdimen8\tencircw \else
  478.   \immediate\write 15{Incompatible thick line and circle fonts}\fi
  479.  
  480.  
  481. % protected font names
  482. \def\rm{\protect\prm}
  483. \def\it{\protect\pit}
  484. \def\bf{\protect\pbf}
  485. \def\sl{\protect\psl}
  486. \def\sf{\protect\psf}
  487. \def\sc{\protect\psc}
  488. \def\tt{\protect\ptt}
  489.  
  490. %% FONT-CUSTOMIZING:  The following definitions define certain commands
  491. %% to be abbreviations for certain font names.  These commands are used
  492. %% below in \@getfont commands, which load the loaded-on-demand fonts.
  493. %% This is done only to save space.  To change the fonts that are loaded
  494. %% on demand, one can either change these definitions or else change
  495. %% the arguments of the \@getfont commands.
  496. %%
  497. \def\@mbi{cmmib10}
  498. \def\@mbsy{cmbsy10}
  499. \def\@mcsc{ptmrc}
  500. \def\@mss{phvr}
  501. \def\@lasyb{lasyb10}
  502.  
  503. % families
  504.  
  505. \newfam\itfam      % \it is family 4
  506. \newfam\slfam      % \sl is family 5
  507. \newfam\bffam      % \bf is family 6
  508. \newfam\ttfam      % \tt is family 7
  509. \newfam\sffam      % \sf is family 8
  510. \newfam\scfam      % \sf is family 9
  511. \newfam\lyfam      % \ly is family 10
  512.  
  513. \def\cal{\fam\tw@}
  514. \def\mit{\fam\@ne}
  515.  
  516. \def\@setstrut{\setbox\strutbox=\hbox{\vrule \@height .7\baselineskip
  517.     \@depth .3\baselineskip \@width\z@}}
  518.  
  519.  
  520. %% FONT-CUSTOMIZING: The commands \vpt, \vipt, ... , \xxvpt perform all
  521. %% the declarations needed to change the type size to 5pt, 6pt, ... ,
  522. %% 25pt.  To see how this works, consider the definition of \viipt,
  523. %% which determines the fonts used in a 7pt type size.  The command
  524. %%    \def\pit{\fam\itfam\sevit}
  525. %% means that the \it command causes the preloaded \sevit font to
  526. %% be used--this font was defined earlier with a \font\sevit...
  527. %% command.  The commands
  528. %%     \textfont\itfam\sevit
  529. %%     \scriptfont\itfam\sevit
  530. %%     \scriptscriptfont\itfam\sevit
  531. %% tell TeX to use the \sevit font for all three math-mode sizes
  532. %% (text, script, and scriptscript) for the 7pt size.
  533. %% The fonts appearing in these commands must be preloaded.
  534. %%
  535. %% The command
  536. %%     \def\pbf{\@getfont\pbf\bffam\@viipt{ambx7}}
  537. %% declares \bf to use a loaded-on-demand font--namely, the font
  538. %% ambx7.
  539. %%
  540. %% The command
  541. %%     \def\ptt{\@subfont\tt\rm}
  542. %% declares that the \tt font is unavailable in the 7pt size, so
  543. %% the \rm font is used instead.  (The substituted type style should
  544. %% correspond to a preloaded size.)
  545.  
  546. \def\vpt{\textfont\z@\fivrm
  547.   \scriptfont\z@\fivrm \scriptscriptfont\z@\fivrm
  548. \textfont\@ne\fivmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi
  549. \textfont\tw@\fivsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy
  550. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  551. \def\prm{\fam\z@\fivrm}%
  552. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  553.   \unboldmath\fam\@ne\@boldfalse}\@boldfalse
  554. \def\boldmath{\@subfont\boldmath\unboldmath}%
  555. \def\pit{\@subfont\it\rm}%
  556. \def\psl{\@subfont\sl\rm}%
  557. \def\pbf{\@getfont\pbf\bffam\@vpt{ptmb at 5pt}}%
  558. \def\ptt{\@subfont\tt\rm}%
  559. \def\psf{\@subfont\sf\rm}%
  560. \def\psc{\@subfont\sc\rm}%
  561. \def\ly{\fam\lyfam\fivly}\textfont\lyfam\fivly
  562.     \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly
  563. \@setstrut\rm}
  564.  
  565. \def\@vpt{}
  566.  
  567. \def\vipt{\textfont\z@\sixrm
  568.   \scriptfont\z@\sixrm \scriptscriptfont\z@\sixrm
  569. \textfont\@ne\sixmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\sixmi
  570. \textfont\tw@\sixsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\sixsy
  571. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  572. \def\prm{\fam\z@\sixrm}%
  573. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  574.   \unboldmath\@boldfalse}\@boldfalse
  575. \def\boldmath{\@subfont\boldmath\unboldmath}%
  576. \def\pit{\@subfont\it\rm}%
  577. \def\psl{\@subfont\sl\rm}%
  578. \def\pbf{\@getfont\pbf\bffam\@vipt{ptmb at 6pt}}%
  579. \def\ptt{\@subfont\tt\rm}%
  580. \def\psf{\@subfont\sf\rm}%
  581. \def\psc{\@subfont\sc\rm}%
  582. \def\ly{\fam\lyfam\sixly}\textfont\lyfam\sixly
  583.     \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\sixly
  584. \@setstrut\rm}
  585.  
  586. \def\@vipt{}
  587.  
  588. \def\viipt{\textfont\z@\sevrm
  589.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  590. \textfont\@ne\sevmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi
  591. \textfont\tw@\sevsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy
  592. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  593. \def\prm{\fam\z@\sevrm}%
  594. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  595. \unboldmath\@boldfalse}\@boldfalse
  596. \def\boldmath{\@subfont\boldmath\unboldmath}%
  597. \def\pit{\fam\itfam\sevit}\textfont\itfam\sevit
  598.    \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit
  599. \def\psl{\@subfont\sl\it}%
  600. \def\pbf{\@getfont\pbf\bffam\@viipt{ptmb at 7pt}}%
  601. \def\ptt{\@subfont\tt\rm}%
  602. \def\psf{\@subfont\sf\rm}%
  603. \def\psc{\@subfont\sc\rm}%
  604. \def\ly{\fam\lyfam\sevly}\textfont\lyfam\sevly
  605.     \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly
  606. \@setstrut \rm}
  607.  
  608. \def\@viipt{}
  609.  
  610. \def\viiipt{\textfont\z@\egtrm
  611.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  612. \textfont\@ne\egtmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
  613. \textfont\tw@\egtsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
  614. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  615. \def\prm{\fam\z@\egtrm}%
  616. \def\unboldmath{\everymath{}\everydisplay{}\@nomath
  617. \unboldmath\@boldfalse}\@boldfalse
  618. \def\boldmath{\@subfont\boldmath\unboldmath}%
  619. \def\pit{\fam\itfam\egtit}\textfont\itfam\egtit
  620.    \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit
  621. \def\psl{\@getfont\psl\slfam\@viiipt{ptmro at 8pt}}%
  622. \def\pbf{\@getfont\pbf\bffam\@viiipt{ptmbo at 8pt}}%
  623. \def\ptt{\@getfont\ptt\ttfam\@viiipt{pcrb at 8pt}\@nohyphens\ptt\@viiipt}%
  624. \def\psf{\@getfont\psf\sffam\@viiipt{phvr at 8pt}}%
  625. \def\psc{\@getfont\psc\scfam\@viiipt{\@mcsc \@ptscale8}}%
  626. \def\ly{\fam\lyfam\egtly}\textfont\lyfam\egtly
  627.     \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly
  628. \@setstrut \rm}
  629.  
  630. \def\@viiipt{}
  631.  
  632. \def\ixpt{\textfont\z@\ninrm
  633.   \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
  634. \textfont\@ne\ninmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
  635. \textfont\tw@\ninsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
  636. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  637. \def\prm{\fam\z@\ninrm}%
  638. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  639.     \@boldfalse}\@boldfalse
  640. \def\boldmath{\@subfont\boldmath\unboldmath}%
  641. \def\pit{\fam\itfam\ninit}\textfont\itfam\ninit
  642.    \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit
  643. \def\psl{\@getfont\psl\slfam\@ixpt{ptmro at 9pt}}%
  644. \def\pbf{\fam\bffam\ninbf}\textfont\bffam\ninbf
  645.    \scriptfont\bffam\ninbf \scriptscriptfont\bffam\ninbf
  646. \def\ptt{\fam\ttfam\nintt}\textfont\ttfam\nintt
  647.    \scriptfont\ttfam\nintt \scriptscriptfont\ttfam\nintt
  648. \def\psf{\@getfont\psf\sffam\@ixpt{phvr at 9pt}}%
  649. \def\psc{\@getfont\psc\scfam\@ixpt{\@mcsc \@ptscale9}}%
  650. \def\ly{\fam\lyfam\ninly}\textfont\lyfam\ninly
  651.    \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly
  652. \@setstrut \rm}
  653.  
  654. \def\@ixpt{}
  655.  
  656. \def\xpt{\textfont\z@\tenrm
  657.   \scriptfont\z@\sevrm \scriptscriptfont\z@\fivrm
  658. \textfont\@ne\tenmi \scriptfont\@ne\sevmi \scriptscriptfont\@ne\fivmi
  659. \textfont\tw@\tensy \scriptfont\tw@\sevsy \scriptscriptfont\tw@\fivsy
  660. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  661. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  662.           \textfont\@ne\tenmi
  663.           \textfont\tw@\tensy \textfont\lyfam\tenly
  664.           \@boldfalse}\@boldfalse
  665. \def\boldmath{\@ifundefined{tenmib}{\global\font\tenmib\@mbi
  666.    \global\font\tensyb\@mbsy
  667.    \global\font\tenlyb\@lasyb\relax\@addfontinfo\@xpt
  668.    {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
  669.         \textfont\@ne\tenmib \textfont\tw@\tensyb
  670.         \textfont\lyfam\tenlyb \@prtct\@boldtrue}}}{}\@xpt\boldmath}%
  671. \def\prm{\fam\z@\tenrm}%
  672. \def\pit{\fam\itfam\tenit}\textfont\itfam\tenit \scriptfont\itfam\sevit
  673.     \scriptscriptfont\itfam\sevit
  674. \def\psl{\fam\slfam\tensl}\textfont\slfam\tensl
  675.      \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
  676. \def\pbf{\fam\bffam\tenbf}\textfont\bffam\tenbf
  677.     \scriptfont\bffam\tenbf \scriptscriptfont\bffam\tenbf
  678. \def\ptt{\fam\ttfam\tentt}\textfont\ttfam\tentt
  679.     \scriptfont\ttfam\tentt \scriptscriptfont\ttfam\tentt
  680. \def\psf{\fam\sffam\tensf}\textfont\sffam\tensf
  681.     \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
  682. \def\psc{\@getfont\psc\scfam\@xpt{\@mcsc}}%
  683. \def\ly{\fam\lyfam\tenly}\textfont\lyfam\tenly
  684.    \scriptfont\lyfam\sevly \scriptscriptfont\lyfam\fivly
  685. \@setstrut \rm}
  686.  
  687. \def\@xpt{}
  688.  
  689. \def\xipt{\textfont\z@\elvrm
  690.   \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm
  691. \textfont\@ne\elvmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi
  692. \textfont\tw@\elvsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy
  693. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  694. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  695.           \textfont\@ne\elvmi \textfont\tw@\elvsy
  696.           \textfont\lyfam\elvly \@boldfalse}\@boldfalse
  697. \def\boldmath{\@ifundefined{elvmib}{\global\font\elvmib\@mbi\@halfmag
  698.          \global\font\elvsyb\@mbsy\@halfmag
  699.          \global\font\elvlyb\@lasyb\@halfmag\relax\@addfontinfo\@xipt
  700.          {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
  701.                 \textfont\@ne\elvmib \textfont\tw@\elvsyb
  702.                 \textfont\lyfam\elvlyb\@prtct\@boldtrue}}}{}\@xipt\boldmath}%
  703. \def\prm{\fam\z@\elvrm}%
  704. \def\pit{\fam\itfam\elvit}\textfont\itfam\elvit
  705.    \scriptfont\itfam\egtit \scriptscriptfont\itfam\sevit
  706. \def\psl{\fam\slfam\elvsl}\textfont\slfam\elvsl
  707.     \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
  708. \def\pbf{\fam\bffam\elvbf}\textfont\bffam\elvbf
  709.    \scriptfont\bffam\ninbf \scriptscriptfont\bffam\ninbf
  710. \def\ptt{\fam\ttfam\elvtt}\textfont\ttfam\elvtt
  711.    \scriptfont\ttfam\nintt \scriptscriptfont\ttfam\nintt
  712. \def\psf{\fam\sffam\elvsf}\textfont\sffam\elvsf
  713.     \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
  714. \def\psc{\@getfont\psc\scfam\@xipt{\@mcsc\@halfmag}}%
  715. \def\ly{\fam\lyfam\elvly}\textfont\lyfam\elvly
  716.    \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly
  717. \@setstrut \rm}
  718.  
  719. \def\@xipt{}
  720.  
  721. \def\xiipt{\textfont\z@\twlrm
  722.   \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm
  723. \textfont\@ne\twlmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi
  724. \textfont\tw@\twlsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy
  725. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  726. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  727.           \textfont\@ne\twlmi
  728.           \textfont\tw@\twlsy \textfont\lyfam\twlly
  729.           \@boldfalse}\@boldfalse
  730. \def\boldmath{\@ifundefined{twlmib}{\global\font\twlmib\@mbi\@magscale1\global
  731.         \font\twlsyb\@mbsy \@magscale1\global\font
  732.          \twllyb\@lasyb\@magscale1\relax\@addfontinfo\@xiipt
  733.               {\def\boldmath{\everymath
  734.                 {\mit}\everydisplay{\mit}\@prtct\@nomathbold
  735.                 \textfont\@ne\twlmib \textfont\tw@\twlsyb
  736.                 \textfont\lyfam\twllyb\@prtct\@boldtrue}}}{}\@xiipt\boldmath}%
  737. \def\prm{\fam\z@\twlrm}%
  738. \def\pit{\fam\itfam\twlit}\textfont\itfam\twlit \scriptfont\itfam\egtit
  739.    \scriptscriptfont\itfam\sevit
  740. \def\psl{\fam\slfam\twlsl}\textfont\slfam\twlsl
  741.      \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
  742. \def\pbf{\fam\bffam\twlbf}\textfont\bffam\twlbf
  743.    \scriptfont\bffam\ninbf \scriptscriptfont\bffam\ninbf
  744. \def\ptt{\fam\ttfam\twltt}\textfont\ttfam\twltt
  745.    \scriptfont\ttfam\nintt \scriptscriptfont\ttfam\nintt
  746. \def\psf{\fam\sffam\twlsf}\textfont\sffam\twlsf
  747.     \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
  748. \def\psc{\@getfont\psc\scfam\@xiipt{\@mcsc\@magscale1}}%
  749. \def\ly{\fam\lyfam\twlly}\textfont\lyfam\twlly
  750.    \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly
  751.  \@setstrut \rm}
  752.  
  753. \def\@xiipt{}
  754.  
  755. \def\xivpt{\textfont\z@\frtnrm
  756.   \scriptfont\z@\tenrm \scriptscriptfont\z@\sevrm
  757. \textfont\@ne\frtnmi \scriptfont\@ne\tenmi \scriptscriptfont\@ne\sevmi
  758. \textfont\tw@\frtnsy \scriptfont\tw@\tensy \scriptscriptfont\tw@\sevsy
  759. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  760. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  761.           \textfont\@ne\frtnmi \textfont\tw@\frtnsy
  762.           \textfont\lyfam\frtnly \@boldfalse}\@boldfalse
  763. \def\boldmath{\@ifundefined{frtnmib}{\global\font
  764.         \frtnmib\@mbi\@magscale2\global\font\frtnsyb\@mbsy\@magscale2
  765.          \global\font\frtnlyb\@lasyb\@magscale2\relax\@addfontinfo\@xivpt
  766.                {\def\boldmath{\everymath
  767.                 {\mit}\everydisplay{\mit}\@prtct\@nomathbold
  768.               \textfont\@ne\frtnmib \textfont\tw@\frtnsyb
  769.               \textfont\lyfam\frtnlyb\@prtct\@boldtrue}}}{}\@xivpt\boldmath}%
  770. \def\prm{\fam\z@\frtnrm}%
  771. \def\pit{\@getfont\pit\itfam\@xivpt{ptmri at 14pt}}%
  772. \def\psl{\@getfont\psl\slfam\@xivpt{ptmro at 14pt}}%
  773. \def\pbf{\fam\bffam\frtnbf}\textfont\bffam\frtnbf
  774.    \scriptfont\bffam\tenbf \scriptscriptfont\bffam\ninbf
  775. \def\ptt{\@getfont\ptt\ttfam\@xivpt{pcrb at 14pt}\@nohyphens\ptt\@xivpt}%
  776. \def\psf{\@getfont\psf\sffam\@xivpt{\@mss\@magscale2}}%
  777. \def\psc{\@getfont\psc\scfam\@xivpt{\@mcsc\@magscale2}}%
  778. \def\ly{\fam\lyfam\frtnly}\textfont\lyfam\frtnly
  779.    \scriptfont\lyfam\tenly \scriptscriptfont\lyfam\sevly
  780. \@setstrut \rm}
  781.  
  782. \def\@xivpt{}
  783.  
  784. \def\xviipt{\textfont\z@\svtnrm
  785.   \scriptfont\z@\twlrm \scriptscriptfont\z@\tenrm
  786. \textfont\@ne\svtnmi \scriptfont\@ne\twlmi \scriptscriptfont\@ne\tenmi
  787. \textfont\tw@\svtnsy \scriptfont\tw@\twlsy \scriptscriptfont\tw@\tensy
  788. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  789. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  790.           \textfont\@ne\svtnmi \textfont\tw@\svtnsy \textfont\lyfam\svtnly
  791.           \@boldfalse}\@boldfalse
  792. \def\boldmath{\@subfont\boldmath\unboldmath}%
  793. \def\prm{\fam\z@\svtnrm}%
  794. \def\pit{\@getfont\pit\itfam\@xviipt{ptmri at 17pt}}%
  795. \def\psl{\@getfont\psl\slfam\@xviipt{ptmro at 17pt}}%
  796. \def\pbf{\fam\bffam\svtnbf}\textfont\bffam\svtnbf
  797.     \scriptfont\bffam\twlbf \scriptscriptfont\bffam\tenbf
  798. \def\ptt{\@getfont\ptt\ttfam\@xviipt{pcrb at 17pt}\@nohyphens
  799.    \ptt\@xviipt}%
  800. \def\psf{\@getfont\psf\sffam\@xviipt{\@mss\@magscale3}}%
  801. \def\psc{\@getfont\psc\scfam\@xviipt{\@mcsc\@magscale3}}%
  802. \def\ly{\fam\lyfam\svtnly}\textfont\lyfam\svtnly
  803.    \scriptfont\lyfam\twlly   \scriptscriptfont\lyfam\tenly
  804. \@setstrut \rm}
  805.  
  806. \def\@xviipt{}
  807.  
  808. \def\xxpt{\textfont\z@\twtyrm
  809.   \scriptfont\z@\frtnrm \scriptscriptfont\z@\twlrm
  810. \textfont\@ne\twtymi \scriptfont\@ne\frtnmi \scriptscriptfont\@ne\twlmi
  811. \textfont\tw@\twtysy \scriptfont\tw@\frtnsy \scriptscriptfont\tw@\twlsy
  812. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  813. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  814.         \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly
  815.         \@boldfalse}\@boldfalse
  816. \def\boldmath{\@subfont\boldmath\unboldmath}%
  817. \def\prm{\fam\z@\twtyrm}%
  818. \def\pit{\@getfont\pit\itfam\@xxpt{ptmri at 20pt}}%
  819. \def\psl{\@getfont\psl\slfam\@xxpt{ptmro at 20pt}}%
  820. \def\pbf{\@getfont\pbf\bffam\@xxpt{ptmb at 20pt}}%
  821. \def\ptt{\@getfont\ptt\ttfam\@xxpt{pcrb at 20pt}\@nohyphens\ptt\@xxpt}%
  822. \def\psf{\@getfont\psf\sffam\@xxpt{\@mss\@magscale4}}%
  823. \def\psc{\@getfont\psc\scfam\@xxpt{\@mcsc\@magscale4}}%
  824. \def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly
  825.    \scriptfont\lyfam\frtnly \scriptscriptfont\lyfam\twlly
  826. \@setstrut \rm}
  827.  
  828. \def\@xxpt{}
  829.  
  830. \def\xxvpt{\textfont\z@\twfvrm
  831.   \scriptfont\z@\twtyrm \scriptscriptfont\z@\svtnrm
  832. \textfont\@ne\twtymi \scriptfont\@ne\twtymi \scriptscriptfont\@ne\svtnmi
  833. \textfont\tw@\twtysy \scriptfont\tw@\twtysy \scriptscriptfont\tw@\svtnsy
  834. \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  835. \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
  836.         \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly
  837.         \@boldfalse}\@boldfalse
  838. \def\boldmath{\@subfont\boldmath\unboldmath}%
  839. \def\prm{\fam\z@\twfvrm}%
  840. \def\pit{\@subfont\it\rm}%
  841. \def\psl{\@subfont\sl\rm}%
  842. \def\pbf{\@getfont\pbf\bffam\@xxvpt{ptmb at 25pt}}%
  843. \def\ptt{\@subfont\tt\rm}%
  844. \def\psf{\@subfont\sf\rm}%
  845. \def\psc{\@subfont\sc\rm}%
  846. \def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly
  847.    \scriptfont\lyfam\twtyly \scriptscriptfont\lyfam\svtnly
  848. \@setstrut \rm}
  849.  
  850. \def\@xxvpt{}
  851.  
  852. % SPECIAL LaTeX character definitions
  853.  
  854. % Definitions of math operators added by LaTeX
  855. \mathchardef\mho"0A30
  856. \mathchardef\Join"3A31
  857. \mathchardef\Box"0A32
  858. \mathchardef\Diamond"0A33
  859. \mathchardef\leadsto"3A3B
  860. \mathchardef\sqsubset"3A3C
  861. \mathchardef\sqsupset"3A3D
  862. \def\lhd{\mathbin{< \hbox to -.43em{}\hbox{\vrule
  863.       \@width .065em \@height .55em \@depth .05em}\hbox to .2em{}}}
  864. \def\rhd{\mathbin{\hbox to .3em{}\hbox{\vrule \@width .065em \@height
  865.        .55em \@depth .05em}\hbox to -.43em{}>}}
  866. \def\unlhd{\mathbin{\leq \hbox to -.43em{}\hbox
  867.         {\vrule \@width .065em \@height .63em \@depth -.08em}\hbox to .2em{}}}
  868. \def\unrhd{\mathbin{ \hbox to .3em{}\hbox
  869.  {\vrule \@width .065em \@height .63em \@depth -.08em}\hbox to -.43em{}\geq}}
  870.  
  871. % Definition of \$ to work in italic font (since it produces a pound sterling
  872. % sign in the cmit font.
  873.  
  874. \def\${\protect\pdollar}
  875. \def\pdollar{{\ifdim \fontdimen\@ne\font >\z@ \sl \fi\char`\$}}
  876.  
  877. % Definition of pound sterling sign.
  878. % Modified 10 Apr 89 to work in math mode.
  879.  
  880. \def\pounds{\protect\ppounds}
  881. \def\ppounds{\relax\ifmmode\mathchar"424\else{\it \char'44}\fi}
  882.  
  883.  
  884. % Definition of \copyright changed so it works in other type styles,
  885. % and so it is robust
  886. \def\copyright{\protect\pcopyright}
  887. \def\pcopyright{{\rm\ooalign{\hfil
  888.      \raise.07ex\hbox{c}\hfil\crcr\mathhexbox20D}}}
  889.