1
2
3
4
5
6
7
8
9
10
11
12
13
14\writestatus{loading}{ConTeXt Math Macros Large Operators}
15
16
17
18
19
20
21
22\unprotect
23
24\installcorenamespace{mathoperators}
25\installcorenamespace{mathoperatormethod}
26
27\mathlimitsmode\plusone
28
29\installcommandhandler \??mathoperators {mathoperator} \??mathoperators
30
31\setupmathoperator
32 [\c!left=\zerocount,
33 \c!mathclass=\mathoperatorcode]
34
35\aliased\let\setupmathoperators\setupmathoperator
36
37\appendtoks
38
39 \protected\instance\edefcsname\currentmathoperator\endcsname{\math_operator{\currentmathoperator}}
40
41 \protected\instance\edefcsname\e!start\currentmathoperator\endcsname{\math_operator_start{\currentmathoperator}}
42 \protected\instance\edefcsname\e!stop \currentmathoperator\endcsname{\math_operator_stop}
43\to \everydefinemathoperator
44
45
46
47\defcsname\??mathoperatormethod\v!horizontal\endcsname{nolimits }
48\defcsname\??mathoperatormethod\v!vertical \endcsname{limits }
49
50
51
52\letcsname\??mathoperatormethod \v!auto\endcsname\empty
53\letcsname\??mathoperatormethod autolimits\endcsname\empty
54\letcsname\??mathoperatormethod nolimits\expandafter\endcsname\csname\??mathoperatormethod\v!horizontal\endcsname
55\letcsname\??mathoperatormethod limits\expandafter\endcsname\csname\??mathoperatormethod\v!vertical \endcsname
56
57
58
59
60
61
62\installlocalcurrenthandler\??mathoperators {mathoperator}
63
64\protected\def\math_operator_operator#1#2
65 {\setlocalmathoperatorcurrent{#1}
66 \setupcurrentmathoperator[#2]
67 \Uoperator
68 \usedcolorparameterattributes{\mathoperatorparameter\c!color}
69 \begincsname\??mathoperatormethod\mathoperatorparameter\c!method\endcsname
70 \ifchkdimension\mathoperatorparameter\c!size\or
71 \s!depth \lastchkdimension
72 \s!height\lastchkdimension
73 \s!axis
74 \s!noaxis
75 \s!exact
76 \orelse\ifcstok{\mathoperatorparameter\c!size}\v!auto
77 \s!auto
78 \fi
79 \s!class \mathcodechecked{\mathoperatorparameter\c!mathclass}
80 \s!attr \indexofregister \c_attr_mathsize \attributeunsetvalue
81
82 \Udelimiter \zerocount \fam \mathoperatorparameter\c!left
83 {\edef\m_operator_text{\mathoperatorparameter\c!top}
84 \ifempty\m_operator_text\else
85 \mathstrut
86 \dousecolorparameter{\mathoperatorparameter\c!topcolor}
87 \m_operator_text
88 \fi}
89 {\edef\m_operator_text{\mathoperatorparameter\c!bottom}
90 \ifempty\m_operator_text\else
91 \mathstrut
92 \dousecolorparameter{\mathoperatorparameter\c!bottomcolor}
93 \m_operator_text
94 \fi}}
95
96\tolerant\protected\def\math_operator#1#*[#S#2]#*#:#=
97 {\math_operator_operator{#1}{#2}#3\Uright.}
98
99\tolerant\protected\def\math_operator_start#1#*[#S#2]
100 {\math_operator_operator{#1}{#2}}
101
102\protected\def\math_operator_stop
103 {\Uright.}
104
105
106
107
108
109
110
111
112
113
114\definemathoperator [integrals]
115\definemathoperator [summations]
116\definemathoperator [products]
117\definemathoperator [operators]
118
119\setupmathoperators [summations] [\c!size=\v!auto]
120\setupmathoperators [products] [\c!size=\v!auto]
121\setupmathoperators [operators] [\c!size=\v!auto]
122
123\setupmathoperators [integrals]
124 [\c!size=\v!auto,
125 \c!mathclass=\mathintegralcode,
126 \c!method=\mathematicsparameter\c!integral]
127
128\setupmathematics[\c!integral=nolimits]
129
130\definemathoperator [integral] [integrals] [\c!left="222B]
131\definemathoperator [iintegral] [integrals] [\c!left="222C]
132\definemathoperator [iiintegral] [integrals] [\c!left="222D]
133\definemathoperator [iiiintegral] [integrals] [\c!left="2A0C]
134
135\definemathoperator [int] [integrals] [\c!left="222B]
136\definemathoperator [iint] [integrals] [\c!left="222C]
137\definemathoperator [iiint] [integrals] [\c!left="222D]
138\definemathoperator [iiiint] [integrals] [\c!left="2A0C]
139\definemathoperator [oint] [integrals] [\c!left="222E]
140\definemathoperator [oiint] [integrals] [\c!left="222F]
141\definemathoperator [oiiint] [integrals] [\c!left="2230]
142\definemathoperator [intc] [integrals] [\c!left="2231]
143\definemathoperator [ointc] [integrals] [\c!left="2232]
144\definemathoperator [aointc] [integrals] [\c!left="2233]
145
146\definemathoperator [sumint] [integrals] [\c!left="2A0B]
147\definemathoperator [barint] [integrals] [\c!left="2A0D]
148\definemathoperator [doublebarint] [integrals] [\c!left="2A0E]
149\definemathoperator [slashint] [integrals] [\c!left="2A0F]
150\definemathoperator [aodownintc] [integrals] [\c!left="2A11]
151\definemathoperator [rectangularpoleintc] [integrals] [\c!left="2A12]
152\definemathoperator [semicirclepoleintc] [integrals] [\c!left="2A13]
153\definemathoperator [circlepoleoutsideintc] [integrals] [\c!left="2A14]
154\definemathoperator [circlepoleinsideintc] [integrals] [\c!left="2A15]
155\definemathoperator [squareintc] [integrals] [\c!left="2A16]
156\definemathoperator [hookleftarrowint] [integrals] [\c!left="2A17]
157\definemathoperator [timesint] [integrals] [\c!left="2A18]
158\definemathoperator [capint] [integrals] [\c!left="2A19]
159\definemathoperator [cupint] [integrals] [\c!left="2A1A]
160\definemathoperator [upperint] [integrals] [\c!left="2A1B]
161\definemathoperator [lowerint] [integrals] [\c!left="2A1C]
162
163\definemathoperator [sum] [summations] [\c!left="2211]
164\definemathoperator [blackboardsum] [summations] [\c!left="2140]
165\definemathoperator [modtwosum] [summations] [\c!left="2A0A]
166
167
168\definemathoperator [prod] [products] [\c!left="220F]
169\definemathoperator [coprod] [products] [\c!left="2210]
170
171
172
173\definemathoperator [bigwedge] [operators] [\c!left="22C0]
174\definemathoperator [bigvee] [operators] [\c!left="22C1]
175\definemathoperator [bigcap] [operators] [\c!left="22C2]
176\definemathoperator [bigcup] [operators] [\c!left="22C3]
177\definemathoperator [bigodot] [operators] [\c!left="2A00]
178\definemathoperator [bigoplus] [operators] [\c!left="2A01]
179\definemathoperator [bigotimes] [operators] [\c!left="2A02]
180\definemathoperator [bigudot] [operators] [\c!left="2A03]
181\definemathoperator [biguplus] [operators] [\c!left="2A04]
182\definemathoperator [bigsqcap] [operators] [\c!left="2A05]
183\definemathoperator [bigsqcup] [operators] [\c!left="2A06]
184\definemathoperator [bigtimes] [operators] [\c!left="2A09]
185
186\definemathoperator [leftouterjoin] [operators] [\c!left="27D5]
187\definemathoperator [rightouterjoin] [operators] [\c!left="27D6]
188\definemathoperator [fullouterjoin] [operators] [\c!left="27D7]
189\definemathoperator [bigbottom] [operators] [\c!left="27D8]
190\definemathoperator [bigtop] [operators] [\c!left="27D9]
191\definemathoperator [bigsolidus] [operators] [\c!left="29F8]
192\definemathoperator [bigreversesolidus] [operators] [\c!left="29F9]
193\definemathoperator [bigdoublewedge] [operators] [\c!left="2A07]
194\definemathoperator [bigdoublevee] [operators] [\c!left="2A08]
195
196\protect \endinput
197 |