diff options
Diffstat (limited to 'macros/plain/contrib/font_selection')
l--------- | macros/plain/contrib/font_selection/README | 1 | ||||
-rw-r--r-- | macros/plain/contrib/font_selection/fnts.doc | 227 | ||||
-rw-r--r-- | macros/plain/contrib/font_selection/fnts.tex | 706 |
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 + + |