summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/font_selection
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/contrib/font_selection')
l---------macros/plain/contrib/font_selection/README1
-rw-r--r--macros/plain/contrib/font_selection/fnts.doc227
-rw-r--r--macros/plain/contrib/font_selection/fnts.tex706
3 files changed, 934 insertions, 0 deletions
diff --git a/macros/plain/contrib/font_selection/README b/macros/plain/contrib/font_selection/README
new file mode 120000
index 0000000000..7255e1cbcc
--- /dev/null
+++ b/macros/plain/contrib/font_selection/README
@@ -0,0 +1 @@
+fnts.doc \ No newline at end of file
diff --git a/macros/plain/contrib/font_selection/fnts.doc b/macros/plain/contrib/font_selection/fnts.doc
new file mode 100644
index 0000000000..091668992f
--- /dev/null
+++ b/macros/plain/contrib/font_selection/fnts.doc
@@ -0,0 +1,227 @@
+FNTS.TEX v3.0 Copyright (c) 1994-1999 Harold W. de Wijn
+
+FONT SELECTION FOR PLAIN TeX, featuring
+- 21 sizes in the range 7 to 154 points;
+- 16 typefaces, including Italic Bold, Calligraphic Bold, Sans Serif, Sans
+ Serif Italic, and Sans Serif Bold;
+- Boldmath, inclusive of subscripts, superscripts, and symbols.
+
+File is provided `as is' with no warranty of any kind.
+
+Please direct comments to the author at H.W.deWijn@phys.uu.nl
+
+
+ *** USAGE ***
+
+\input fnts [\viipt, \viiipt, ..., \fsize0, \fsize{h}, \fsize1, ... ]
+<body of document with further font-size calls as necessary>
+\bye (or \Bye)
+
+
+ *** FONT SIZES ***
+
+Fonts of point size 7, 8, 9, 10, 11, 12, 13, 14, 17, 21, 25, 30, 36, 43,
+52, 62, 74, 89, 107, 128, and 154 are selected by \<roman numeral>pt,
+i.e., \viipt, \viiipt, \ixpt, \xpt, \xipt, \xiipt, \xiiipt, \xivpt,
+\xviipt, \xxipt, \xxvpt, \xxxpt, \xxxvipt, \xliiipt, \liipt, \lxiipt,
+\lxxivpt, \lxxxixpt, \cviipt, \cxxviii, and \cliv. The fonts of size 10
+point and larger follow the customary 10*1.2^n magstep series, with
+additional halfinteger steps for n = 0.5 and 1.5. They may alternatively
+be selected by \fsize{n}, in which n = 0, 0.5, 1, 1.5, 2, ...., 15 is the
+number of magsteps; \fsize{h} is equivalent to \fsize{0.5}, and \fsize{1h}
+equivalent to \fsize{1.5}. Spaces following \fsize{n} are ignored.
+Also note that the {} are optional for integer n < 10, as in \fsize2.
+
+The values delivered by the macro \magstep#1 accordingly extend from 1000
+to 1000*1.2^15 = 15407 for parameter values #1 = 0 up to 15 as follows:
+
+ 0 1000 1 1200 2 1440 3 1728 4 2074
+ 5 2488 6 2986 7 3583 8 4300 9 5160
+ 10 6192 11 7430 12 8916 13 10699 14 12839
+ 15 15407
+
+The macros \magstephalf and \magsteponehalf refer to 0.5 and 1.5 magsteps,
+i.e., the values 1095 and 1314.
+
+The integer \fontscaling assumes the values 700, 800, 900, 1000,
+\magstephalf, \magstep1, \magsteponehalf, \magstep2, ..., \magstep{15}
+according to the font size selected. It may conveniently be used to load
+additional fonts scaled to the same size, e.g., \font\euro=euro scaled
+\fontscaling.
+
+
+ *** TYPEFACES ***
+
+The following typefaces are available in text mode and math mode (T = text
+size, S = script size, SS = scriptscript size; see also the table of font
+families in math mode below):
+
+==========================================================================
+ typeface text math remarks
+ mode mode
+--------------------------------------------------------------------------
+\rm Roman x T S SS
+\mit Math Italic T S SS No need for text mode!
+\oldstyle x T
+ Symbol T S SS Math mode only
+\cal Calligraphic T S SS Math mode only (=symbol)
+\it Text Italic x T
+\sl Slanted Roman x T
+\bf Bold x T S SS
+\tt Typewriter x T
+\sc small caps x Text mode only
+\mib Math Italic Bold T S SS No need for text mode!
+\boldoldstyle x T
+ Symbol Bold T S SS Math mode only
+\boldcal Calligraphic Bold T S SS Math mode only
+\itb Text italic Bold x T
+\sf Sans Serif x T S SS
+\sfi Sans Serif Italic x T S SS
+\sfb Sans Serif Bold x T S SS
+==========================================================================
+
+
+ *** BOLDMATH ***
+
+The macro \boldmath causes TeX to make boldface the default in math mode.
+This includes first-order and second-order subscripts and superscripts.
+Boldmath applies to math italic, greek characters, symbols, and the
+standard mathematical functions, but not to the math extension font.
+\boldmath is achieved by exchanging the font families 0, 1, and 2 for the
+families \bffam, \mibfam, and \sybfam, and vice versa. The macro
+\unboldmath returns math to the standard fonts. \boldmath should be
+called prior to entering math mode, \unboldmath after exiting math mode.
+The Boolean \ifboldmath is true when boldmath is in effect.
+
+\boldmath is designed for boldface composition of all math in a document,
+or, for that matter, part of a document or a complete formula. You may,
+e.g., include \bf\boldmath in macros for headers, to ensure that any
+material in math mode will appear in boldface, as does the material in text
+mode. To compose part of a formula or a single character in boldface, one
+should preferentially rely on \bf for roman and \mib for italic boldface.
+The macro \bmbox#1, which is based on \boldmath, provides a more powerful
+tool, but its use should be restricted to cases where \bf and \mib don't
+work. \bmbox#1 may be used in both text and math modes.
+
+The macros \boldoldstyle and \boldcal produce bold oldstyle numbers and
+bold calligraphic capitals, similarly to \oldstyle and \cal.
+
+
+ *** HEAD AND FOOT LINES ***
+
+The font size of the head and foot lines is defined as the font size first
+selected (usually immediately following \input fnts), with roman the
+default.
+
+
+ *** SCALING OF PARAMETERS, \tightendisplays ***
+
+All of TeX's parameters scale with the font size, with the exception of
+\parindent, \parskip, and the page-size parameters.
+
+For large-size lettering on standard-sized paper, this results in
+unaesthetically wide skips separating the displayed equation from the
+preceding and following text. The macro \tightendisplays#1 reduces the
+height of displays by roughly #1/100 times the baselineskip. Satisfactory
+values of the integer parameter #1 are in the range 0 - 100. A negative
+#1 similarly increases the display height. The display skips may be reset
+to their default values by the command \normaldisplayskips.
+
+
+ *** ADDITIONAL MACROS IN TEXT MODE ***
+
+\Bye % \bye except for omitting page numbering in a single-page
+ document
+\@ % end-of-sentence space after punctuation (\@ must precede the
+ punctuation character; the length of the space depends on the
+ character's \sfcode; suppressed by \frenchspacing)
+\is, \\ % intersentence space (following whatever; suppressed by
+ \frenchspacing; \\ may be redefined without affecting \is)
+\hoursminutes (time in format hh:mm)
+\today
+\vandaag (\today in Dutch)
+\heute (\today in German)
+\aujourdhui (\today in French)
+\dollar
+\pounds
+\copyright
+\GOTOnextoddpage % useful to ensure that material to follow, e.g. the
+\GOTOnextevenpage % next chapter, begins at the top of the next odd or
+ % even page, inserting a blank page if necessary
+
+
+ *** ADDITIONAL MACROS IN MATH MODE ***
+
+\frac#1#2 % fraction
+\csfrac#1#2, \case#1#2 % case fraction (used for small integers)
+\slfrac#1#2 % slanted fraction
+\rdcl % slightly raised radical sign \surd
+\gsim, \gtrsim % greater than or on the order of
+\lsim, \lesssim % smaller than or on the order of
+
+
+ *** FONT FAMILIES IN MATH MODE ***
+
+==========================================================================
+family typeface macro
+(in boldmath)
+--------------------------------------------------------------------------
+FAMILIES ALREADY DEFINED IN plain TeX:
+ 0 (6) Roman \rm
+ 1 (8) Math Italic \mit (math), \oldstyle
+ 2 (9) Symbols \cal (math)
+ 3 Math Extension
+\itfam= 4 Text Italic \it
+\slfam= 5 Slanted Roman \sl
+\bffam= 6 (0) Bold \bf
+\ttfam= 7 Typewriter \tt
+--------------------------------------------------------------------------
+ADDITIONAL FAMILIES:
+\mibfam= 8 (1) Math Italic Bold \mib (math), \boldoldstyle
+\sybfam= 9 (2) Symbol Bold \boldcal (math)
+\itbfam=10 Text Italic Bold \itb
+\sffam= 11 Sans Serif \sf
+\sfifam=12 Sans Serif Italic \sfi
+\sfbfam=13 Sans Serif Bold \sfb
+ 14 -- not used
+ 15 -- not used
+==========================================================================
+
+
+ *** FONTS ***
+
+The fonts, in various magnifications, are the 16 basic Computer Modern
+fonts of plain TeX (marked with *) augmented with Computer Modern fonts
+that come with standard TeX distributions such as emTeX. The font metrics
+should be available in tfm files, and METAFONT should be ready to generate
+the pk files for missing magnifications.
+
+==========================================================================
+Roman cmr5* cmr6 cmr7* cmr8 cmr9 cmr10* cmr12
+Math Italic cmi5* cmi6 cmi7* cmi8 cmi9 cmi10* cmi12
+Symbol cmsy5* cmsy6 cmsy7* cmsy8 cmsy9 cmsy10*
+Math Extension cmex7 cmex8 cmex9 cmex10*
+Text Italic cmti7 cmti8 cmti9 cmti10* cmti12
+Slanted cmsl8 cmsl9 cmsl10* cmsl12
+Bold Extended cmbx5* cmbx6 cmbx7* cmbx8 cmbx9 cmbx10* cmbx12
+Typewriter cmtt8 cmtt9 cmtt10* cmtt12
+Math Italic Bold cmmib5 cmmib6 cmmib7 cmmib8 cmmib9 cmmib10
+Symbol Bold cmbsy5 cmbsy6 cmbsy7 cmbsy8 cmbsy9 cmbsy10
+Text Italic Bold cmbxti10
+Sans Serif cmss8 cmss9 cmss10 cmss12
+Sans Serif Italic cmssi8 cmssi9 cmssi10 cmssi12
+Sans Serif Demi Bold cmssdc10
+Small caps cmcsc8 cmcsc9 cmcsc10
+==========================================================================
+
+The font-selecting macros load the typefaces belonging to a particular
+size. This includes, to the extent requested, the text-mode font, the
+math-mode text font, the math-mode script font, and the math-mode
+scriptscript font (cf. the table of typefaces above). Fonts are called
+only once throughout the document. Their font identifiers are stored for
+later use by global definitions such as \global\def\twelverm=cmr12. The
+fonts marked with an * are preloaded by plain TeX.
+
+ *** END OF FNTS.DOC ***
+
+
diff --git a/macros/plain/contrib/font_selection/fnts.tex b/macros/plain/contrib/font_selection/fnts.tex
new file mode 100644
index 0000000000..62054fa45e
--- /dev/null
+++ b/macros/plain/contrib/font_selection/fnts.tex
@@ -0,0 +1,706 @@
+% FNTS.TEX v3.0 Copyright (c) 1994-1999 Harold W. de Wijn
+%
+% FONT SELECTION FOR PLAIN TeX, featuring
+% - 21 sizes in the range 7 to 154 points;
+% - 16 typefaces, including Italic Bold, Calligraphic Bold, Sans Serif,
+% Sans Serif Italic, and Sans Serif Bold;
+% - Boldmath, inclusive of subscripts, superscripts, and symbols.
+%
+% File is provided `as is' with no warranty of any kind.
+%
+% For documentation see file FNTS.DOC
+%
+% Please direct comments to the author at H.W.deWijn@phys.uu.nl
+
+\message{v3.0 Copyright (c) 1994-1999 Harold W. de Wijn}
+\catcode`@=11
+% Non bis in idem! (Do not read file twice!)
+\ifx\@FONTS\undefined\relax\else\catcode`@=12 \endinput\fi
+
+
+% FAMILIES ALREADY DEFINED IN TeX
+% % family:
+% % 0 roman \rm
+% % 1 math italic \mit (math), \oldstyle
+% % 2 symbols \cal (math)
+% % 3 math extension
+% \newfam\itfam % 4 text italic \it
+% \newfam\slfam % 5 slanted roman \sl
+% \newfam\bffam % 6 boldface \bf
+% \newfam\ttfam % 7 typewriter \tt
+
+% ADDITIONAL FAMILIES
+\newfam\mibfam % 8 math italic bold \mib (math), \boldoldstyle
+\newfam\bsyfam % 9 symbol bold \boldcal (math)
+\newfam\itbfam % 10 text italic bold \itb
+\newfam\sffam % 11 sans serif \sf
+\newfam\sfifam % 12 sans serif italic \sfi
+\newfam\sfbfam % 13 sans serif bold \sfb
+
+
+% MAGSTEP 0 UNTIL 15
+%\def\magstephalf{1095 } % defined in plain TeX
+\def\magsteponehalf{1314 }
+\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\or
+ 2986\or 3583\or 4300\or 5160\or 6192\or 7430\or 8916\or 10699\or
+ 12839\or 15407\fi\relax}
+
+
+% TO SAVE TOKENS
+\def\@height{height} \def\@depth{depth} \def\@width{width}
+\def\@magstep#1{ scaled \magstep{#1}\relax}
+\def\@magstephalf{ scaled \magstephalf\relax}
+\def\@magsteponehalf{ scaled \magsteponehalf\relax}
+\def\@scaled#1{ scaled #1\relax}
+\def\@plus{ plus }
+\def\@minus{ minus }
+
+
+% MODIFICATION OF \raggedright TO INCLUDE AUTOMATIC ADJUSTMENT WITH
+% CHANGE OF FONT SIZE
+\newif\ifr@ggedright % signals subsequent font-size commands
+\newif\ifttr@ggedright % to adjust \raggedright
+\def\raggedright{\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em
+ \r@ggedrighttrue\relax}
+\def\ttraggedright{\tt\rightskip\z@ plus2em\ttr@ggedrighttrue\relax}
+ % for use with \tt only
+
+
+% DEFINITIONS MODIFIED FROM PLAIN TO INCLUDE \xp@ INSTEAD OF \p@
+% \xp@ replaces \p@ and pt to ensure proper scaling with the font size.
+% Note: Scaling \p@ itself, which would have avoided redefinition of the
+% macros below, leads to unpredictable output.
+\newdimen\xp@
+
+\def\vdots{\vbox{\baselineskip4\xp@ \lineskiplimit\z@
+ \kern6\xp@\hbox{.}\hbox{.}\hbox{.}}}
+\def\ddots{\mathinner{\mkern1mu\raise7\xp@\vbox{\kern7\xp@\hbox{.}}\mkern2mu
+ \raise4\xp@\hbox{.}\mkern2mu\raise\xp@\hbox{.}\mkern1mu}}
+
+\def\overrightarrow#1{\vbox{\m@th\ialign{##\crcr
+ \rightarrowfill\crcr\noalign{\kern-\xp@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}
+\def\overleftarrow#1{\vbox{\m@th\ialign{##\crcr
+ \leftarrowfill\crcr\noalign{\kern-\xp@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}
+\def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\xp@}
+ \downbracefill\crcr\noalign{\kern3\xp@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}
+\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
+ $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\xp@\nointerlineskip}
+ \upbracefill\crcr\noalign{\kern3\xp@}}}}\limits}
+
+\def\big#1{{\hbox{$\left#1\vbox to8.5\xp@{}\right.\n@space$}}}
+\def\Big#1{{\hbox{$\left#1\vbox to11.5\xp@{}\right.\n@space$}}}
+\def\bigg#1{{\hbox{$\left#1\vbox to14.5\xp@{}\right.\n@space$}}}
+\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\xp@{}\right.\n@space$}}}
+
+\def\@vereq#1#2{\lower.5\xp@\vbox{\lineskiplimit\maxdimen\lineskip-.5\xp@
+ \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}}
+
+\def\bordermatrix#1{\begingroup \m@th
+ \setbox\z@\vbox{\def\cr{\crcr\noalign{\kern2\xp@\global\let\cr\endline}}%
+ \ialign{$##$\hfil\kern2\xp@\kern\p@renwd&\thinspace\hfil$##$\hfil
+ &&\quad\hfil$##$\hfil\crcr
+ \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}%
+ #1\crcr\omit\strut\cr}}%
+ \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
+ \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
+ \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne
+ \global\setbox\@ne\vbox{\box\@ne\kern2\xp@}%
+ \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}%
+ \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup}
+
+\def\raggedbottom{\topskip 10\xp@ plus60\xp@ \r@ggedbottomtrue}
+\def\normalbottom{\topskip 10\xp@ \r@ggedbottomfalse} % undoes \raggedbottom
+
+\def\endinsert{\egroup % finish the \vbox
+ \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@ \advance\dimen@12\xp@
+ \advance\dimen@\pagetotal \advance\dimen@-\pageshrink
+ \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi
+ \if@mid \bigskip\box\z@\bigbreak
+ \else\insert\topins{\penalty100 % floating insertion
+ \splittopskip\z@skip
+ \splitmaxdepth\maxdimen \floatingpenalty\z@
+ \ifp@ge \dimen@\dp\z@
+ \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
+ \else \box\z@\nobreak\bigskip\fi}\fi\endgroup}
+
+\def\footnoterule{\kern-3\xp@
+ \hrule width 2truein \kern 2.6\xp@} % the \hrule is .4pt high
+
+
+% DEFINITIONS MODIFIED FROM PLAIN TO INCLUDE \xp@ INSTEAD OF pt
+\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}
+ \mkern2.5mu\leaders\hrule height.34\xp@\hfill\mkern2.5mu\crcr}}}}
+\def\rlh@#1{\vcenter{\m@th\hbox{\ooalign{\raise2\xp@
+ \hbox{$#1\rightharpoonup$}\crcr
+ $#1\leftharpoondown$}}}}
+
+
+% MODIFIED FOR THE SAKE OF BOLDMATH (\rm -> \fam\z@)
+\def\log{\mathop{\fam\z@ log}\nolimits}
+\def\lg{\mathop{\fam\z@ lg}\nolimits}
+\def\ln{\mathop{\fam\z@ ln}\nolimits}
+\def\lim{\mathop{\fam\z@ lim}}
+\def\limsup{\mathop{\fam\z@ lim\,sup}}
+\def\liminf{\mathop{\fam\z@ lim\,inf}}
+\def\sin{\mathop{\fam\z@ sin}\nolimits}
+\def\arcsin{\mathop{\fam\z@ arcsin}\nolimits}
+\def\sinh{\mathop{\fam\z@ sinh}\nolimits}
+\def\cos{\mathop{\fam\z@ cos}\nolimits}
+\def\arccos{\mathop{\fam\z@ arccos}\nolimits}
+\def\cosh{\mathop{\fam\z@ cosh}\nolimits}
+\def\tan{\mathop{\fam\z@ tan}\nolimits}
+\def\arctan{\mathop{\fam\z@ arctan}\nolimits}
+\def\tanh{\mathop{\fam\z@ tanh}\nolimits}
+\def\cot{\mathop{\fam\z@ cot}\nolimits}
+\def\coth{\mathop{\fam\z@ coth}\nolimits}
+\def\sec{\mathop{\fam\z@ sec}\nolimits}
+\def\csc{\mathop{\fam\z@ csc}\nolimits}
+\def\max{\mathop{\fam\z@ max}}
+\def\min{\mathop{\fam\z@ min}}
+\def\sup{\mathop{\fam\z@ sup}}
+\def\inf{\mathop{\fam\z@ inf}}
+\def\arg{\mathop{\fam\z@ arg}\nolimits}
+\def\ker{\mathop{\fam\z@ ker}\nolimits}
+\def\dim{\mathop{\fam\z@ dim}\nolimits}
+\def\hom{\mathop{\fam\z@ hom}\nolimits}
+\def\det{\mathop{\fam\z@ det}}
+\def\exp{\mathop{\fam\z@ exp}\nolimits}
+\def\Pr{\mathop{\fam\z@ Pr}}
+\def\gcd{\mathop{\fam\z@ gcd}}
+\def\deg{\mathop{\fam\z@ deg}\nolimits}
+
+\def\bmod{\nonscript\mskip-\medmuskip\mkern5mu
+ \mathbin{\fam\z@ mod}\penalty900\mkern5mu\nonscript\mskip-\medmuskip}
+\def\pmod#1{\allowbreak\mkern18mu({\fam\z@ mod}\,\,#1)}
+
+
+% BUT THE FOLLOWING SHOULD ONLY PARTIALLY SCALE WITH THE FONT SIZE!
+\newdimen\headlineskip
+\newdimen\headlineskipa
+\newdimen\footlineskip
+\def\makeheadline{\vbox to\z@{\vskip-\headlineskip\vskip\topskip
+ \line{\vbox to\headlineskipa{}\the\headline}\vss}\nointerlineskip}
+\def\makefootline{\baselineskip\footlineskip\line{\the\footline}}
+
+
+% FOOTLINE, HEADLINE
+\newif\if@firstsize\@firstsizetrue
+\let\footlinefont\rm % \fam0\tenrm is default
+\footline={\hss\footlinefont\folio\hss}
+% \headline={\footlinefont\hfil} % headline is normally blank
+
+
+% NONZERO DIMENSIONS AND GLUES MODIFIED FROM PLAIN
+\newcount\tightenp@r@meter\tightenp@r@meter=\z@ %default
+\newdimen\yp@
+\def\norm@ldispl@ys{%
+ \abovedisplayskip=12\xp@ \@plus3\xp@ \@minus9\xp@
+ \abovedisplayshortskip=0\xp@ \@plus3\xp@
+ \belowdisplayskip=12\xp@ \@plus3\xp@ \@minus9\xp@
+ \belowdisplayshortskip=7\xp@ \@plus3\xp@ \@minus4\xp@}
+\def\normaldisplays{\tightenp@r@meter=\z@\norm@ldispl@ys}
+\def\tightendisplays#1{%
+ \tightenp@r@meter=#1\norm@ldispl@ys % reset to avoid cumulation
+ \yp@=-\tightenp@r@meter\xp@ \divide\yp@ by 100
+ \ifdim\yp@<\z@
+ \advance\abovedisplayskip 6\yp@ \@minus4.5\yp@ % reducing abilty to
+ \advance\abovedisplayshortskip \yp@ % shrink for positive
+ \advance\belowdisplayskip 6\yp@ \@minus4.5\yp@ % \tightenp@r@meter's
+ \advance\belowdisplayshortskip 3\yp@ \@minus2\yp@
+ \else
+ \advance\abovedisplayskip 6\yp@ % just add white for
+ \advance\abovedisplayshortskip 6\yp@ % negative \tightenp@r@meter's
+ \advance\belowdisplayskip 6\yp@
+ \advance\belowdisplayshortskip 6\yp@
+ \fi}
+\def\s@tdimen{%
+ \delimitershortfall=5\xp@
+ \nulldelimiterspace=1.2\xp@
+ \scriptspace=0.5\xp@
+%%\parindent=20pt % We leave this one!
+%%\parskip=0pt plus 1pt % We leave this one!
+ \ifnum\tightenp@r@meter=\z@\norm@ldispl@ys\else % Default is scaling
+ \tightendisplays\tightenp@r@meter\fi % with font size
+ \topskip=10\xp@
+ \splittopskip=10\xp@
+ \smallskipamount=3\xp@ \@plus1\xp@ \@minus1\xp@
+ \medskipamount=6\xp@ \@plus2\xp@ \@minus2\xp@
+ \bigskipamount=12\xp@ \@plus4\xp@ \@minus4\xp@
+ \normalbaselineskip 12\xp@
+ \normallineskip=1\xp@
+ \jot=3\xp@
+ \setbox\strutbox=\hbox{\vrule \@height8.5\xp@ \@depth3.5\xp@ \@width\z@}%
+ \setbox0=\hbox{$\mathchar"0342$}\p@renwd=\wd0 %equivalent tenex B in TeX
+ \normalbaselines
+% and finally setting \footlinefont, etc
+ \if@firstsize\global\@firstsizefalse
+ \headlineskip15.5pt\advance\headlineskip17\xp@\headlineskipa8.5\xp@
+ \footlineskip15.5pt\advance\footlineskip8.5\xp@
+% To avoid an unpredictable \footline, \fam0\<size>rm associated with
+% the font size called first is included in \footlinefont.
+ \futurelet\footlinefont
+ \fi}
+
+
+% FONT SIZES
+\def\v@{five} \def\vi@{six} \def\vii@{seven}
+\def\viii@{eight} \def\ix@{nine} \def\x@{ten}
+\def\xi@{eleven} \def\xii@{twelve} \def\xiii@{thirteen}
+\def\xiv@{fourteen} \def\xvii@{seventeen} \def\xxi@{twentyone}
+\def\xxv@{twentyfive} \def\xxx@{thirty} \def\xxxvi@{thirtysix}
+\def\xliii@{fortythree} \def\lii@{fiftytwo} \def\lxii@{sixtytwo}
+\def\lxxiv@{seventyfour} \def\lxxxix@{eightynine} \def\cvii@{hundredseven}
+\def\cxxviii@{hundredtwentyeight}
+\def\cliv@{hundredfiftyfour}
+
+
+% ROLL CALL OF FONTS
+%\def\@fiverm{cmr5} % \fiverm defined in plain TeX
+%\def\@fivei{cmmi5} % \fivei defined in plain TeX
+%def\@fivesy{cmsy5} % \fivesy defined in plain TeX
+%\def\@fiveex{cmex7\@scaled{714}} % not needed
+%\def\@fiveit{cmti7\@scaled{714}} % not needed
+%\def\@fivesl{cmsl8\@scaled{625}} % not needed
+%def\@fivebf{cmbx5} % \fivebf defined in plain TeX
+%\def\@fivett{cmtt8\@scaled{625}} % not needed
+\def\@fivemib{cmmib5\skewchar\fivemib='177}
+\def\@fivebsy{cmbsy5}
+%\def\@fiveitb{cmbxti10\@scaled{500}} % not needed
+\def\@fivesf{cmss8\@scaled{625}}
+\def\@fivesfi{cmssi8\@scaled{625}}
+\def\@fivesfb{cmssdc10\@scaled{500}} % does not Metafont well at 300 dpi
+%\def\@fivesc{cmcsc8\@scaled{625}} % not needed
+
+\def\@sixrm{cmr6}
+\def\@sixi{cmmi6\skewchar\sixi='177}
+\def\@sixsy{cmsy6\skewchar\sixsy='60}
+%\def\@sixex{cmex7\@scaled{857}} % not needed
+%\def\@sixit{cmti7\@scaled{857}} % not needed
+%\def\@sixsl{cmsl8\@scaled{750}} % not needed
+\def\@sixbf{cmbx6}
+%\def\@sixtt{cmtt8\@scaled{750}} % not needed
+\def\@sixmib{cmmib6\skewchar\sixmib='177}
+\def\@sixbsy{cmbsy6}
+%\def\@sixitb{cmbxti10\@scaled{600}} % not needed
+\def\@sixsf{cmss8\@scaled{750}}
+\def\@sixsfi{cmssi8\@scaled{750}}
+\def\@sixsfb{cmssdc10\@scaled{600}}
+%\def\@sixsc{cmcsc8\@scaled{750}} % not needed
+
+%\def\@sevenrm{cmr7} % \sevenrm defined in plain TeX
+%\def\@seveni{cmmi7} % \seveni defined in plain TeX
+%def\@sevensy{cmsy7} % \sevensy defined in plain TeX
+\def\@sevenex{cmex7}
+\def\@sevenit{cmti7}
+\def\@sevensl{cmsl8\@scaled{875}}
+%\def\@sevenbf{cmbx7} % \sevenbf defined in plain TeX
+\def\@seventt{cmtt8\@scaled{875}}
+\def\@sevenmib{cmmib7\skewchar\sevenmib='177}
+\def\@sevenbsy{cmbsy7}
+\def\@sevenitb{cmbxti10\@scaled{700}}
+\def\@sevensf{cmss8\@scaled{875}}
+\def\@sevensfi{cmssi8\@scaled{875}}
+\def\@sevensfb{cmssdc10\@scaled{700}}
+\def\@sevensc{cmcsc8\@scaled{875}}
+
+\def\@eightrm{cmr8}
+\def\@eighti{cmmi8\skewchar\eighti='177}
+\def\@eightsy{cmsy8\skewchar\eightsy='60}
+\def\@eightex{cmex8}
+\def\@eightit{cmti8}
+\def\@eightsl{cmsl8}
+\def\@eightbf{cmbx8}
+\def\@eighttt{cmtt8}
+\def\@eightmib{cmmib8\skewchar\eightmib='177}
+\def\@eightbsy{cmbsy8}
+\def\@eightitb{cmbxti10\@scaled{800}}
+\def\@eightsf{cmss8}
+\def\@eightsfi{cmssi8}
+\def\@eightsfb{cmssdc10\@scaled{800}}
+\def\@eightsc{cmcsc8}
+
+\def\@ninerm{cmr9}
+\def\@ninei{cmmi9\skewchar\ninei='177}
+\def\@ninesy{cmsy9\skewchar\ninesy='60}
+\def\@nineex{cmex9}
+\def\@nineit{cmti9}
+\def\@ninesl{cmsl9}
+\def\@ninebf{cmbx9}
+\def\@ninett{cmtt9}
+\def\@ninemib{cmmib9\skewchar\ninemib='177}
+\def\@ninebsy{cmbsy9}
+\def\@nineitb{cmbxti10\@scaled{900}}
+\def\@ninesf{cmss9}
+\def\@ninesfi{cmssi9}
+\def\@ninesfb{cmssdc10\@scaled{900}}
+\def\@ninesc{cmcsc9}
+
+%\def\@tenrm{cmr10} % \tenrm defined in plain TeX
+%\def\@teni{cmmi10} % \teni defined in plain TeX
+%\def\@tensy{cmsy10} % \tensy defined in plain TeX
+%\def\@tenex{cmex10} % \tenex defined in plain TeX
+%\def\@tenit{cmti10} % \tenit defined in plain TeX
+%\def\@tensl{cmsl10} % \tensl defined in plain TeX
+%\def\@tenbf{cmbx10} % \tenbf defined in plain TeX
+%\def\@tentt{cmtt10} % \tentt defined in plain TeX
+\def\@tenmib{cmmib10\skewchar\tenmib='177}
+\def\@tenbsy{cmbsy10}
+\def\@tenitb{cmbxti10}
+\def\@tensf{cmss10}
+\def\@tensfi{cmssi10}
+\def\@tensfb{cmssdc10}
+\def\@tensc{cmcsc10}
+
+\def\@elevenrm{cmr10\@magstephalf}
+\def\@eleveni{cmmi10\@magstephalf\skewchar\eleveni='177}
+\def\@elevensy{cmsy10\@magstephalf\skewchar\elevensy='60}
+\def\@elevenex{cmex10\@magstephalf}
+\def\@elevenit{cmti10\@magstephalf}
+\def\@elevensl{cmsl10\@magstephalf}
+\def\@elevenbf{cmbx10\@magstephalf}
+\def\@eleventt{cmtt10\@magstephalf}
+\def\@elevenmib{cmmib10\@magstephalf\skewchar\elevenmib='177}
+\def\@elevenbsy{cmbsy10\@magstephalf}
+\def\@elevenitb{cmbxti10\@magstephalf}
+\def\@elevensf{cmss10\@magstephalf}
+\def\@elevensfi{cmssi10\@magstephalf}
+\def\@elevensfb{cmssdc10\@magstephalf}
+\def\@elevensc{cmcsc10\@magstephalf}
+
+\def\@twelverm{cmr12}
+\def\@twelvei{cmmi12\skewchar\twelvei='177}
+\def\@twelvesy{cmsy10\@magstep\@ne\skewchar\twelvesy='60}
+\def\@twelveex{cmex10\@magstep\@ne}
+\def\@twelveit{cmti12}
+\def\@twelvesl{cmsl12}
+\def\@twelvebf{cmbx12}
+\def\@twelvett{cmtt12}
+\def\@twelvemib{cmmib10\@magstep\@ne\skewchar\twelvemib='177}
+\def\@twelvebsy{cmbsy10\@magstep\@ne}
+\def\@twelveitb{cmbxti10\@magstep\@ne}
+\def\@twelvesf{cmss12}
+\def\@twelvesfi{cmssi12}
+\def\@twelvesfb{cmssdc10\@magstep\@ne}
+\def\@twelvesc{cmcsc10\@magstep\@ne}
+
+\def\@thirteenrm{cmr12\@magstephalf}
+\def\@thirteeni{cmmi12\@magstephalf\skewchar\thirteeni='177}
+\def\@thirteensy{cmsy10\@magsteponehalf\skewchar\thirteensy='60}
+\def\@thirteenex{cmex10\@magsteponehalf}
+\def\@thirteenit{cmti12\@magstephalf}
+\def\@thirteensl{cmsl12\@magstephalf}
+\def\@thirteenbf{cmbx12\@magstephalf}
+\def\@thirteentt{cmtt12\@magstephalf}
+\def\@thirteenmib{cmmib10\@magsteponehalf\skewchar\thirteenmib='177}
+\def\@thirteenbsy{cmbsy10\@magsteponehalf}
+\def\@thirteenitb{cmbxti10\@magsteponehalf}
+\def\@thirteensf{cmss12\@magstephalf}
+\def\@thirteensfi{cmssi12\@magstephalf}
+\def\@thirteensfb{cmssdc10\@magsteponehalf}
+\def\@thirteensc{cmcsc10\@magsteponehalf}
+
+% The font names \@fourteenrm, \@seventeenrm, \@twentyonerm,
+% \@twentyfiverm, \@thirtyrm, \@thirtysixrm, \@fortythreerm, \@fiftytworm,
+% \@sixtytworm, \@seventyfourrm, \@eightyninerm, \@hundredsevenrm,
+% \@hundredtwentyeightrm, \@hundredfiftyfourrm, and their counterparts for
+% other typefaces are, if necessary, generated by the macro \fontn@mes.
+
+\def\fontn@mes#1#2{% skip if called earlier for this size
+\expandafter\ifx\csname @#1rm\endcsname\relax
+\count@=#2\advance\count@ -1
+\expandafter\edef\csname @#1rm\endcsname{cmr12\@magstep\count@}%
+\expandafter\edef\csname @#1i\endcsname{cmmi12\@magstep\count@%
+ \expandafter\skewchar\csname #1i\endcsname='177}%
+\expandafter\edef\csname @#1sy\endcsname{cmsy10\@magstep{#2}%
+ \expandafter\skewchar\csname #1sy\endcsname='60}%
+\expandafter\edef\csname @#1ex\endcsname{cmex10\@magstep{#2}}%
+\expandafter\edef\csname @#1it\endcsname{cmti12\@magstep\count@}%
+\expandafter\edef\csname @#1sl\endcsname{cmsl12\@magstep\count@}%
+\expandafter\edef\csname @#1bf\endcsname{cmbx12\@magstep\count@}%
+\expandafter\edef\csname @#1tt\endcsname{cmtt12\@magstep\count@}%
+\expandafter\edef\csname @#1mib\endcsname{cmmib10\@magstep{#2}%
+ \expandafter\skewchar\csname #1mib\endcsname='177}%
+\expandafter\edef\csname @#1bsy\endcsname{cmbsy10\@magstep{#2}}%
+\expandafter\edef\csname @#1itb\endcsname{cmbxti10\@magstep{#2}}%
+\expandafter\edef\csname @#1sf\endcsname{cmss12\@magstep\count@}%
+\expandafter\edef\csname @#1sfi\endcsname{cmssi12\@magstep\count@}%
+\expandafter\edef\csname @#1sfb\endcsname{cmssdc10\@magstep{#2}}%
+\expandafter\edef\csname @#1sc\endcsname{cmcsc10\@magstep{#2}}%
+\fi}
+
+
+% FONT-SELECTING MACROS
+\def\FONTID@#1[#2]{\expandafter\ifx\csname #1#2\endcsname\relax
+ \global\expandafter\font\csname #1#2\endcsname
+ =\csname @#1#2\endcsname\fi} % defining font identifier if not yet done
+\def\TSSS@#1[#2]{\FONTID@\@@tf[#2]\FONTID@\@@sf[#2]\FONTID@\@@ssf[#2]%
+ \textfont#1=\csname\@@tf#2\endcsname
+ \scriptfont#1=\csname\@@sf#2\endcsname
+ \scriptscriptfont#1=\csname\@@ssf#2\endcsname}
+\def\T@#1[#2]{\FONTID@\@@tf[#2]%
+ \textfont#1=\csname\@@tf#2\endcsname}
+\def\MATHEX@#1[#2]{\FONTID@\@@tf[#2]%
+ \textfont#1=\csname\@@tf#2\endcsname % no distinction between
+ \scriptfont#1=\csname\@@tf#2\endcsname % T, S, and SS
+ \scriptscriptfont#1=\csname\@@tf#2\endcsname}
+\def\TXT@[#1]{\FONTID@\@@tf[#1]} % Text mode only
+\def\TSSS@@#1[#2]{\textfont#1=\csname\@@tf#2\endcsname % used in boldmath;
+ \scriptfont#1=\csname\@@sf#2\endcsname % same as \TSSS@, except
+ \scriptscriptfont#1=\csname\@@ssf#2\endcsname} % for absence of \FONTID
+
+\newcount\fontscaling
+\newif\ifboldmath
+\def\@FONTS{\ifmmode\@error0\else
+ \TSSS@\z@[rm]%
+ \edef\rm{\fam\z@\csname\@@tf rm\endcsname}%
+ \TSSS@\@ne[i]%
+% \def\mit{\fam\@ne}% already defined in plain TeX
+ \edef\oldstyle{\fam\@ne\csname\@@tf i\endcsname}%
+ \TSSS@\tw@[sy]%
+% \def\cal{\fam\tw@}% already defined in plain TeX
+ \MATHEX@\thr@@[ex]%
+ \T@\itfam[it]%
+ \edef\it{\fam\itfam\csname\@@tf it\endcsname}%
+ \T@\slfam[sl]%
+ \edef\sl{\fam\slfam\csname\@@tf sl\endcsname}%
+ \TSSS@\bffam[bf]%
+ \edef\bf{\fam\bffam\csname\@@tf bf\endcsname}%
+ \T@\ttfam[tt]%
+ \edef\tt{\fam\ttfam\csname\@@tf tt\endcsname}%
+ \TSSS@\mibfam[mib]%
+ \def\mib{\fam\mibfam}% math mode only
+ \edef\boldoldstyle{\fam\mibfam\csname\@@tf mib\endcsname}%
+ \TSSS@\bsyfam[bsy]%
+ \def\boldcal{\fam\bsyfam}% math mode only
+ \T@\itbfam[itb]%
+ \edef\itb{\fam\itbfam\csname\@@tf itb\endcsname}%
+ \TSSS@\sffam[sf]%
+ \edef\sf{\fam\sffam\csname\@@tf sf\endcsname}%
+ \TSSS@\sfifam[sfi]%
+ \edef\sfi{\fam\sfifam\csname\@@tf sfi\endcsname}%
+ \TSSS@\sfbfam[sfb]%
+ \edef\sfb{\fam\sfbfam\csname\@@tf sfb\endcsname}%
+ \TXT@[sc]%
+ \edef\sc{\csname\@@tf sc\endcsname}% text mode only
+ \ifttr@ggedright\ttraggedright\fi
+ % conditionally adjust \ttraggedright to new size
+ \s@tdimen\rm % setting dimensions, roman default
+ \ifr@ggedright\raggedright\fi
+ % conditionally adjust \raggedright to new size
+ \boldmathfalse % family numbers start off normal!
+ \fi}
+
+
+% BOLDMATH
+\def\boldmath{% interchanging families 0,1,2 <-> \bffam,\mibfam,\bsyfam
+ \ifmmode\@error\@ne\else
+ \ifboldmath\@error\tw@\else
+ \TSSS@@\z@[bf]\TSSS@@\@ne[mib]\TSSS@@\tw@[bsy]%
+ \TSSS@@\bffam[rm]\TSSS@@\mibfam[i]\TSSS@@\bsyfam[sy]%
+ \edef\rm{\fam\bffam\csname\@@tf rm\endcsname}%
+ \def\mit{\fam\mibfam}%
+ \edef\oldstyle{\fam\mibfam\csname\@@tf i\endcsname}%
+ \def\cal{\fam\bsyfam}%
+ \edef\bf{\fam\z@\csname\@@tf bf\endcsname}%
+ \def\mib{\fam\@ne}%
+ \edef\boldoldstyle{\fam\@ne\csname\@@tf mib\endcsname}%
+ \def\boldcal{\fam\tw@}%
+ \boldmathtrue
+ \fi\fi}
+\def\unboldmath{% restoring default definitions
+ \ifmmode\@error\@ne\else
+ \ifboldmath
+ \TSSS@@\z@[rm]\TSSS@@\@ne[i]\TSSS@@\tw@[sy]%
+ \TSSS@@\bffam[bf]\TSSS@@\mibfam[mib]\TSSS@@\bsyfam[bsy]%
+ \edef\rm{\fam\z@\csname\@@tf rm\endcsname}%
+ \def\mit{\fam\@ne}%
+ \edef\oldstyle{\fam\@ne\csname\@@tf i\endcsname}%
+ \def\cal{\fam\tw@}%
+ \edef\bf{\fam\bffam\csname\@@tf bf\endcsname}%
+ \def\mib{\fam\mibfam}%
+ \edef\boldoldstyle{\fam\mibfam\csname\@@tf mib\endcsname}%
+ \def\boldcal{\fam\bsyfam}%
+ \boldmathfalse\else
+ \@error\thr@@
+ \fi\fi}
+\def\bmbox#1{\hbox{\ifboldmath\relax\else\boldmath\fi
+ $\m@th\relax #1$}}
+
+
+% FONT-SIZE COMMANDS
+% <roman numeral>pt, roman default
+\def\viipt{\let\@@tf\vii@ \let\@@sf\vi@ \let\@@ssf\v@
+ \xp@=0.7pt \fontscaling=700 \@FONTS}
+\def\viiipt{\let\@@tf\viii@ \let\@@sf\vi@ \let\@@ssf\v@
+ \xp@=0.8pt \fontscaling=800 \@FONTS}
+\def\ixpt{\let\@@tf\ix@ \let\@@sf\vii@ \let\@@ssf\v@
+ \xp@=0.9pt \fontscaling=900 \@FONTS}
+\def\xpt{\let\@@tf\x@ \let\@@sf\vii@ \let\@@ssf\v@
+ \xp@=1pt \fontscaling=\@m \@FONTS}
+\def\xipt{\let\@@tf\xi@ \let\@@sf\viii@ \let\@@ssf\vi@
+ \xp@=1.0955pt \fontscaling=\magstephalf \@FONTS}
+\def\xiipt{\let\@@tf\xii@ \let\@@sf\viii@ \let\@@ssf\vi@
+ \xp@=1.2pt \fontscaling=\magstep\@ne\@FONTS}
+\def\xiiipt{\let\@@tf\xiii@ \let\@@sf\ix@ \let\@@ssf\vii@
+ \xp@=1.3145pt \fontscaling=\magsteponehalf \@FONTS}
+\def\xivpt{\let\@@tf\xiv@ \let\@@sf\x@ \let\@@ssf\vii@
+ \fontn@mes\xiv@\tw@
+ \xp@=1.44pt \fontscaling=\magstep\tw@\@FONTS}
+\def\xviipt{\let\@@tf\xvii@ \let\@@sf\xii@ \let\@@ssf\viii@
+ \fontn@mes\xvii@\thr@@
+ \xp@=1.728pt \fontscaling=\magstep\thr@@\@FONTS}
+\def\xxipt{\let\@@tf\xxi@ \let\@@sf\xiv@ \let\@@ssf\x@
+ \fontn@mes\@@tf{4}\fontn@mes\@@sf\tw@
+ \xp@=2.0736pt \fontscaling=\magstep4\@FONTS}
+\def\xxvpt{\let\@@tf\xxv@ \let\@@sf\xvii@ \let\@@ssf\xii@
+ \fontn@mes\@@tf{5}\fontn@mes\@@sf\thr@@
+ \xp@=2.4883pt \fontscaling=\magstep5\@FONTS}
+\def\xxxpt{\let\@@tf\xxx@ \let\@@sf\xxi@ \let\@@ssf\xiv@
+ \fontn@mes\@@tf{6}\fontn@mes\@@sf{4}\fontn@mes\@@ssf\tw@
+ \xp@=2.9860pt \fontscaling=\magstep6\@FONTS}
+\def\xxxvipt{\let\@@tf\xxxvi@ \let\@@sf\xxv@ \let\@@ssf\xvii@
+ \fontn@mes\@@tf{7}\fontn@mes\@@sf{5}\fontn@mes\@@ssf\thr@@
+ \xp@=3.5832pt \fontscaling=\magstep7\@FONTS}
+\def\xliiipt{\let\@@tf\xliii@ \let\@@sf\xxx@ \let\@@ssf\xxi@
+ \fontn@mes\@@tf{8}\fontn@mes\@@sf{6}\fontn@mes\@@ssf{4}%
+ \xp@=4.2998pt \fontscaling=\magstep8\@FONTS}
+\def\liipt{\let\@@tf\lii@ \let\@@sf\xxxvi@ \let\@@ssf\xxv@
+ \fontn@mes\@@tf{9}\fontn@mes\@@sf{7}\fontn@mes\@@ssf{5}%
+ \xp@=5.1598pt \fontscaling=\magstep9\@FONTS}
+\def\lxiipt{\let\@@tf\lxii@ \let\@@sf\xliii@ \let\@@ssf\xxx@
+ \fontn@mes\@@tf{10}\fontn@mes\@@sf{8}\fontn@mes\@@ssf{6}%
+ \xp@=6.1917pt \fontscaling=\magstep{10}\@FONTS}
+\def\lxxivpt{\let\@@tf\lxxiv@ \let\@@sf\lii@ \let\@@ssf\xxxvi@
+ \fontn@mes\@@tf{11}\fontn@mes\@@sf{9}\fontn@mes\@@ssf{7}%
+ \xp@=7.4301pt \fontscaling=\magstep{11}\@FONTS}
+\def\lxxxixpt{\let\@@tf\lxxxix@ \let\@@sf\lxii@ \let\@@ssf\xliii@
+ \fontn@mes\@@tf{12}\fontn@mes\@@sf{10}\fontn@mes\@@ssf{8}%
+ \xp@=8.9161pt \fontscaling=\magstep{12}\@FONTS}
+\def\cviipt{\let\@@tf\cvii@ \let\@@sf\lxxiv@ \let\@@ssf\lii@
+ \fontn@mes\@@tf{13}\fontn@mes\@@sf{11}\fontn@mes\@@ssf{9}%
+ \xp@=10.6993pt \fontscaling=\magstep{13}\@FONTS}
+\def\cxxviiipt{\let\@@tf\cxxviii@ \let\@@sf\lxxxix@ \let\@@ssf\lxii@
+ \fontn@mes\@@tf{14}\fontn@mes\@@sf{12}\fontn@mes\@@ssf{10}%
+ \xp@=12.8392pt \fontscaling=\magstep{14}\@FONTS}
+\def\clivpt{\let\@@tf\cliv@ \let\@@sf\cvii@ \let\@@ssf\lxxiv@
+ \fontn@mes\@@tf{15}\fontn@mes\@@sf{13}\fontn@mes\@@ssf{11}%
+ \xp@=15.4070pt \fontscaling=\magstep{15}\@FONTS}
+
+% \fsize
+\expandafter\def\csname 0.5@\endcsname{@h@} \def\h@{@h@}
+\expandafter\def\csname 1.5@\endcsname{@hhh@} \def\hhh@{@hhh@}
+\expandafter\def\csname 1h@\endcsname{@hhh@}
+\def\fsize#1{\expandafter\ifx\csname #1@\endcsname\h@ \xipt\else
+ \expandafter\ifx\csname #1@\endcsname\hhh@ \xiiipt\else
+ \ifcase#1 \xpt\or \xiipt\or \xivpt\or \xviipt\or \xxipt\or \xxvpt\or
+ \xxxpt\or \xxxvipt\or \xliiipt\or \liipt\or \lxiipt\or \lxxivpt\or
+ \lxxxixpt\or \cviipt\or \cxxviiipt\or \clivpt \else
+ \@error4\fi\fi\fi\ignorespaces}
+
+
+% ADDITIONAL DEFINITIONS FOR MATH
+\def\frac#1#2{{#1\over #2}}
+\def\csfrac#1#2{\mathchoice % case fraction
+ {{\textstyle{#1\over #2}}}{{#1\over #2}}{{#1\over #2}}{{#1\over #2}}}
+\let\case\csfrac
+\def\slfrac#1#2{\count\z@\fam \count\@ne\fam
+ \ifnum\count\@ne=-1\count\@ne=\z@\fi
+ \def\@g##1##2{\setbox\z@=\hbox{$##1 0$}%
+ \setbox\@ne=\hbox{$\fam\count\z@ ##2/$}%
+ \dimen\z@-\ht\@ne\advance\dimen\z@\dp\@ne
+ \dimen\@ne\ht\@ne\advance\dimen\@ne\dp\@ne
+ \advance\dimen\z@\ht\z@\divide\dimen\z@\tw@
+ \advance\dimen\z@ 0.1065\dimen\@ne
+ \raise0.363\dimen\@ne\hbox{\scriptspace\z@$\fam\count\z@ ##1#1$}%
+ \kern-0.4\wd\@ne\raise\dimen\z@\copy\@ne\kern-0.4\wd\@ne
+ \lower0.15\dimen\@ne\hbox{\scriptspace\z@$\fam\count\z@ ##1#2$}}%
+ \expandafter\ifx\the\scriptscriptfont\count\@ne\nullfont
+ \mathchoice{\@g\scriptstyle\textstyle}{\@g\scriptstyle\textstyle}{XX}{}%
+ \else\mathchoice{\@g\scriptstyle\textstyle}{\@g\scriptstyle\textstyle}%
+ {\@g\scriptscriptstyle\scriptstyle}%
+ {\@g\scriptscriptstyle\scriptscriptstyle}\fi}
+\def\rdcl{\raise\xp@\hbox{$\surd$}}
+\def\gsim{\mathrel{\mathpalette\@vr >}} % greater than or on the order of
+\let\gtrsim\gsim
+\def\lsim{\mathrel{\mathpalette\@vr <}} % smaller than or on the order of
+\let\lesssim\lsim
+\def\@vr#1#2{\lower3.4\xp@\vbox{\baselineskip\z@\lineskiplimit\z@
+ \lineskip 0.8\xp@\ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr\sim\crcr}}}
+
+
+% VARIOUS DEFINITIONS
+\outer\def\Bye{\par\vfill\ifnum\pageno=\@ne\nopagenumbers\fi\supereject\end}
+\def\@{\spacefactor\@m} % end-of-sentence space
+\def\is{\spacefactor=\sfcode`\.{} } % intersentence space
+\def\\{\spacefactor=\sfcode`\.{} \ignorespaces}
+\def\today{\number\day\space
+ \ifcase\month\or January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\year}
+\def\vandaag{\number\day\space
+ \ifcase\month\or januari\or februari\or maart\or april\or mei\or juni\or
+ juli\or augustus\or september\or oktober\or november\or december\fi
+ \space\number\year}
+\def\heute{\number\day.\spacefactor\@m\space
+ \ifcase\month\or Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
+ Juli\or August\or September\or Oktober\or November\or Dezember\fi
+ \space\number\year}
+\def\aujourdhui{\number\day\space
+ \ifcase\month\or janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
+ julliet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi
+ \space\number\year}
+\def\hoursminutes{% Style hh:mm
+ {\count\z@=\time\divide\count\z@ 60 \the\count\z@ \multiply\count\z@ 60
+ \advance\count\z@-\time\count\z@=-\count\z@:\ifnum\count\z@<10 0\fi\the\count\z@}}
+\def\dollar{{\ifdim\fontdimen\@ne\font>\z@ \sl\fi\char`\$}}
+\def\pounds{{\it\char'44}}
+\def\copyright{{\rm\ooalign{\hfil\raise 0.07ex\hbox{c}\kern0.03em\hfil\crcr
+ \ifboldmath\mathhexbox90D\else\mathhexbox20D\fi}}}
+ % Compared to plain TeX, \rm and \ifboldmath added
+\def\GOTOnextoddpage{\vfill\eject\ifodd\count\z@
+ \relax\else\bgroup\nopagenumbers\leavevmode\vfill\eject\egroup\fi}
+\def\GOTOnextevenpage{\vfill\eject\ifodd\count\z@
+ \bgroup\nopagenumbers\leavevmode\vfill\eject\egroup\else\relax\fi}
+
+
+% TYPE PAGES
+% US Letter is default. \hoffset should be (paper_width - \hsize)/2 - 1".
+% If printed page is not horizontally centered, do NOT modify \hoffset.
+% Instead adjust appropriate parameter of printer driver.
+% Comment out next three lines for US Letter
+\hsize157mm \vsize240mm \hoffset1.1mm % A4
+\dimen\footins220mm
+\def\m@g{\mag\count@\hsize157truemm\vsize240truemm\dimen\footins220truemm}
+
+
+% DEFAULT FONT SIZE
+\xpt % 10-points roman default
+\@firstsizetrue % yet first call in document defines size of footline
+
+
+% ERROR MESSAGES
+\def\@error#1{\errmessage{*** \ifcase#1
+\string\fsize\space or \string\viipt, etc. used in math mode\or %0
+\string\boldmath\space c.q. \string\unboldmath\space used in math %1
+ mode\or
+\string\boldmath: boldmath already active\or %2
+\string\unboldmath: boldmath not active\or %3
+Argument of \string\fsize\space invalid\or %4
+\fi\space ***}}
+
+
+% ADDITIONS TO HYPHENATION TABLE
+\count@\language\language=0
+\hyphenation{infra-red infra-struc-ture}
+\language=\count@
+
+\catcode`@=12 % at signs are no longer letters
+
+% END OF FNTS.TEX
+
+