% 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\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 % 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