diff options
Diffstat (limited to 'Master/texmf-dist/tex/csplain/fonts/ams-math.tex')
-rw-r--r-- | Master/texmf-dist/tex/csplain/fonts/ams-math.tex | 509 |
1 files changed, 509 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/csplain/fonts/ams-math.tex b/Master/texmf-dist/tex/csplain/fonts/ams-math.tex new file mode 100644 index 00000000000..9f204220f8d --- /dev/null +++ b/Master/texmf-dist/tex/csplain/fonts/ams-math.tex @@ -0,0 +1,509 @@ +% This file loads AMS math fonts by plainTeX macros +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Petr Olsak, 2012 + +% todo: find bold AMS symbols + +\message{FONT: AMS math fonts - + \string\mathchardef's prepared, 12 math families preloaded.} + +% After \input ams-math +% +% you can use hundreds characters from AMS math fonts +% (see \mathchardefs below). +% By default: - the fonts are loaded at 10/7/5 sizes. +% - variables are typeset by \mit (fam1) +% - digits and \sin, \cos, etc. are typeset by fam0 +% +% You can use the following alphabets: +% \mit ... mathematical variables +% \rm, \it .. text fonts in math +% \bf, \bi .. bold sans fonts (may be different than text fonts) +% \cal ... normal calligraphics +% \script ... script +% \frak ... fraktur +% \bbchar ... double stroked letters +% +% You can reload all math family fonts in two shapes: +% \normalmath ... normal shape +% \boldmath ... bold shape at implicit sizes or sizes set by +% Before reloading the fonts by previous comand you can set the sizes: +% \setmathsizes[text/script/scriptscript] +% Example \setmathsizes[12/8.4/6]\normalmath ... loads fonts at given sizes +% +% You can set typesetting of math variables from current text font +% by the command: \itvariavles. The \mitvariables reverts to the +% default. + +\def\normalmath{% + \loadmathfamily 0 cmr % CM Roman + \loadmathfamily 1 cmmi % CM Math Italic + \loadmathfamily 2 cmsy % CM Standard symbols + \loadmathfamily 3 cmex % CM extra symbols + \loadmathfamily 4 msam % AMS symbols A + \loadmathfamily 5 msbm % AMS symbols B + \loadmathfamily 6 rsfs % script + \loadmathfamily 7 eufm % fractur + \loadmathfamily 8 bfsans % sans serif bold + \loadmathfamily 9 bisans % sans serif bold slanted (for vectors) + \chardef\rmfam 10 \setmathfamily \rmfam \tenrm + \chardef\itfam 11 \setmathfamily \itfam \tenit + \setmathdimens +} +\def\boldmath{% + \loadmathfamily 0 cmbx % CM Roman Bold Extended + \loadmathfamily 1 cmmib % CM Math Italic Bold + \loadmathfamily 2 cmbsy % CM Standard symbols Bold + \loadmathfamily 3 cmexb % CM extra symbols Bold + \loadmathfamily 4 msam % AMS symbols A (bold not available?) + \loadmathfamily 5 msbm % AMS symbols B (bold not available?) + \loadmathfamily 6 rsfs % script (bold not available?) + \loadmathfamily 7 eufb % fractur bold + \loadmathfamily 8 bbfsans % sans serif extra bold + \loadmathfamily 9 bbisans % sans serif extra bold slanted (for vectors) + \chardef\rmfam 10 \setmathfamily \rmfam \tenrm + \chardef\itfam 11 \setmathfamily \itfam \tenit + \setmathdimens +} +\count18=11 % families declared by \newfam are 12, 13, ... + +\let\normalAMSmath=\normalmath \let\boldAMSmath=\boldmath + +\def\bi{\tenbi \fam\bifam} % in csplain is done \def\bi{\tenbi} only +\def\bbchar{\fam5 } % double stroked letters +\def\frak{\fam7 } % fraktur +\def\script{\fam6 } % more extensive script than \cal +\chardef\bffam 8 % sans serif bold +\chardef\bifam 9 % sans serif bold slanted +\chardef\slfam 10 % similar to slanted font from plainTeX +\chardef\ttfam 11 % \tt in math is unusable + +% \regtfm formal-name 0 tfm[1] p[1] tfm[2] p[2] ... tfm[n] * +% +% Imagine the interval [0,\infty) represented here by [0,*) with internal +% points p[i]. Between each two points (measured in pt), there is the name +% of a real tfm metric. The tfm[i] is the result of the expansion-only macro +% \whichtfm{formal-name} iff \dgsize is in the interval [p[i-1], p[i]). +% Example of the usage: \font\foo=\whichtfm{cmr} at\dgsize + +\def\regtfm #1 0 #2 *{\expandafter + \def\csname#1:reg\endcsname{#2 16380 \relax}% + \def\tmpa{#1}\reversetfm #2 * % +} +\def\reversetfm #1 #2 {% we need this data for \setmathfamily + \expandafter\let\csname#1:reg\expandafter\endcsname + \csname\tmpa:reg\endcsname + \if*#2\else \expandafter\reversetfm \fi +} + +\ifx\font\lmfonts \else % lmfonts setting has a precedence + +% CM text fonts which have the CSfont alternative: +\regtfm cmr 0 csr5 5.5 csr6 6.5 csr7 7.5 csr8 8.5 csr9 9.5 + csr10 11.1 csr12 15 csr17 * +\regtfm cmbx 0 csbx5 5.5 csbx6 6.5 csbx7 7.5 csbx8 8.5 csbx9 9.5 + csbx10 11.1 csbx12 * +\regtfm cmsl 0 cssl8 8.5 cssl9 9.5 cssl10 11.1 cssl12 * +\regtfm cmtt 0 cstt8 8.5 cstt9 9.5 cstt10 11.1 cstt12 * +\regtfm cmss 0 csss8 8.5 csss9 9.5 csss10 11.1 csss12 15 csss17 * +\regtfm cmssi 0 csssi8 8.5 csssi9 9.5 csssi10 11.1 csssi12 15 csssi17 * +\regtfm cmti 0 csti7 7.5 csti8 8.5 csti9 9.5 csti10 11.1 csti12 * +\regtfm cmbxti 0 csbxti10 * +% CM math fonts +\regtfm cmmi 0 cmmi5 5.5 cmmi6 6.5 cmmi7 7.5 cmmi8 8.5 cmmi9 9.5 + cmmi10 11.1 cmmi12 * +\regtfm cmmib 0 cmmib5 5.5 cmmib6 6.5 cmmib7 7.5 cmmib8 8.5 cmmib9 + 9.5 cmmib10 * +\regtfm cmtex 0 cstex8 8.5 cstex9 9.5 cstex10 * +\regtfm cmsy 0 cmsy5 5.5 cmsy6 6.5 cmsy7 7.5 cmsy8 8.5 cmsy9 9.5 + cmsy10 * +\regtfm cmbsy 0 cmbsy5 5.5 cmbsy6 6.5 cmbsy7 7.5 cmbsy8 8.5 cmbsy9 9.5 + cmbsy10 * +\regtfm cmex 0 cmex7 7.5 cmex8 8.5 cmex9 9.5 cmex10 * +\regtfm cmexb 0 cmexb10 * +% AMS fonts +\regtfm msam 0 msam5 5.5 msam6 6.5 msam7 7.5 msam8 8.5 msam9 + 9.5 msam10 * +\regtfm msbm 0 msbm5 5.5 msbm6 6.5 msbm7 7.5 msbm8 8.5 msbm9 + 9.5 msbm10 * +\regtfm eufm 0 eufm5 5.5 eufm6 6.5 eufm7 7.5 eufm8 8.5 eufm9 + 9.5 eufm10 * +\regtfm eufb 0 eufb5 5.5 eufb6 6.5 eufb7 7.5 eufb8 8.5 eufb9 + 9.5 eufb10 * +% other fonts +\regtfm rsfs 0 rsfs5 6 rsfs7 8.5 rsfs10 * +\regtfm bfsans 0 ecsx0500 5.5 ecsx0600 6.5 ecsx0700 7.5 ecsx0800 + 8.5 ecsx0900 9.5 ecsx1000 11.1 ecsx1200 * +\regtfm bisans 0 ecso0500 5.5 ecso0600 6.5 ecso0700 7.5 ecso0800 + 8.5 ecso0900 9.5 ecso1000 11.1 ecso1200 * +\regtfm bbfsans 0 ecsx0500 5.5 ecsx0600 6.5 ecsx0700 7.5 ecsx0800 + 8.5 ecsx0900 9.5 ecsx1000 11.1 ecsx1200 * +\regtfm bbisans 0 ecso0500 5.5 ecso0600 6.5 ecso0700 7.5 ecso0800 + 8.5 ecso0900 9.5 ecso1000 11.1 ecso1200 * + +\fi + +% User can re-register these tfm's mentioned above after \input ams-math.tex +% if he/she want to load other fonts than these defaults. + +% The new size of font produced by csplain \resizefont macro would be +% derived using \regtmf data. In order to do this you can re-define this +% csplain macro (see csfontsm.tex file): +% \def\resizefontskipat#1 #2\relax{\whichtfm{#1} \sizespec\relax} +% but now there is a different usage of the \resizefont: +% \def\dgsize{17pt}\def\sizespec{at\dgsize}\resizefont\tenrm + +\ifx\corrmsizes\undefined \def\corrmsizes#1{}\fi % see tx-math for the + % example of \corrmsizes + +%% macros: + +\def\itvariables{\def\rm{\fam\rmfam \tenrm}% + \mathcodechanges A:0-9\mathcodechanges B:A-Z\mathcodechanges B:a-z} +\def\mitvariables{\def\rm{\fam0\tenrm}% + \mathcodechanges 0:0-9\mathcodechanges 1:A-Z\mathcodechanges 1:a-z} + +\def\loadmathfamily #1 #2 {\corrmsizes{#1}% + \let\dgsize=\sizemtext + \font\tmp=\whichtfm{#2} at\dgsize \textfont#1=\tmp + \let\dgsize=\sizemscript + \font\tmp=\whichtfm{#2} at \dgsize \scriptfont#1=\tmp + \let\dgsize=\sizemsscript + \font\tmp=\whichtfm{#2} at\dgsize \scriptscriptfont#1=\tmp + \ptmunit=1pt +} +\def\setmathfamily #1#2{\corrmsizes{#1}% + \let\dgsize=\sizemtext + \font\tmp = \specfontname #2 at\sizemtext \textfont#1=\tmp + \let\dgsize=\sizemscript + \font\tmp = \specfontname #2 at\sizemscript \scriptfont#1=\tmp + \let\dgsize=\sizemsscript + \font\tmp = \specfontname #2 at\sizemsscript \scriptscriptfont#1=\tmp + \ptmunit=1pt +} +\def\specfontname #1{\expandafter \ignoreatpt \fontname #1 \relax} +\def\ignoreatpt #1 #2\relax{\whichtfm{#1}} +\def\mathcodechanges#1:#2-#3{\chardef\tmp=\count0 \chardef\tmpa=\count1 + \count0=`#2 \count1=\count0 \advance\count1 by"7#100 + \loop \mathcode\count0=\count1 + \ifnum\count0<`#3 \advance\count0 by1 \advance\count1 by1 \repeat + \count0=\tmp \count1=\tmpa +} +\def\whichtfm #1{\expandafter \ifx\csname#1:reg\endcsname\relax + #1% + \else + \expandafter\expandafter\expandafter \dowhichtfm + \csname #1:reg\expandafter\endcsname + \fi +} +\def\dowhichtfm #1 #2 {% + \ifdim\dgsize<#2pt #1\expandafter\ignoretfm\else \expandafter\dowhichtfm +\fi +} +\def\ignoretfm #1\relax{} + +\def\setmathdimens{% PlainTeX sets these dimens for 10pt size only: + \delimitershortfall=0.5\fontdimen6\textfont3 + \nulldelimiterspace=0.12\fontdimen6\textfont3 + \scriptspace=0.05\fontdimen6\textfont3 + \skewchar\textfont1=127 \skewchar\scriptfont1=127 + \skewchar\scriptscriptfont1=127 + \skewchar\textfont2=48 \skewchar\scriptfont2=48 + \skewchar\scriptscriptfont2=48 +} + +% \setmathsizes: + +\def\setmathsizes[#1/#2/#3]{% + \def\sizemtext{#1\ptmunit}\def\sizemscript{#2\ptmunit}% + \def\sizemsscript{#3\ptmunit}% +} +\newdimen\ptmunit \ptmunit=1pt % used in \corrmsizes + +\setmathsizes[10/7/5] + +\ifx\tenbi\undefined \font\tenbi=ptmbi8z \relax \fi +\normalmath % load families, normal shape +\mitvariables % \rm in \fam0 and avriables in math by \mit + +%% \mathchardef declarations + +\def\amsafam{4} \def\amsbfam{5} + +%% AMSA + +\mathchardef \boxdot "2\amsafam 00 +\mathchardef \boxplus "2\amsafam 01 +\mathchardef \boxtimes "2\amsafam 02 +\mathchardef \square "0\amsafam 03 +\mathchardef \blacksquare "0\amsafam 04 +\mathchardef \centerdot "2\amsafam 05 +\mathchardef \lozenge "0\amsafam 06 +\mathchardef \blacklozenge "0\amsafam 07 +\mathchardef \circlearrowright "3\amsafam 08 +\mathchardef \circlearrowleft "3\amsafam 09 +\mathchardef \rightleftharpoons "3\amsafam 0A +\mathchardef \leftrightharpoons "3\amsafam 0B +\mathchardef \boxminus "2\amsafam 0C +\mathchardef \Vdash "3\amsafam 0D +\mathchardef \Vvdash "3\amsafam 0E +\mathchardef \vDash "3\amsafam 0F +\mathchardef \twoheadrightarrow "3\amsafam 10 +\mathchardef \twoheadleftarrow "3\amsafam 11 +\mathchardef \leftleftarrows "3\amsafam 12 +\mathchardef \rightrightarrows "3\amsafam 13 +\mathchardef \upuparrows "3\amsafam 14 +\mathchardef \downdownarrows "3\amsafam 15 +\mathchardef \upharpoonright "3\amsafam 16 +\mathchardef \downharpoonright "3\amsafam 17 +\mathchardef \upharpoonleft "3\amsafam 18 +\mathchardef \downharpoonleft "3\amsafam 19 +\mathchardef \rightarrowtail "3\amsafam 1A +\mathchardef \leftarrowtail "3\amsafam 1B +\mathchardef \leftrightarrows "3\amsafam 1C +\mathchardef \rightleftarrows "3\amsafam 1D +\mathchardef \Lsh "3\amsafam 1E +\mathchardef \Rsh "3\amsafam 1F +\mathchardef \rightsquigarrow "3\amsafam 20 +\mathchardef \leftrightsquigarrow "3\amsafam 21 +\mathchardef \looparrowleft "3\amsafam 22 +\mathchardef \looparrowright "3\amsafam 23 +\mathchardef \circeq "3\amsafam 24 +\mathchardef \succsim "3\amsafam 25 +\mathchardef \gtrsim "3\amsafam 26 +\mathchardef \gtrapprox "3\amsafam 27 +\mathchardef \multimap "3\amsafam 28 +\mathchardef \therefore "3\amsafam 29 +\mathchardef \because "3\amsafam 2A +\mathchardef \doteqdot "3\amsafam 2B +\mathchardef \triangleq "3\amsafam 2C +\mathchardef \precsim "3\amsafam 2D +\mathchardef \lesssim "3\amsafam 2E +\mathchardef \lessapprox "3\amsafam 2F +\mathchardef \eqslantless "3\amsafam 30 +\mathchardef \eqslantgtr "3\amsafam 31 +\mathchardef \curlyeqprec "3\amsafam 32 +\mathchardef \curlyeqsucc "3\amsafam 33 +\mathchardef \preccurlyeq "3\amsafam 34 +\mathchardef \leqq "3\amsafam 35 +\mathchardef \leqslant "3\amsafam 36 +\mathchardef \lessgtr "3\amsafam 37 +\mathchardef \backprime "0\amsafam 38 +\mathchardef \risingdotseq "3\amsafam 3A +\mathchardef \fallingdotseq "3\amsafam 3B +\mathchardef \succcurlyeq "3\amsafam 3C +\mathchardef \geqq "3\amsafam 3D +\mathchardef \geqslant "3\amsafam 3E +\mathchardef \gtrless "3\amsafam 3F +\mathchardef \sqsubset "3\amsafam 40 +\mathchardef \sqsupset "3\amsafam 41 +\mathchardef \vartriangleright "3\amsafam 42 +\mathchardef \vartriangleleft "3\amsafam 43 +\mathchardef \trianglerighteq "3\amsafam 44 +\mathchardef \trianglelefteq "3\amsafam 45 +\mathchardef \bigstar "0\amsafam 46 +\mathchardef \between "3\amsafam 47 +\mathchardef \blacktriangledown "0\amsafam 48 +\mathchardef \blacktriangleright "3\amsafam 49 +\mathchardef \blacktriangleleft "3\amsafam 4A +\mathchardef \vartriangle "3\amsafam 4D +\mathchardef \blacktriangle "0\amsafam 4E +\mathchardef \triangledown "0\amsafam 4F +\mathchardef \eqcirc "3\amsafam 50 +\mathchardef \lesseqgtr "3\amsafam 51 +\mathchardef \gtreqless "3\amsafam 52 +\mathchardef \lesseqqgtr "3\amsafam 53 +\mathchardef \gtreqqless "3\amsafam 54 +\mathchardef \Rrightarrow "3\amsafam 56 +\mathchardef \Lleftarrow "3\amsafam 57 +\mathchardef \veebar "2\amsafam 59 +\mathchardef \barwedge "2\amsafam 5A +\mathchardef \doublebarwedge "2\amsafam 5B +\mathchardef \angle "0\amsafam 5C +\mathchardef \measuredangle "0\amsafam 5D +\mathchardef \sphericalangle "0\amsafam 5E +\mathchardef \varpropto "3\amsafam 5F +\mathchardef \smallsmile "3\amsafam 60 +\mathchardef \smallfrown "3\amsafam 61 +\mathchardef \Subset "3\amsafam 62 +\mathchardef \Supset "3\amsafam 63 +\mathchardef \Cup "2\amsafam 64 +\mathchardef \Cap "2\amsafam 65 +\mathchardef \curlywedge "2\amsafam 66 +\mathchardef \curlyvee "2\amsafam 67 +\mathchardef \leftthreetimes "2\amsafam 68 +\mathchardef \rightthreetimes "2\amsafam 69 +\mathchardef \subseteqq "3\amsafam 6A +\mathchardef \supseteqq "3\amsafam 6B +\mathchardef \bumpeq "3\amsafam 6C +\mathchardef \Bumpeq "3\amsafam 6D +\mathchardef \lll "3\amsafam 6E +\mathchardef \ggg "3\amsafam 6F +\def \ulcorner {\delimiter"4\amsafam 70\amsafam 70 } +\def \urcorner {\delimiter"5\amsafam 71\amsafam 71 } +\mathchardef \circledS "0\amsafam 73 +\mathchardef \pitchfork "3\amsafam 74 +\mathchardef \dotplus "2\amsafam 75 +\mathchardef \backsim "3\amsafam 76 +\mathchardef \backsimeq "3\amsafam 77 +\def \llcorner {\delimiter"4\amsafam 78\amsafam 78 } +\def \lrcorner {\delimiter"5\amsafam 79\amsafam 79 } +\mathchardef \complement "0\amsafam 7B +\mathchardef \intercal "2\amsafam 7C +\mathchardef \circledcirc "2\amsafam 7D +\mathchardef \circledast "2\amsafam 7E +\mathchardef \circleddash "2\amsafam 7F +\mathchardef \rhd "2\amsafam 42 +\mathchardef \lhd "2\amsafam 43 +\mathchardef \unrhd "2\amsafam 44 +\mathchardef \unlhd "2\amsafam 45 + + \let\restriction\upharpoonright + \let\Doteq\doteqdot + \let\doublecup\Cup + \let\doublecap\Cap + \let\llless\lll + \let\gggtr\ggg + \let\Box=\square % LaTeX symbol + \let\Box=\square % LaTeX symbol + +%% AMSB + +\mathchardef \lvertneqq "3\amsbfam 00 +\mathchardef \gvertneqq "3\amsbfam 01 +\mathchardef \nleq "3\amsbfam 02 +\mathchardef \ngeq "3\amsbfam 03 +\mathchardef \nless "3\amsbfam 04 +\mathchardef \ngtr "3\amsbfam 05 +\mathchardef \nprec "3\amsbfam 06 +\mathchardef \nsucc "3\amsbfam 07 +\mathchardef \lneqq "3\amsbfam 08 +\mathchardef \gneqq "3\amsbfam 09 +\mathchardef \nleqslant "3\amsbfam 0A +\mathchardef \ngeqslant "3\amsbfam 0B +\mathchardef \lneq "3\amsbfam 0C +\mathchardef \gneq "3\amsbfam 0D +\mathchardef \npreceq "3\amsbfam 0E +\mathchardef \nsucceq "3\amsbfam 0F +\mathchardef \precnsim "3\amsbfam 10 +\mathchardef \succnsim "3\amsbfam 11 +\mathchardef \lnsim "3\amsbfam 12 +\mathchardef \gnsim "3\amsbfam 13 +\mathchardef \nleqq "3\amsbfam 14 +\mathchardef \ngeqq "3\amsbfam 15 +\mathchardef \precneqq "3\amsbfam 16 +\mathchardef \succneqq "3\amsbfam 17 +\mathchardef \precnapprox "3\amsbfam 18 +\mathchardef \succnapprox "3\amsbfam 19 +\mathchardef \lnapprox "3\amsbfam 1A +\mathchardef \gnapprox "3\amsbfam 1B +\mathchardef \nsim "3\amsbfam 1C +\mathchardef \ncong "3\amsbfam 1D +\mathchardef \diagup "0\amsbfam 1E +\mathchardef \diagdown "0\amsbfam 1F +\mathchardef \varsubsetneq "3\amsbfam 20 +\mathchardef \varsupsetneq "3\amsbfam 21 +\mathchardef \nsubseteqq "3\amsbfam 22 +\mathchardef \nsupseteqq "3\amsbfam 23 +\mathchardef \subsetneqq "3\amsbfam 24 +\mathchardef \supsetneqq "3\amsbfam 25 +\mathchardef \varsubsetneqq "3\amsbfam 26 +\mathchardef \varsupsetneqq "3\amsbfam 27 +\mathchardef \subsetneq "3\amsbfam 28 +\mathchardef \supsetneq "3\amsbfam 29 +\mathchardef \nsubseteq "3\amsbfam 2A +\mathchardef \nsupseteq "3\amsbfam 2B +\mathchardef \nparallel "3\amsbfam 2C +\mathchardef \nmid "3\amsbfam 2D +\mathchardef \nshortmid "3\amsbfam 2E +\mathchardef \nshortparallel "3\amsbfam 2F +\mathchardef \nvdash "3\amsbfam 30 +\mathchardef \nVdash "3\amsbfam 31 +\mathchardef \nvDash "3\amsbfam 32 +\mathchardef \nVDash "3\amsbfam 33 +\mathchardef \ntrianglerighteq "3\amsbfam 34 +\mathchardef \ntrianglelefteq "3\amsbfam 35 +\mathchardef \ntriangleleft "3\amsbfam 36 +\mathchardef \ntriangleright "3\amsbfam 37 +\mathchardef \nleftarrow "3\amsbfam 38 +\mathchardef \nrightarrow "3\amsbfam 39 +\mathchardef \nLeftarrow "3\amsbfam 3A +\mathchardef \nRightarrow "3\amsbfam 3B +\mathchardef \nLeftrightarrow "3\amsbfam 3C +\mathchardef \nleftrightarrow "3\amsbfam 3D +\mathchardef \divideontimes "2\amsbfam 3E +\mathchardef \varnothing "0\amsbfam 3F +\mathchardef \nexists "0\amsbfam 40 +\mathchardef \Finv "0\amsbfam 60 +\mathchardef \Game "0\amsbfam 61 +\mathchardef \mho "0\amsbfam 66 +\mathchardef \eth "0\amsbfam 67 +\mathchardef \eqsim "3\amsbfam 68 +\mathchardef \beth "0\amsbfam 69 +\mathchardef \gimel "0\amsbfam 6A +\mathchardef \daleth "0\amsbfam 6B +\mathchardef \lessdot "2\amsbfam 6C +\mathchardef \gtrdot "2\amsbfam 6D +\mathchardef \ltimes "2\amsbfam 6E +\mathchardef \rtimes "2\amsbfam 6F +\mathchardef \shortmid "3\amsbfam 70 +\mathchardef \shortparallel "3\amsbfam 71 +\mathchardef \smallsetminus "2\amsbfam 72 +\mathchardef \thicksim "3\amsbfam 73 +\mathchardef \thickapprox "3\amsbfam 74 +\mathchardef \approxeq "3\amsbfam 75 +\mathchardef \precapprox "3\amsbfam 76 +\mathchardef \succapprox "3\amsbfam 77 +\mathchardef \curvearrowleft "3\amsbfam 78 +\mathchardef \curvearrowright "3\amsbfam 79 +\mathchardef \digamma "0\amsbfam 7A +\mathchardef \varkappa "0\amsbfam 7B +\mathchardef \Bbbk "0\amsbfam 7C +\mathchardef \hslash "0\amsbfam 7D +\mathchardef \hbar "0\amsbfam 7E +\mathchardef \backepsilon "3\amsbfam 7F + +%%% macros + +\def\joinrel{\mathrel{\mkern-2.5mu}} %-3mu in plain TeX + +\let\circledplus\oplus +\let\circledminus\ominus +\let\circledtimes\otimes +\let\circledslash\oslash +\let\circleddot\odot + +%%% \big, \bigg, etc: + +\def\scalebig#1#2{{\left#1\vbox to#2\fontdimen6\textfont3{}% + \kern-\nulldelimiterspace\right.}} +\def\big#1{\scalebig{#1}{.85}} +\def\Big#1{\scalebig{#1}{1.15}} +\def\bigg#1{\scalebig{#1}{1.45}} +\def\Bigg#1{\scalebig{#1}{1.75}} + +%%% \not redefined: +%%% \not< becomes \nless +%%% \not> becomes \ngtr +%%% if \notXXX is defined, \not\XXX becomes \notXXX; +%%% if \nXXX is defined, \not\XXX becomes \nXXX; +%%% otherwise, \not\XXX is done in the usual way. + +\mathchardef \notchar "3236 + +\def\not#1{% + \ifx\TeX\relax \noexpand\not \else % \let\TeX=\relax in \output routine + \ifx #1<\nless \else + \ifx #1>\ngtr \else + \bgroup\escapechar=-1\xdef\tmpn{\string#1}\egroup + \expandafter\ifx \csname not\tmpn\endcsname \relax + \expandafter\ifx \csname n\tmpn\endcsname \relax + \mathrel{\mathord{\notchar}\mathord{#1}}% + \else \csname n\tmpn\endcsname \fi + \else \csname not\tmpn\endcsname \fi + \fi\fi\fi} + +\endinput + +% end of ams-math.tex file + |