summaryrefslogtreecommitdiff
path: root/macros/amstex/amssym.def
blob: ec54408d486c1a9e596d3a44f0b2cc637046af35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
%%% ====================================================================
%%% @TeX-file{
%%%   filename  = "amssym.def",
%%%   version   = "2.2b",
%%%   date      = "2001/07/03",
%%%   time      = "18:56:19 EDT",
%%%   checksum  = "09374 118 447 4725",
%%%   author    = "American Mathematical Society",
%%%   copyright = "Copyright 1994, 2001 American Mathematical Society,
%%%                all rights reserved.  Copying of this file is
%%%                authorized only if either:
%%%                (1) you make absolutely no changes to your copy,
%%%                    including name; OR
%%%                (2) if you do make changes, you first rename it
%%%                    to some other name.",
%%%   address   = "American Mathematical Society,
%%%                Technical Support,
%%%                Publications Technical Group,
%%%                P. O. Box 6248,
%%%                Providence, RI 02940,
%%%                USA",
%%%   telephone = "401-455-4080 or (in the USA and Canada)
%%%                800-321-4AMS (321-4267)",
%%%   FAX       = "401-331-3842",
%%%   email     = "tech-support@ams.org (Internet)",
%%%   codetable = "ISO/ASCII",
%%%   keywords  = "amsfonts, msam, msbm, math symbols",
%%%   supported = "yes",
%%%   abstract  = "This is part of the AMSFonts distribution.
%%%                It contains definitions for accessing the fonts
%%%                msam, msbm and eufm, as well the blackboard bold
%%%                alphabet and a few symbols.",
%%%   docstring = "The checksum field above contains a CRC-16
%%%                checksum as the first value, followed by the
%%%                equivalent of the standard UNIX wc (word
%%%                count) utility output of lines, words, and
%%%                characters.  This is produced by Robert
%%%                Solovay's checksum utility.",
%%%  }
%%% ====================================================================
\expandafter\ifx\csname amssym.def\endcsname\relax \else\endinput\fi
%
%  Store the catcode of the @ in the csname so that it can be restored later.
\expandafter\edef\csname amssym.def\endcsname{%
       \catcode`\noexpand\@=\the\catcode`\@\space}
%  Set the catcode to 11 for use in private control sequence names.
\catcode`\@=11
%
%  Include all definitions related to the fonts msam, msbm and eufm, so that
%  when this file is used by itself, the results with respect to those fonts
%  are equivalent to what they would have been using AMS-TeX.
%  Most symbols in fonts msam and msbm are defined using \newsymbol;
%  however, a few symbols that replace composites defined in plain must be
%  defined with \mathchardef.

\def\undefine#1{\let#1\undefined}
\def\newsymbol#1#2#3#4#5{\let\next@\relax
 \ifnum#2=\@ne\let\next@\msafam@\else
 \ifnum#2=\tw@\let\next@\msbfam@\fi\fi
 \mathchardef#1="#3\next@#4#5}
\def\mathhexbox@#1#2#3{\relax
 \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}%
 \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi}
\def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
 9\or A\or B\or C\or D\or E\or F\fi}

\font\tenmsa=msam10
\font\sevenmsa=msam7
\font\fivemsa=msam5
\newfam\msafam
\textfont\msafam=\tenmsa
\scriptfont\msafam=\sevenmsa
\scriptscriptfont\msafam=\fivemsa
\edef\msafam@{\hexnumber@\msafam}
\mathchardef\dabar@"0\msafam@39
\def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}}
\def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}}
\let\dasharrow\dashrightarrow
\def\ulcorner{\delimiter"4\msafam@70\msafam@70 }
\def\urcorner{\delimiter"5\msafam@71\msafam@71 }
\def\llcorner{\delimiter"4\msafam@78\msafam@78 }
\def\lrcorner{\delimiter"5\msafam@79\msafam@79 }
%    Note that there should not be a final space after the digits for a
%    \mathhexbox@.
\def\yen{{\mathhexbox@\msafam@55}}
\def\checkmark{{\mathhexbox@\msafam@58}}
\def\circledR{{\mathhexbox@\msafam@72}}
\def\maltese{{\mathhexbox@\msafam@7A}}

\font\tenmsb=msbm10
\font\sevenmsb=msbm7
\font\fivemsb=msbm5
\newfam\msbfam
\textfont\msbfam=\tenmsb
\scriptfont\msbfam=\sevenmsb
\scriptscriptfont\msbfam=\fivemsb
\edef\msbfam@{\hexnumber@\msbfam}
\def\Bbb#1{{\fam\msbfam\relax#1}}
\def\widehat#1{\setbox\z@\hbox{$\m@th#1$}%
 \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}%
 \else\mathaccent"0362{#1}\fi}
\def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}%
 \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}%
 \else\mathaccent"0365{#1}\fi}
\font\teneufm=eufm10
\font\seveneufm=eufm7
\font\fiveeufm=eufm5
\newfam\eufmfam
\textfont\eufmfam=\teneufm
\scriptfont\eufmfam=\seveneufm
\scriptscriptfont\eufmfam=\fiveeufm
\def\frak#1{{\fam\eufmfam\relax#1}}
\let\goth\frak

%  Restore the catcode value for @ that was previously saved.
\csname amssym.def\endcsname

\endinput