% Filename msam.sty % Author Alan Jeffrey % E-mail jeffrey@cs.chalmers.se % Last modified 21 Jun 1991 % Copyright 1991 AlanJeffrey. % 23 May 1991: file created. % % 21 Jun 1991: Updated for the new module.sty. % This is the module for importing the AMS A symbol font. % It's pretty incomplete at the moment, and specifically doesn't % understand the \substitutesymbols tag. % % But it's a start. \@ifundefined{modulemoduleloaded}{\input module.sty}{} % The first time the module is loaded, we grab the fonts. \iftest \tagisset\modulemsamloaded \then \else \iftest \tagisset\newfontselection \then \new@mathgroup\msa@group \define@mathgroup\mv@normal\msa@group{msa}{m}{n} \define@mathgroup\mv@bold\msa@group{msa}{m}{n} \new@fontshape{msa}{m}{n}{% <5>msam5% <6>msam6% <7>msam7% <8>msam8% <9>msam9% <10>msam10% <11>msam10 at10.95pt% <12>msam10 at12pt% <14>msam10 at14.4pt% <17>msam10 at17.28pt% <20>msam10 at20.736pt% <25>msam10 at24.8832pt}{} \else \newfam\msa@group \font\msamfiv msam5 \font\msamsix msam6 \font\msamsev msam7 \font\msamegt msam8 \font\msamnin msam9 \font\msamten msam10 \font\msamelv msam10 at10.95pt \font\msamtwl msam10 at12pt \font\msamfrtn msam10 at14.4pt \font\msamsvtn msam10 at17.28pt \font\msamtwty msam10 at20.736pt \font\msamtwfv msam10 at24.8832pt \@addfontinfo\@vpt{\textfont\msa@group\msamfiv \scriptfont\msa@group\msamfiv \scriptscriptfont\msa@group\msamfiv} \@addfontinfo\@vipt{\textfont\msa@group\msamsix \scriptfont\msa@group\msamsix \scriptscriptfont\msa@group\msamsix} \@addfontinfo\@viipt{\textfont\msa@group\msamsev \scriptfont\msa@group\msamsix \scriptscriptfont\msa@group\msamfiv} \@addfontinfo\@viiipt{\textfont\msa@group\msamegt \scriptfont\msa@group\msamsix \scriptscriptfont\msa@group\msamfiv} \@addfontinfo\@ixpt{\textfont\msa@group\msamnin \scriptfont\msa@group\msamsix \scriptscriptfont\msa@group\msamfiv} \@addfontinfo\@xpt{\textfont\msa@group\msamten \scriptfont\msa@group\msamsev \scriptscriptfont\msa@group\msamfiv} \@addfontinfo\@xipt{\textfont\msa@group\msamelv \scriptfont\msa@group\msamsev \scriptscriptfont\msa@group\msamfiv} \@addfontinfo\@xiipt{\textfont\msa@group\msamtwl \scriptfont\msa@group\msamegt \scriptscriptfont\msa@group\msamsix} \@addfontinfo\@xivpt{\textfont\msa@group\msamfrtn \scriptfont\msa@group\msamten \scriptscriptfont\msa@group\msamsev} \@addfontinfo\@xviipt{\textfont\msa@group\msamsvtn \scriptfont\msa@group\msamtwl \scriptscriptfont\msa@group\msamten} \@addfontinfo\@xxpt{\textfont\msa@group\msamtwty \scriptfont\msa@group\msamfrtn \scriptscriptfont\msa@group\msamtwl} \@addfontinfo\@xxvpt{\textfont\msa@group\msamtwfv \scriptfont\msa@group\msamtwty \scriptscriptfont\msa@group\msamsvtn} \fi \fi % For the rest of the style, ! is the hex number of the family. \catcode`\!\active \edef!{\hexnumber@\msa@group} % Then we load those symbols! \ifdef\then\mathchardef\square"0!03\fi \ifdef\then\mathchardef\blacksquare"0!04\fi \ifdef\then\mathchardef\lozenge"0!06\fi \ifdef\then\mathchardef\blacklozenge"0!07\fi \ifdef\then\mathchardef\backprime"0!38\fi \ifdef\then\mathchardef\bigstar"0!46\fi \ifdef\then\mathchardef\blacktriangledown"0!48\fi \ifdef\then\mathchardef\blacktriangle"0!4E\fi \ifdef\then\mathchardef\triangledown"0!4F\fi \ifdef\then\mathchardef\measuredangle"0!5D\fi \ifdef\then\mathchardef\sphericalangle"0!5E\fi \ifdef\then\mathchardef\circledS"0!73\fi \ifdef\then\mathchardef\complement"0!7B\fi \ifdef\then\mathchardef\boxdot"2!00\fi \ifdef\then\mathchardef\boxplus"2!01\fi \ifdef\then\mathchardef\boxtimes"2!02\fi \ifdef\then\mathchardef\centerdot"2!05\fi \ifdef\then\mathchardef\boxminus"2!0C\fi \ifdef\then\mathchardef\veebar"2!59\fi \ifdef\then\mathchardef\barwedge"2!5A\fi \ifdef\then\mathchardef\doublebarwedge"2!5B\fi \ifdef\then\mathchardef\Cup"2!64\fi \ifdef\then\mathchardef\doublecup"2!64\fi \ifdef\then\mathchardef\Cap"2!65\fi \ifdef\then\mathchardef\doublecap"2!65\fi \ifdef\then\mathchardef\curlywedge"2!66\fi \ifdef\then\mathchardef\curlyvee"2!67\fi \ifdef\then\mathchardef\leftthreetimes"2!68\fi \ifdef\then\mathchardef\rightthreetimes"2!69\fi \ifdef\then\mathchardef\dotplus"2!75\fi \ifdef\then\mathchardef\intercal"2!7C\fi \ifdef\then\mathchardef\circledcirc"2!7D\fi \ifdef\then\mathchardef\circledast"2!7E\fi \ifdef\then\mathchardef\circleddash"2!7F\fi \ifdef\then\mathchardef\circlearrowright"3!08\fi \ifdef\then\mathchardef\circlearrowleft"3!09\fi \ifdef\then\mathchardef\rightleftharpoons"3!0A\fi \ifdef\then\mathchardef\leftrightharpoons"3!0B\fi \ifdef\then\mathchardef\twoheadrightarrow"3!10\fi \ifdef\then\mathchardef\twoheadleftarrow"3!11\fi \ifdef\then\mathchardef\leftleftarrows"3!12\fi \ifdef\then\mathchardef\rightrightarrows"3!13\fi \ifdef\then\mathchardef\upuparrows"3!14\fi \ifdef\then\mathchardef\downdownarrows"3!15\fi \ifdef\then\mathchardef\upharpoonright"3!16\fi \ifdef\then\mathchardef\restriction"3!16\fi \ifdef\then\mathchardef\downharpoonright"3!17\fi \ifdef\then\mathchardef\upharpoonleft"3!18\fi \ifdef\then\mathchardef\downharpoonleft"3!19\fi \ifdef\then\mathchardef\rightarrowtail"3!1A\fi \ifdef\then\mathchardef\leftarrowtail"3!1B\fi \ifdef\then\mathchardef\leftrightarrows"3!1C\fi \ifdef\then\mathchardef\rightleftarrows"3!1D\fi \ifdef\then\mathchardef\rightsquigarrow"3!20\fi \ifdef\then\mathchardef\leftrightsquigarrow"3!21\fi \ifdef\then\mathchardef\looparrowleft"3!22\fi \ifdef\then\mathchardef\looparrowright"3!23\fi \ifdef\then\mathchardef\Rrightarrow"3!56\fi \ifdef\then\mathchardef\Lleftarrow"3!57\fi \ifdef\then\mathchardef\Vdash"3!0D\fi \ifdef\then\mathchardef\Vvdash"3!0E\fi \ifdef\then\mathchardef\vDash"3!0F\fi \ifdef\then\mathchardef\Lsh"3!1E\fi \ifdef\then\mathchardef\Rsh"3!1F\fi \ifdef\then\mathchardef\circeq"3!24\fi \ifdef\then\mathchardef\succsim"3!25\fi \ifdef\then\mathchardef\gtrsim"3!26\fi \ifdef\then\mathchardef\gtrapprox"3!27\fi \ifdef\then\mathchardef\multimap"3!28\fi \ifdef\then\mathchardef\therefore"3!29\fi \ifdef\then\mathchardef\because"3!2A\fi \ifdef\then\mathchardef\doteqdot"3!2B\fi \ifdef\then\mathchardef\Doteq"3!2B\fi \ifdef\then\mathchardef\triangleq"3!2C\fi \ifdef\then\mathchardef\precsim"3!2D\fi \ifdef\then\mathchardef\lesssim"3!2E\fi \ifdef\then\mathchardef\lessapprox"3!2F\fi \ifdef\then\mathchardef\eqslantless"3!30\fi \ifdef\then\mathchardef\eqslantgtr"3!31\fi \ifdef\then\mathchardef\curlyeqprec"3!32\fi \ifdef\then\mathchardef\curlyeqsucc"3!33\fi \ifdef\then\mathchardef\preccurlyeq"3!34\fi \ifdef\then\mathchardef\leqq"3!35\fi \ifdef\then\mathchardef\leqslant"3!36\fi \ifdef\then\mathchardef\lessgtr"3!37\fi \ifdef\then\mathchardef\risingdotseq"3!3A\fi \ifdef\then\mathchardef\fallingdotseq"3!3B\fi \ifdef\then\mathchardef\succcurlyeq"3!3C\fi \ifdef\then\mathchardef\geqq"3!3D\fi \ifdef\then\mathchardef\geqslant"3!3E\fi \ifdef\then\mathchardef\gtrless"3!3F\fi \ifdef\then\mathchardef\vartriangleright"3!42\fi \ifdef\then\mathchardef\vartriangleleft"3!43\fi \ifdef\then\mathchardef\trianglerighteq"3!44\fi \ifdef\then\mathchardef\trianglelefteq"3!45\fi \ifdef\then\mathchardef\between"3!47\fi \ifdef\then\mathchardef\blacktriangleright"3!49\fi \ifdef\then\mathchardef\blacktriangleleft"3!4A\fi \ifdef\then\mathchardef\vartriangle"3!4D\fi \ifdef\then\mathchardef\eqcirc"3!50\fi \ifdef\then\mathchardef\lesseqgtr"3!51\fi \ifdef\then\mathchardef\gtreqless"3!52\fi \ifdef\then\mathchardef\lesseqqgtr"3!53\fi \ifdef\then\mathchardef\gtreqqless"3!54\fi \ifdef\then\mathchardef\varpropto"3!5F\fi \ifdef\then\mathchardef\smallsmile"3!60\fi \ifdef\then\mathchardef\smallfrown"3!61\fi \ifdef\then\mathchardef\Subset"3!62\fi \ifdef\then\mathchardef\Supset"3!63\fi \ifdef\then\mathchardef\subseteqq"3!6A\fi \ifdef\then\mathchardef\supseteqq"3!6B\fi \ifdef\then\mathchardef\bumpeq"3!6C\fi \ifdef\then\mathchardef\Bumpeq"3!6D\fi \ifdef\then\mathchardef\lll"3!6E\fi \ifdef\then\mathchardef\llless"3!6E\fi \ifdef\then\mathchardef\ggg"3!6F\fi \ifdef\then\mathchardef\gggtr"3!6F\fi \ifdef\then\mathchardef\pitchfork"3!74\fi \ifdef\then\mathchardef\backsim"3!76\fi \ifdef\then\mathchardef\backsimeq"3!77\fi % Change the catcode of ! back to other. \catcode`\!=12 % Set our own name: \settag\modulemsamloaded % And that's it.