% Filename msbm.sty % Author Alan Jeffrey % E-mail jeffrey@cs.chalmers.se % Last modified 21 Jun 1991 % Copyright 1991 AlanJeffrey. % 24 May 1991: file created. % % 21 Jun 1991: Updated for the new module.sty. % This is the module for importing the AMS B 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\modulemsbmloaded \then \else \iftest \tagisset\newfontselection \then \new@mathgroup\msb@group \define@mathgroup\mv@normal\msb@group{msb}{m}{n} \define@mathgroup\mv@bold\msb@group{msb}{m}{n} \new@fontshape{msb}{m}{n}{% <5>msbm5% <6>msbm6% <7>msbm7% <8>msbm8% <9>msbm9% <10>msbm10% <11>msbm10 at10.95pt% <12>msbm10 at12pt% <14>msbm10 at14.4pt% <17>msbm10 at17.28pt% <20>msbm10 at20.736pt% <25>msbm10 at24.8832pt}{} \else \newfam\msb@group \font\msbmfiv msbm5 \font\msbmsix msbm6 \font\msbmsev msbm7 \font\msbmegt msbm8 \font\msbmnin msbm9 \font\msbmten msbm10 \font\msbmelv msbm10 at10.95pt \font\msbmtwl msbm10 at12pt \font\msbmfrtn msbm10 at14.4pt \font\msbmsvtn msbm10 at17.28pt \font\msbmtwty msbm10 at20.736pt \font\msbmtwfv msbm10 at24.8832pt \@addfontinfo\@vpt{\textfont\msb@group\msbmfiv \scriptfont\msb@group\msbmfiv \scriptscriptfont\msb@group\msbmfiv} \@addfontinfo\@vipt{\textfont\msb@group\msbmsix \scriptfont\msb@group\msbmsix \scriptscriptfont\msb@group\msbmsix} \@addfontinfo\@viipt{\textfont\msb@group\msbmsev \scriptfont\msb@group\msbmsix \scriptscriptfont\msb@group\msbmfiv} \@addfontinfo\@viiipt{\textfont\msb@group\msbmegt \scriptfont\msb@group\msbmsix \scriptscriptfont\msb@group\msbmfiv} \@addfontinfo\@ixpt{\textfont\msb@group\msbmnin \scriptfont\msb@group\msbmsix \scriptscriptfont\msb@group\msbmfiv} \@addfontinfo\@xpt{\textfont\msb@group\msbmten \scriptfont\msb@group\msbmsev \scriptscriptfont\msb@group\msbmfiv} \@addfontinfo\@xipt{\textfont\msb@group\msbmelv \scriptfont\msb@group\msbmsev \scriptscriptfont\msb@group\msbmfiv} \@addfontinfo\@xiipt{\textfont\msb@group\msbmtwl \scriptfont\msb@group\msbmegt \scriptscriptfont\msb@group\msbmsix} \@addfontinfo\@xivpt{\textfont\msb@group\msbmfrtn \scriptfont\msb@group\msbmten \scriptscriptfont\msb@group\msbmsev} \@addfontinfo\@xviipt{\textfont\msb@group\msbmsvtn \scriptfont\msb@group\msbmtwl \scriptscriptfont\msb@group\msbmten} \@addfontinfo\@xxpt{\textfont\msb@group\msbmtwty \scriptfont\msb@group\msbmfrtn \scriptscriptfont\msb@group\msbmtwl} \@addfontinfo\@xxvpt{\textfont\msb@group\msbmtwfv \scriptfont\msb@group\msbmtwty \scriptscriptfont\msb@group\msbmsvtn} \fi \fi % For the rest of the style, ! is the hex number of the family. \catcode`\!\active \edef!{\hexnumber@\msb@group} % Then we load those symbols! \ifdef\then\mathchardef\varnothing"0!3F\fi \ifdef\then\mathchardef\nexists"0!40\fi \ifdef\then\mathchardef\eth"0!67\fi \ifdef\then\mathchardef\beth"0!69\fi \ifdef\then\mathchardef\gimel"0!6A\fi \ifdef\then\mathchardef\daleth"0!6B\fi \ifdef\then\mathchardef\digamma"0!7A\fi \ifdef\then\mathchardef\varkappa"0!7B\fi \ifdef\then\mathchardef\hslash"0!7D\fi \ifdef\then\mathchardef\divideontimes"2!3E\fi \ifdef\then\mathchardef\ltimes"2!6E\fi \ifdef\then\mathchardef\rtimes"2!6F\fi \ifdef\then\mathchardef\smallsetminus"2!72\fi \ifdef\then\mathchardef\lvertneqq"3!00\fi \ifdef\then\mathchardef\gvertneqq"3!01\fi \ifdef\then\mathchardef\nleq"3!02\fi \ifdef\then\mathchardef\ngeq"3!03\fi \ifdef\then\mathchardef\nless"3!04\fi \ifdef\then\mathchardef\ngtr"3!05\fi \ifdef\then\mathchardef\nprec"3!06\fi \ifdef\then\mathchardef\nsucc"3!07\fi \ifdef\then\mathchardef\lneqq"3!08\fi \ifdef\then\mathchardef\gneqq"3!09\fi \ifdef\then\mathchardef\nleqslant"3!0A\fi \ifdef\then\mathchardef\ngeqslant"3!0B\fi \ifdef\then\mathchardef\lneq"3!0C\fi \ifdef\then\mathchardef\gneq"3!0D\fi \ifdef\then\mathchardef\npreceq"3!0E\fi \ifdef\then\mathchardef\nsucceq"3!0F\fi \ifdef\then\mathchardef\precnsim"3!10\fi \ifdef\then\mathchardef\succnsim"3!11\fi \ifdef\then\mathchardef\lnsim"3!12\fi \ifdef\then\mathchardef\gnsim"3!13\fi \ifdef\then\mathchardef\nleqq"3!14\fi \ifdef\then\mathchardef\ngeqq"3!15\fi \ifdef\then\mathchardef\precneqq"3!16\fi \ifdef\then\mathchardef\succneqq"3!17\fi \ifdef\then\mathchardef\precnapprox"3!18\fi \ifdef\then\mathchardef\succnapprox"3!19\fi \ifdef\then\mathchardef\lnapprox"3!1A\fi \ifdef\then\mathchardef\gnapprox"3!1B\fi \ifdef\then\mathchardef\nsim"3!1C\fi \ifdef\then\mathchardef\ncong"3!1D\fi \ifdef\then\mathchardef\varsubsetneq"3!20\fi \ifdef\then\mathchardef\varsupsetneq"3!21\fi \ifdef\then\mathchardef\nsubseteqq"3!22\fi \ifdef\then\mathchardef\nsupseteqq"3!23\fi \ifdef\then\mathchardef\subsetneqq"3!24\fi \ifdef\then\mathchardef\supsetneqq"3!25\fi \ifdef\then\mathchardef\varsubsetneqq"3!26\fi \ifdef\then\mathchardef\varsupsetneqq"3!27\fi \ifdef\then\mathchardef\subsetneq"3!28\fi \ifdef\then\mathchardef\supsetneq"3!29\fi \ifdef\then\mathchardef\nsubseteq"3!2A\fi \ifdef\then\mathchardef\nsupseteq"3!2B\fi \ifdef\then\mathchardef\nparallel"3!2C\fi \ifdef\then\mathchardef\nmid"3!2D\fi \ifdef\then\mathchardef\nshortmid"3!2E\fi \ifdef\then\mathchardef\nshortparallel"3!2F\fi \ifdef\then\mathchardef\nvdash"3!30\fi \ifdef\then\mathchardef\nVdash"3!31\fi \ifdef\then\mathchardef\nvDash"3!32\fi \ifdef\then\mathchardef\nVDash"3!33\fi \ifdef\then\mathchardef\ntrianglerighteq"3!34\fi \ifdef\then\mathchardef\ntrianglelefteq"3!35\fi \ifdef\then\mathchardef\ntriangleleft"3!36\fi \ifdef\then\mathchardef\ntriangleright"3!37\fi \ifdef\then\mathchardef\nleftarrow"3!38\fi \ifdef\then\mathchardef\nrightarrow"3!39\fi \ifdef\then\mathchardef\nLeftarrow"3!3A\fi \ifdef\then\mathchardef\nRightarrow"3!3B\fi \ifdef\then\mathchardef\nLeftrightarrow"3!3C\fi \ifdef\then\mathchardef\nleftrightarrow"3!3D\fi \ifdef\then\mathchardef\eqsim"3!68\fi \ifdef\then\mathchardef\lessdot"3!6C\fi \ifdef\then\mathchardef\gtrdot"3!6D\fi \ifdef\then\mathchardef\shortmid"3!70\fi \ifdef\then\mathchardef\shortparallel"3!71\fi \ifdef\then\mathchardef\thicksim"3!73\fi \ifdef\then\mathchardef\thickapprox"3!74\fi \ifdef\then\mathchardef\approxeq"3!75\fi \ifdef\then\mathchardef\succapprox"3!76\fi \ifdef\then\mathchardef\precapprox"3!77\fi \ifdef\then\mathchardef\curvearrowleft"3!78\fi \ifdef\then\mathchardef\curvearrowright"3!79\fi \ifdef\then\mathchardef\backepsilon"3!7F\fi % Change the catcode of ! back to other. \catcode`\!=12 % A hack from amsfonts.sty to define \Bbb \ifdef\then\def\Bbb{\protect\pBbb} \def\pBbb{\RIfM@\expandafter\Bbb@\else \expandafter\nonmatherr@\expandafter\Bbb\fi} \edef\Bbb@{\noexpand\use@mathgroup \expandafter\noexpand\csname =msb\endcsname \msb@group} \def\RIfM@{\relax\protect\ifmmode} \fi % Set our own name: \settag\modulemsbmloaded % And that's it.