From: hardy@golem.ps.uci.edu (Meinhard E. Mayer (Hardy))
Subject: Re: mathematical symbols?
In-reply-to: dej@drsrv1.hmi.de's message of 20 Jul 92 14:25:22 GMT
Newsgroups: comp.text.tex
Organization: Department of Physics, UC Irvine, CA 92717-4575, USA
Date: 24 Jul 92 06:03:59 GMT

Use the AMSFonts (\Bbb) available from e-math.ams.com.
In LaTeX you will need  a style file to load them, such as
msymb.sty:
%		*****	  MSSYMB.TeX	*****		       8 Jul 87
%
%	This file contains the definitions for the symbols in the two
%	"extra symbols" fonts created at the American Math. Society.

\catcode`\@=11

\font\tenmsa=msam10
\font\sevenmsa=msam7
\font\fivemsa=msam5
\font\tenmsb=msbm10
\font\sevenmsb=msbm7
\font\fivemsb=msbm5
\newfam\msafam
\newfam\msbfam
\textfont\msafam=\tenmsa  \scriptfont\msafam=\sevenmsa
  \scriptscriptfont\msafam=\fivemsa
\textfont\msbfam=\tenmsb  \scriptfont\msbfam=\sevenmsb
  \scriptscriptfont\msbfam=\fivemsb

\def\hexnumber@#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or
	A\or B\or C\or D\or E\or F\fi }

%  The following 13 lines establish the use of the Euler Fraktur font.
%  To use this font, remove % from beginning of these lines.
%\font\teneuf=eufm10
%\font\seveneuf=eufm7
%\font\fiveeuf=eufm5
%\newfam\euffam
%\textfont\euffam=\teneuf
%\scriptfont\euffam=\seveneuf
%\scriptscriptfont\euffam=\fiveeuf
%\def\frak{\relaxnext@\ifmmode\let\next\frak@\else
% \def\next{\Err@{Use \string\frak\space only in math mode}}\fi\next}
%\def\goth{\relaxnext@\ifmmode\let\next\frak@\else
% \def\next{\Err@{Use \string\goth\space only in math mode}}\fi\next}
%\def\frak@#1{{\frak@@{#1}}}
%\def\frak@@#1{\noaccents@\fam\euffam#1}
%  End definition of Euler Fraktur font.

\edef\msa@{\hexnumber@\msafam}
\edef\msb@{\hexnumber@\msbfam}

\mathchardef\boxdot="2\msa@00
\mathchardef\boxplus="2\msa@01
\mathchardef\boxtimes="2\msa@02
\mathchardef\square="0\msa@03
\mathchardef\blacksquare="0\msa@04
\mathchardef\centerdot="2\msa@05
\mathchardef\lozenge="0\msa@06
\mathchardef\blacklozenge="0\msa@07
\mathchardef\circlearrowright="3\msa@08
\mathchardef\circlearrowleft="3\msa@09
\mathchardef\rightleftharpoons="3\msa@0A
\mathchardef\leftrightharpoons="3\msa@0B
\mathchardef\boxminus="2\msa@0C
\mathchardef\Vdash="3\msa@0D
\mathchardef\Vvdash="3\msa@0E
\mathchardef\vDash="3\msa@0F
\mathchardef\twoheadrightarrow="3\msa@10
\mathchardef\twoheadleftarrow="3\msa@11
\mathchardef\leftleftarrows="3\msa@12
\mathchardef\rightrightarrows="3\msa@13
\mathchardef\upuparrows="3\msa@14
\mathchardef\downdownarrows="3\msa@15
\mathchardef\upharpoonright="3\msa@16
\let\restriction=\upharpoonright
\mathchardef\downharpoonright="3\msa@17
\mathchardef\upharpoonleft="3\msa@18
\mathchardef\downharpoonleft="3\msa@19
\mathchardef\rightarrowtail="3\msa@1A
\mathchardef\leftarrowtail="3\msa@1B
\mathchardef\leftrightarrows="3\msa@1C
\mathchardef\rightleftarrows="3\msa@1D
\mathchardef\Lsh="3\msa@1E
\mathchardef\Rsh="3\msa@1F
\mathchardef\rightsquigarrow="3\msa@20
\mathchardef\leftrightsquigarrow="3\msa@21
\mathchardef\looparrowleft="3\msa@22
\mathchardef\looparrowright="3\msa@23
\mathchardef\circeq="3\msa@24
\mathchardef\succsim="3\msa@25
\mathchardef\gtrsim="3\msa@26
\mathchardef\gtrapprox="3\msa@27
\mathchardef\multimap="3\msa@28
\mathchardef\therefore="3\msa@29
\mathchardef\because="3\msa@2A
\mathchardef\doteqdot="3\msa@2B
\let\Doteq=\doteqdot
\mathchardef\triangleq="3\msa@2C
\mathchardef\precsim="3\msa@2D
\mathchardef\lesssim="3\msa@2E
\mathchardef\lessapprox="3\msa@2F
\mathchardef\eqslantless="3\msa@30
\mathchardef\eqslantgtr="3\msa@31
\mathchardef\curlyeqprec="3\msa@32
\mathchardef\curlyeqsucc="3\msa@33
\mathchardef\preccurlyeq="3\msa@34
\mathchardef\leqq="3\msa@35
\mathchardef\leqslant="3\msa@36
\mathchardef\lessgtr="3\msa@37
\mathchardef\backprime="0\msa@38
\mathchardef\risingdotseq="3\msa@3A
\mathchardef\fallingdotseq="3\msa@3B
\mathchardef\succcurlyeq="3\msa@3C
\mathchardef\geqq="3\msa@3D
\mathchardef\geqslant="3\msa@3E
\mathchardef\gtrless="3\msa@3F
\mathchardef\sqsubset="3\msa@40
\mathchardef\sqsupset="3\msa@41
\mathchardef\vartriangleright="3\msa@42
\mathchardef\vartriangleleft="3\msa@43
\mathchardef\trianglerighteq="3\msa@44
\mathchardef\trianglelefteq="3\msa@45
\mathchardef\bigstar="0\msa@46
\mathchardef\between="3\msa@47
\mathchardef\blacktriangledown="0\msa@48
\mathchardef\blacktriangleright="3\msa@49
\mathchardef\blacktriangleleft="3\msa@4A
\mathchardef\vartriangle="0\msa@4D
\mathchardef\blacktriangle="0\msa@4E
\mathchardef\triangledown="0\msa@4F
\mathchardef\eqcirc="3\msa@50
\mathchardef\lesseqgtr="3\msa@51
\mathchardef\gtreqless="3\msa@52
\mathchardef\lesseqqgtr="3\msa@53
\mathchardef\gtreqqless="3\msa@54
\mathchardef\Rrightarrow="3\msa@56
\mathchardef\Lleftarrow="3\msa@57
\mathchardef\veebar="2\msa@59
\mathchardef\barwedge="2\msa@5A
\mathchardef\doublebarwedge="2\msa@5B
\mathchardef\angle="0\msa@5C
\mathchardef\measuredangle="0\msa@5D
\mathchardef\sphericalangle="0\msa@5E
\mathchardef\varpropto="3\msa@5F
\mathchardef\smallsmile="3\msa@60
\mathchardef\smallfrown="3\msa@61
\mathchardef\Subset="3\msa@62
\mathchardef\Supset="3\msa@63
\mathchardef\Cup="2\msa@64
\let\doublecup=\Cup
\mathchardef\Cap="2\msa@65
\let\doublecap=\Cap
\mathchardef\curlywedge="2\msa@66
\mathchardef\curlyvee="2\msa@67
\mathchardef\leftthreetimes="2\msa@68
\mathchardef\rightthreetimes="2\msa@69
\mathchardef\subseteqq="3\msa@6A
\mathchardef\supseteqq="3\msa@6B
\mathchardef\bumpeq="3\msa@6C
\mathchardef\Bumpeq="3\msa@6D
\mathchardef\lll="3\msa@6E
\let\llless=\lll
\mathchardef\ggg="3\msa@6F
\let\gggtr=\ggg
\mathchardef\circledS="0\msa@73
\mathchardef\pitchfork="3\msa@74
\mathchardef\dotplus="2\msa@75
\mathchardef\backsim="3\msa@76
\mathchardef\backsimeq="3\msa@77
\mathchardef\complement="0\msa@7B
\mathchardef\intercal="2\msa@7C
\mathchardef\circledcirc="2\msa@7D
\mathchardef\circledast="2\msa@7E
\mathchardef\circleddash="2\msa@7F
\def\ulcorner{\delimiter"4\msa@70\msa@70 }
\def\urcorner{\delimiter"5\msa@71\msa@71 }
\def\llcorner{\delimiter"4\msa@78\msa@78 }
\def\lrcorner{\delimiter"5\msa@79\msa@79 }
\def\yen{\mathhexbox\msa@55 }
\def\checkmark{\mathhexbox\msa@58 }
\def\circledR{\mathhexbox\msa@72 }
\def\maltese{\mathhexbox\msa@7A }
\mathchardef\lvertneqq="3\msb@00
\mathchardef\gvertneqq="3\msb@01
\mathchardef\nleq="3\msb@02
\mathchardef\ngeq="3\msb@03
\mathchardef\nless="3\msb@04
\mathchardef\ngtr="3\msb@05
\mathchardef\nprec="3\msb@06
\mathchardef\nsucc="3\msb@07
\mathchardef\lneqq="3\msb@08
\mathchardef\gneqq="3\msb@09
\mathchardef\nleqslant="3\msb@0A
\mathchardef\ngeqslant="3\msb@0B
\mathchardef\lneq="3\msb@0C
\mathchardef\gneq="3\msb@0D
\mathchardef\npreceq="3\msb@0E
\mathchardef\nsucceq="3\msb@0F
\mathchardef\precnsim="3\msb@10
\mathchardef\succnsim="3\msb@11
\mathchardef\lnsim="3\msb@12
\mathchardef\gnsim="3\msb@13
\mathchardef\nleqq="3\msb@14
\mathchardef\ngeqq="3\msb@15
\mathchardef\precneqq="3\msb@16
\mathchardef\succneqq="3\msb@17
\mathchardef\precnapprox="3\msb@18
\mathchardef\succnapprox="3\msb@19
\mathchardef\lnapprox="3\msb@1A
\mathchardef\gnapprox="3\msb@1B
\mathchardef\nsim="3\msb@1C
%\mathchardef\napprox="3\msb@1D
\mathchardef\ncong="3\msb@1D
\def\napprox{\not\approx}
\mathchardef\varsubsetneq="3\msb@20
\mathchardef\varsupsetneq="3\msb@21
\mathchardef\nsubseteqq="3\msb@22
\mathchardef\nsupseteqq="3\msb@23
\mathchardef\subsetneqq="3\msb@24
\mathchardef\supsetneqq="3\msb@25
\mathchardef\varsubsetneqq="3\msb@26
\mathchardef\varsupsetneqq="3\msb@27
\mathchardef\subsetneq="3\msb@28
\mathchardef\supsetneq="3\msb@29
\mathchardef\nsubseteq="3\msb@2A
\mathchardef\nsupseteq="3\msb@2B
\mathchardef\nparallel="3\msb@2C
\mathchardef\nmid="3\msb@2D
\mathchardef\nshortmid="3\msb@2E
\mathchardef\nshortparallel="3\msb@2F
\mathchardef\nvdash="3\msb@30
\mathchardef\nVdash="3\msb@31
\mathchardef\nvDash="3\msb@32
\mathchardef\nVDash="3\msb@33
\mathchardef\ntrianglerighteq="3\msb@34
\mathchardef\ntrianglelefteq="3\msb@35
\mathchardef\ntriangleleft="3\msb@36
\mathchardef\ntriangleright="3\msb@37
\mathchardef\nleftarrow="3\msb@38
\mathchardef\nrightarrow="3\msb@39
\mathchardef\nLeftarrow="3\msb@3A
\mathchardef\nRightarrow="3\msb@3B
\mathchardef\nLeftrightarrow="3\msb@3C
\mathchardef\nleftrightarrow="3\msb@3D
\mathchardef\divideontimes="2\msb@3E
\mathchardef\varnothing="0\msb@3F
\mathchardef\nexists="0\msb@40
\mathchardef\mho="0\msb@66
\mathchardef\eth="0\msb@67
\mathchardef\eqsim="3\msb@68
\mathchardef\beth="0\msb@69
\mathchardef\gimel="0\msb@6A
\mathchardef\daleth="0\msb@6B
\mathchardef\lessdot="3\msb@6C
\mathchardef\gtrdot="3\msb@6D
\mathchardef\ltimes="2\msb@6E
\mathchardef\rtimes="2\msb@6F
\mathchardef\shortmid="3\msb@70
\mathchardef\shortparallel="3\msb@71
\mathchardef\smallsetminus="2\msb@72
\mathchardef\thicksim="3\msb@73
\mathchardef\thickapprox="3\msb@74
\mathchardef\approxeq="3\msb@75
\mathchardef\succapprox="3\msb@76
\mathchardef\precapprox="3\msb@77
\mathchardef\curvearrowleft="3\msb@78
\mathchardef\curvearrowright="3\msb@79
\mathchardef\digamma="0\msb@7A
\mathchardef\varkappa="0\msb@7B
\mathchardef\hslash="0\msb@7D
\mathchardef\hbar="0\msb@7E
\mathchardef\backepsilon="3\msb@7F
% Use the next 4 lines with AMS-TeX:
%\def\Bbb{\relaxnext@\ifmmode\let\next\Bbb@\else
% \def\next{\Err@{Use \string\Bbb\space only in math mode}}\fi\next}
%\def\Bbb@#1{{\Bbb@@{#1}}}
%\def\Bbb@@#1{\noaccents@\fam\msbfam#1}
% Use the next 4 lines if NOT using AMS-TeX:
\def\Bbb{\ifmmode\let\next\Bbb@\else
 \def\next{\errmessage{Use \string\Bbb\space only in math mode}}\fi\next}
\def\Bbb@#1{{\Bbb@@{#1}}}
\def\Bbb@@#1{\fam\msbfam#1}

\catcode`\@=12

--
Hardy 
-----
Meinhard E. Mayer,  Department of Physics, UC Irvine 
e-mail: hardy@golem.ps.uci.edu (preferred) or MMAYER@UCI.BITNET