% OFS: The default text families + math families %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Jun 2001 Petr Olsak % You cannot \input this file because this file is \inputted automatically. % See ofsdoc.tex for more details % This file si a part of OFS macro package by Petr Olsak. \expandafter\ifx\csname fam-default\endcsname\relax\else\endinput\fi \expandafter\def\csname fam-default\endcsname{} \ifx\ofsdeclarefamily\undefined \errmessage{You can't \string\input\space the file ofssdef.tex directly from your document% } \endinput \fi %%%% Variant-scaled fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \registertfm cmsy - cmsy10 \registertfm cmsy 0pt-6pt cmsy5 \registertfm cmsy 6pt-7pt cmsy6 \registertfm cmsy 7pt-8pt cmsy7 \registertfm cmsy 8pt-9pt cmsy8 \registertfm cmsy 9pt-10pt cmsy9 \registertfm cmsy 10pt-* cmsy10 \registertfm cmmi - cmmi10 \registertfm cmmi 0pt-6pt cmmi5 \registertfm cmmi 6pt-7pt cmmi6 \registertfm cmmi 7pt-8pt cmmi7 \registertfm cmmi 8pt-9pt cmmi8 \registertfm cmmi 9pt-10pt cmmi9 \registertfm cmmi 10pt-12pt cmmi10 \registertfm cmmi 12pt-* cmmi12 \registertfm cmr8z - csr10 \registertfm cmr8z 0pt-6pt csr5 \registertfm cmr8z 6pt-7pt csr6 \registertfm cmr8z 7pt-8pt csr7 \registertfm cmr8z 8pt-9pt csr8 \registertfm cmr8z 9pt-10pt csr9 \registertfm cmr8z 10pt-12pt csr10 \registertfm cmr8z 12pt-17pt csr12 \registertfm cmr8z 17pt-* csr17 \registertfm cmbx8z - csbx10 \registertfm cmbx8z 0pt-6pt csbx5 \registertfm cmbx8z 6pt-7pt csbx6 \registertfm cmbx8z 7pt-8pt csbx7 \registertfm cmbx8z 8pt-9pt csbx8 \registertfm cmbx8z 9pt-10pt csbx9 \registertfm cmbx8z 10pt-12pt csbx10 \registertfm cmbx8z 12pt-* csbx12 \registertfm cmti8z - csti10 \registertfm cmti8z 0pt-8pt csti7 \registertfm cmti8z 8pt-9pt csti8 \registertfm cmti8z 9pt-10pt csti9 \registertfm cmti8z 10pt-12pt csti10 \registertfm cmti8z 12pt-17pt csti12 \registertfm cmti8z 17pt-* csti17 \registertfm cmbxti8z - csbxti10 \registertfm cmbxti8z 0pt-12pt csbxti10 \registertfm cmbxti8z 12pt-17pt csbxti12 \registertfm cmbxti8z 17pt-* csbxti17 \registertfm cmsl8z - cssl10 \registertfm cmsl8z 0pt-6pt cssl5 \registertfm cmsl8z 6pt-7pt cssl6 \registertfm cmsl8z 7pt-8pt cssl7 \registertfm cmsl8z 8pt-9pt cssl8 \registertfm cmsl8z 9pt-10pt cssl9 \registertfm cmsl8z 10pt-12pt cssl10 \registertfm cmsl8z 12pt-17pt cssl12 \registertfm cmsl8z 17pt-* cssl17 \registertfm cmbxsl8z - csbxsl10 \registertfm cmsltt8z - cssltt10 \registertfm cmss8z - csss10 \registertfm cmss8z 0pt-9pt csss8 \registertfm cmss8z 9pt-10pt csss9 \registertfm cmss8z 10pt-12pt csss10 \registertfm cmss8z 12pt-17pt csss12 \registertfm cmss8z 17pt-* csss17 \registertfm cmssbx8z - csssbx10 \registertfm cmssbx8z 0pt-12pt csssbx10 \registertfm cmssbx8z 12pt-17pt csssbx12 \registertfm cmssbx8z 17pt-* csssbx17 \registertfm cmssi8z - csssi10 \registertfm cmssi8z 0pt-9pt csssi8 \registertfm cmssi8z 9pt-10pt csssi9 \registertfm cmssi8z 10pt-12pt csssi10 \registertfm cmssi8z 12pt-17pt csssi12 \registertfm cmssi8z 17pt-* csssi17 \registertfm cmtt8z - cstt10 \registertfm cmtt8z 0pt-9pt cstt8 \registertfm cmtt8z 9pt-10pt cstt9 \registertfm cmtt8z 10pt-12pt cstt10 \registertfm cmtt8z 12pt-* cstt12 \registertfm cmitt8z - csitt10 \registertfm cmitt8z 0pt-9pt csitt8 \registertfm cmitt8z 9pt-10pt csitt9 \registertfm cmitt8z 10pt-12pt csitt10 \registertfm cmitt8z 12pt-17pt csitt12 \registertfm cmitt8z 17pt-* csitt17 \registertfm cmr8t - dcr10 \registertfm cmbx8t - dcbx10 \registertfm cmti8t - dcti10 \registertfm cmbxti8t - dcbxti10 \registertfm cmsl8t - dcsl10 \registertfm cmss8t - dcss10 \registertfm cmssbx8t - dcssbx10 \registertfm cmssi8t - dcssi10 \registertfm cmtt8t - dctt10 \registertfm cmitt8t - dcitt10 \registertfm cmsltt8t - dcsltt10 % The OFS default choose is no variant-scaled DC fonts for Computer % Modern 8t-encoded fonts. You have two possibilities to \registertfm % in your own macros _after_ OFS is loaded. % Example is given only for name "cmr8t": % % variant-scaled DC fonts: % \registertfm cmr8t 0pt-6pt dcr5 % \registertfm cmr8t 6pt-7pt dcr6 % \registertfm cmr8t 7pt-8pt dcr7 % \registertfm cmr8t 8pt-9pt dcr8 % \registertfm cmr8t 9pt-10pt dcr9 % \registertfm cmr8t 10pt-12pt dcr10 % \registertfm cmr8t 12pt-17pt dcr12 % \registertfm cmr8t 17pt-* dcr17 % % variant-scaled EC fonts: % \registertfm cmr8t - ecrm1000 % \registertfm cmr8t 0pt-6pt ecrm0500 % \registertfm cmr8t 6pt-7pt ecrm0600 % \registertfm cmr8t 7pt-8pt ecrm0700 % \registertfm cmr8t 8pt-9pt ecrm0800 % \registertfm cmr8t 9pt-10pt ecrm0900 % \registertfm cmr8t 10pt-10.95pt ecrm1000 % \registertfm cmr8t 10.95pt-12pt ecrm1095 % \registertfm cmr8t 12pt-14.4pt ecrm1200 % \registertfm cmr8t 14.4pt-17.28pt ecrm1440 % \registertfm cmr8t 17.28pt-20.74pt ecrm1728 % \registertfm cmr8t 20.74pt-24.88pt ecrm2074 % \registertfm cmr8t 24.88pt-29.96pt ecrm2488 % \registertfm cmr8t 29.86pt-35.83pt ecrm2986 % \registertfm cmr8t 35.83pt-* ecrm3583 %%%% Text families %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\setfontshook {\let\TeX=\origTeX} \ofsputfamlist {^^Jdefaults:} \ofsdeclarefamily [CMRoman] {% ------------ Computer Modern Roman \loadtextfam cmr\fotenc;% cmbx\fotenc;% cmti\fotenc;% cmbxti\fotenc;;% \newvariant8 \sl (Slanted) cmsl\fotenc;;% } \ofsdeclarefamily [CMSans] {% ------------- Computer Modern Sans Serif \loadtextfam cmss\fotenc;% cmssbx\fotenc;% cmssi\fotenc;% ;;% BoldItalic variant is missing } \ofsdeclarefamily [CMTypewriter] {% ------- Computer Modern Typewriter \loadtextfam cmtt\fotenc;% ;% Bold variand is missing cmitt\fotenc;% ;;% slanted (BoldItalic variant is missing) \newvariant8 \sl (Slanted) cmsltt\fotenc;;% } \ofsdeclarefamily [Times] {% -------------- Times Roman \loadtextfam (Roman) ptmr\fotenc;% ptmb\fotenc;% ptmri\fotenc;% ptmbi\fotenc;;% \def\TeX{T\kern-.1667em\lower.3333ex\hbox{E}\kern-.125emX}% } \ofsdeclarefamily [Helvetica] {% ---------- Helvetica \loadtextfam phvr\fotenc;% phvb\fotenc;% (Oblique) phvro\fotenc;% (BoldOblique) phvbo\fotenc;;% \newvariant0 \nrm (Narrow) phvr\fotenc n;;% \newvariant1 \nbf (NarrowBold) phvb\fotenc n;;% \newvariant2 \nit (NarrowItalic) phvro\fotenc n;;% \newvariant3 \nbi (NarrowBoldItalic) phvbo\fotenc n;;% \def\TeX{T\kern-.12em\lower.4ex\hbox{E}\kern-0.09emX}% } \registertfm phvr8zn - phvrn8z %% There is a bug in cspsfonts: \registertfm phvb8zn - phvbn8z %% standard metric name: phvr8zn \registertfm phvro8zn - phvron8z %% real metric name: phvrn8z \registertfm phvbo8zn - phvbon8z \ofsdeclarefamily [Courier] {% ------------ Courier \loadtextfam pcrr\fotenc;% pcrb\fotenc;% (Oblique) pcrro\fotenc;% (BoldOblique) pcrbo\fotenc;;% \let\TeX=\origTeX } \registertfm pcrr8z - pcrr8u \registertfm pcrb8z - pcrb8u \registertfm pcrro8z - pcrro8u \registertfm pcrbo8z - pcrbo8u %%%% Math families %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\loadPSnormalmath{% \loadmathfam 0[tenrm/]% Actual Roman font \loadmathfam 1[tenit/]% Actual Italic font \defaultskewchar=48 \loadmathfam 2[/cmsy]% Standard symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM \chardef\itfam=1 \chardef\bifam=5 \loadmathfam \bffam [tenbf/]% Actual Bold font \loadmathfam \bifam [tenbi/]% Actual Bold Italic \newmathfam\symbfam \loadmathfam \symbfam [/psyr]% PostScript Symbol \newmathfam\symbofam \loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique } \def\loadPSboldmath{% \loadmathfam 0[tenbf/]% Actual Bold font \loadmathfam 1[tenbi/]% Actual Bold-Italic font \defaultskewchar=48 \loadmathfam 2[/cmbsy10]% Bold symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM \chardef\itfam=1 \chardef\bifam=1 \loadmathfam \bffam [tenbf/]% Actual Bold font \newmathfam\symbfam \loadmathfam \symbfam [/psyr]% PostScript Symbol \newmathfam\symbofam \loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique } \def\loadCMnormalmath{% \loadmathfam 0[/cmr8z]% Roman font \defaultskewchar=128 \loadmathfam 1[/cmmi]% Math Italic font \defaultskewchar=48 \loadmathfam 2[/cmsy]% Standard symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[/cmex10]% Standard extra symbols from CM \chardef\itfam=4 \noindexsize\loadmathfam \itfam [/cmti8z]% Text Italic \noindexsize\loadmathfam \slfam [/cmsl8z]% Slanted \loadmathfam \bffam [/cmbx8z]% Bold font \noindexsize\loadmathfam \ttfam [/cmtt8z]% TypeWriter } \def\loadCMboldmath{% \loadmathfam 0[/cmbx8z]% Roman font \defaultskewchar=127 \loadmathfam 1[/cmmib10]% Math Italic font \defaultskewchar=48 \loadmathfam 2[/cmbsy10]% Standard symbols from CM \defaultskewchar=-1 \noindexsize\loadmathfam 3[/cmex10]% Standard extra symbols from CM \chardef\itfam=4 \noindexsize\loadmathfam \itfam [/cmbxti8z]% Text Italic \noindexsize\loadmathfam \slfam [/cmbxsl8z]% Slanted \loadmathfam \bffam [/cmbx8z]% Bold font \noindexsize\loadmathfam \ttfam [/cmtt8z]% TypeWriter } \def\setPSmathchars{% \fontmessage{\ofsmessageheader Math codes are set for PS encoding.}% \mathcode`\,="602C \mathcode`\.="002E \mathchardef\ldotp="602E \mathcode`\/="002F \mathcode`\-="2\hex\symbfam 2D \mathcode`\<="3\hex\symbfam 3C \mathcode`\>="3\hex\symbfam 3E \mathcode`\|="0\hex\symbfam 7C % \delcode`\<="\hex\symbfam E130A \delcode`\>="\hex\symbfam F130B \delcode`\|="\hex\symbfam 7C30C % \edef\langle{\delimiter"4\hex\symbfam E130A }% \edef\rangle{\delimiter"5\hex\symbfam F130B }% \edef\lbrace{\delimiter"4\hex\symbfam 7B308 }\let\{=\lbrace \edef\vert {\delimiter"2\hex\symbfam 7C30C }\let\|=\vert \edef\rbrace{\delimiter"5\hex\symbfam 7D309 }\let\}=\rbrace % \def\tmpa{8z}\ifx\fotenc\tmpa \mathaccentdef \acute "7013 \mathaccentdef \bar "7016 \mathaccentdef \breve "7015 \mathaccentdef \check "7014 \mathaccentdef \ddot "707F \mathaccentdef \dot "705F \mathaccentdef \grave "7012 \mathaccentdef \hat "705E \mathaccentdef \tilde "707E \else \mathaccentdef \acute "7001 \mathaccentdef \bar "7009 \mathaccentdef \breve "7008 \mathaccentdef \check "7007 \mathaccentdef \ddot "7004 \mathaccentdef \dot "700A \mathaccentdef \grave "7000 \mathaccentdef \hat "7002 \mathaccentdef \tilde "7003 \fi \let\vec=\overrightarrow % rightarrow accent is not present in Symbol % \mathchardef\alpha "0\hex\symbofam 61 \mathchardef\beta "0\hex\symbofam 62 \mathchardef\gamma "0\hex\symbofam 67 \mathchardef\delta "0\hex\symbofam 64 \mathchardef\epsilon "0\hex\symbofam 65 \mathchardef\zeta "0\hex\symbofam 7A \mathchardef\eta "0\hex\symbofam 68 \mathchardef\theta "0\hex\symbofam 71 \mathchardef\iota "0\hex\symbofam 69 \mathchardef\kappa "0\hex\symbofam 6B \mathchardef\lambda "0\hex\symbofam 6C \mathchardef\mu "0\hex\symbofam 6D \mathchardef\nu "0\hex\symbofam 6E \mathchardef\xi "0\hex\symbofam 78 \mathchardef\pi "0\hex\symbofam 70 \mathchardef\rho "0\hex\symbofam 72 \mathchardef\sigma "0\hex\symbofam 73 \mathchardef\tau "0\hex\symbofam 74 \mathchardef\upsilon "0\hex\symbofam 75 \mathchardef\phi "0\hex\symbofam 66 \mathchardef\chi "0\hex\symbofam 63 \mathchardef\psi "0\hex\symbofam 79 \mathchardef\omega "0\hex\symbofam 77 \let\varepsilon \epsilon \let\vartheta \theta \mathchardef\varpi "0\hex\symbofam 76 \let\varrho \rho \let\varsigma \sigma \let\varphi \phi \mathchardef\Gamma "0\hex\symbfam 47 \mathchardef\Delta "0\hex\symbfam 44 \mathchardef\Theta "0\hex\symbfam 51 \mathchardef\Lambda "0\hex\symbfam 4C \mathchardef\Xi "0\hex\symbfam 58 \mathchardef\Pi "0\hex\symbfam 50 \mathchardef\Sigma "0\hex\symbfam 53 \mathchardef\Upsilon "0\hex\symbfam A1 \mathchardef\Phi "0\hex\symbfam 46 \mathchardef\Psi "0\hex\symbfam 59 \mathchardef\Omega "0\hex\symbfam 57 % \mathchardef\aleph "0\hex\symbfam C0 \def\tmpa{8z}\ifx\fotenc\tmpa \mathchardef\imath "0110 \else \mathchardef\imath "0169 \fi \mathchardef\Re "0\hex\symbfam C2 \mathchardef\Im "0\hex\symbfam C1 \mathchardef\partial "0\hex\symbfam B6 \mathchardef\infty "0\hex\symbfam A5 \mathchardef\emptyset "0\hex\symbfam C6 \mathchardef\nabla "0\hex\symbfam D1 \mathchardef\bot "0\hex\symbfam 5E \mathchardef\forall "0\hex\symbfam 22 \mathchardef\exists "0\hex\symbfam 24 \mathchardef\neg "0\hex\symbfam D8 \let\lnot \neg \mathchardef\clubsuit "0\hex\symbfam A7 \mathchardef\diamondsuit "0\hex\symbfam A8 \mathchardef\heartsuit "0\hex\symbfam A9 \mathchardef\spadesuit "0\hex\symbfam AA % \mathchardef\intop "1\hex\symbfam F2 \mathchardef\prod "1\hex\symbfam D5 \mathchardef\sum "1\hex\symbfam E5 % \mathchardef\wedge "2\hex\symbfam D9 \let\land \wedge \mathchardef\vee "2\hex\symbfam DA \let\lor \vee \mathchardef\cap "2\hex\symbfam C7 \mathchardef\cup "2\hex\symbfam C8 \def\tmpa{8z}\ifx\fotenc\tmpa \mathchardef\ddagger "2082 \mathchardef\dagger "2081 \fi \mathchardef\bullet "2\hex\symbfam B7 \mathchardef\div "2\hex\symbfam B8 \mathchardef\oslash "2\hex\symbfam C6 \mathchardef\otimes "2\hex\symbfam C4 \mathchardef\oplus "2\hex\symbfam C5 \mathchardef\pm "2\hex\symbfam B1 \mathchardef\cdot "2\hex\symbfam D7 \mathchardef\ast "2\hex\symbfam 2A \mathchardef\times "2\hex\symbfam B4 \let\star \ast % \mathchardef\propto "3\hex\symbfam B5 \mathchardef\mid "3\hex\symbfam EF \mathchardef\Leftrightarrow "3\hex\symbfam DB \mathchardef\Leftarrow "3\hex\symbfam DC \mathchardef\Rightarrow "3\hex\symbfam DE \mathchardef\neq "3\hex\symbfam B9 \let\ne \neq \mathchardef\leq "3\hex\symbfam A3 \let\le \leq \mathchardef\geq "3\hex\symbfam B3 \let\ge \geq \mathchardef\approx "3\hex\symbfam BB \mathchardef\supset "3\hex\symbfam C9 \mathchardef\subset "3\hex\symbfam CC \mathchardef\supseteq "3\hex\symbfam CA \mathchardef\subseteq "3\hex\symbfam CD \mathchardef\in "3\hex\symbfam CE \mathchardef\ni "3\hex\symbfam 27 \let\owns \ni \mathchardef\leftrightarrow "3\hex\symbfam AB \mathchardef\leftarrow "3\hex\symbfam AC \let\gets \leftarrow \mathchardef\rightarrow "3\hex\symbfam AE \let\to \rightarrow \mathchardef\sim "3\hex\symbfam 7E \mathchardef\simeq "3\hex\symbfam 40 \mathchardef\perp "3\hex\symbfam 5E \mathchardef\equiv "3\hex\symbfam BA % \def\longrightarrow{\mathrel{\smash{\mathchar"200}}\joinrel\mathchar"3221 }% \def\longleftarrow{\mathchar"3220\joinrel\mathrel{\smash{\mathchar"200}}}% \def\Longrightarrow{\mathrel{\pickmathfont{cmr8z}=}\joinrel\mathchar"3229 }% \def\Longleftarrow{\mathchar"3228\joinrel\mathrel{\pickmathfont{cmr8z}=}}% \def\mapsto{\mapstochar\mathchar"3221 }% \def\longleftrightarrow{\mathchar"3220\joinrel\mathchar"3221 }% \def\Longleftrightarrow{\mathchar"3228\joinrel\mathchar"3229 }% \def\rightarrowfill{$\mathsurround0pt\smash{\mathchar"200}\mkern-7mu% \cleaders\hbox{$\mkern-2mu\smash{\mathchar"200}\mkern-2mu$}\hfill \mkern-7mu\mathchar"221$}% \def\leftarrowfill{$\mathsurround0pt\mathchar"220\mkern-7mu% \cleaders\hbox{$\mkern-2mu\smash{\mathchar"200}\mkern-2mu$}\hfill \mkern-7mu\smash{\mathchar"200}$}% % % The following characters are not present im psyr: % \def\jmath{{\pickmathfont{cmmi}{\char"7C}}}% \def\ell{{\pickmathfont{cmmi}{\char"60}}}% \def\wp{{\pickmathfont{cmmi}{\char"7D}}}% \def\flat{{\pickmathfont{cmmi}{\char"5B}}}% \def\natural{{\pickmathfont{cmmi}{\char"5C}}}% \let\sharp \natural \def\triangleleft{\mathbin{\pickmathfont{cmmi}{\char"2F}}}% \def\triangleright{\mathbin{\pickmathfont{cmmi}{\char"2E}}}% \def\smile{\mathrel{\pickmathfont{cmmi}{\char"5E}}}% \def\frown{\mathrel{\pickmathfont{cmmi}{\char"5F}}}% \def\leftharpoonup{\mathrel{\pickmathfont{cmmi}{\char"28}}}% \def\leftharpoondown{\mathrel{\pickmathfont{cmmi}{\char"29}}}% \def\rightharpoonup{\mathrel{\pickmathfont{cmmi}{\char"2A}}}% \def\rightharpoondown{\mathrel{\pickmathfont{cmmi}{\char"2B}}}% } \let\setCMmathchars=\relax % We suppose that user will never switch from % PS encoding to CM encoding. If it is % false then you have to define many % \mathcode-s and \mathchardef-s in this % macro. See plain.tex for these definitions. %%%% Math defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \fomenc\undefined \def\fomenc{PS}\fi \def\mathversion{normal} \def\defaultmathfonts{% \expandafter \ifx \csname load\fomenc\mathversion math\endcsname \relax \message{\ofsmessageheader WARNING: \string\fomenc=\fomenc\space -- undeclared font-set, I use \string\def\string\fomenc{PS}} \def\fomenc{PS}% \fi \csname load\fomenc\mathversion math\endcsname} \def\defaultmathchars{\csname set\fomenc mathchars\endcsname} \def\mathfonts{\defaultmathfonts} \def\mathchars{\defaultmathchars \let\mathchars=\relax % to protect the twice math-setting } %%%% \dots macro (is defined via math mode in original plain) %%%% \def\dots{.% this dot may be kerned with previous character and it \ifmmode % protects the \dots macro in \halign data \mathinner{\ldotp\ldotp}% \else \ifdim\fontdimen3\font=0pt % may be non-proporcional font ..% \else \kern.5\fontdimen2\font .\kern.5\fontdimen2\font .\kern.5\fontdimen2\font \fi\fi } \endinput