xmmath 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/xmmath.es.js +288 -284
- package/dist/xmmath.es.js.map +1 -1
- package/dist/xmmath.umd.js +2 -2
- package/dist/xmmath.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/main.ts +74 -59
- package/test/text.html +0 -32
package/dist/xmmath.es.js
CHANGED
|
@@ -4,92 +4,92 @@ function D0(n) {
|
|
|
4
4
|
var t0 = { exports: {} };
|
|
5
5
|
(function(n) {
|
|
6
6
|
function l() {
|
|
7
|
-
var r = 0, C = 1, t = 2, B = 3,
|
|
8
|
-
function y(x,
|
|
9
|
-
return 55296 <= x.charCodeAt(
|
|
7
|
+
var r = 0, C = 1, t = 2, B = 3, D = 4, F = 5, E = 6, f = 7, b = 8, s = 9, p = 10, P = 11, O = 12, K = 13, Z = 14, V = 15, J = 16, R = 17, M = 0, $ = 1, A = 2, h = 3, N = 4;
|
|
8
|
+
function y(x, a) {
|
|
9
|
+
return 55296 <= x.charCodeAt(a) && x.charCodeAt(a) <= 56319 && 56320 <= x.charCodeAt(a + 1) && x.charCodeAt(a + 1) <= 57343;
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
var m = x.charCodeAt(
|
|
14
|
-
if (55296 <= m && m <= 56319 &&
|
|
15
|
-
var v = m, q = x.charCodeAt(
|
|
11
|
+
function u(x, a) {
|
|
12
|
+
a === void 0 && (a = 0);
|
|
13
|
+
var m = x.charCodeAt(a);
|
|
14
|
+
if (55296 <= m && m <= 56319 && a < x.length - 1) {
|
|
15
|
+
var v = m, q = x.charCodeAt(a + 1);
|
|
16
16
|
return 56320 <= q && q <= 57343 ? (v - 55296) * 1024 + (q - 56320) + 65536 : v;
|
|
17
17
|
}
|
|
18
|
-
if (56320 <= m && m <= 57343 &&
|
|
19
|
-
var v = x.charCodeAt(
|
|
18
|
+
if (56320 <= m && m <= 57343 && a >= 1) {
|
|
19
|
+
var v = x.charCodeAt(a - 1), q = m;
|
|
20
20
|
return 55296 <= v && v <= 56319 ? (v - 55296) * 1024 + (q - 56320) + 65536 : q;
|
|
21
21
|
}
|
|
22
22
|
return m;
|
|
23
23
|
}
|
|
24
|
-
function k(x,
|
|
25
|
-
var v = [x].concat(
|
|
26
|
-
if (d > 1 && v.slice(1, d).every(function(
|
|
27
|
-
return
|
|
24
|
+
function k(x, a, m) {
|
|
25
|
+
var v = [x].concat(a).concat([m]), q = v[v.length - 2], _ = m, d = v.lastIndexOf(Z);
|
|
26
|
+
if (d > 1 && v.slice(1, d).every(function(G) {
|
|
27
|
+
return G == B;
|
|
28
28
|
}) && [B, K, R].indexOf(x) == -1)
|
|
29
29
|
return A;
|
|
30
|
-
var c = v.lastIndexOf(
|
|
31
|
-
if (c > 0 && v.slice(1, c).every(function(
|
|
32
|
-
return
|
|
33
|
-
}) && [
|
|
34
|
-
return v.filter(function(
|
|
35
|
-
return
|
|
30
|
+
var c = v.lastIndexOf(D);
|
|
31
|
+
if (c > 0 && v.slice(1, c).every(function(G) {
|
|
32
|
+
return G == D;
|
|
33
|
+
}) && [O, D].indexOf(q) == -1)
|
|
34
|
+
return v.filter(function(G) {
|
|
35
|
+
return G == D;
|
|
36
36
|
}).length % 2 == 1 ? h : N;
|
|
37
37
|
if (q == r && _ == C)
|
|
38
|
-
return
|
|
38
|
+
return M;
|
|
39
39
|
if (q == t || q == r || q == C)
|
|
40
|
-
return _ ==
|
|
41
|
-
return
|
|
40
|
+
return _ == Z && a.every(function(G) {
|
|
41
|
+
return G == B;
|
|
42
42
|
}) ? A : $;
|
|
43
43
|
if (_ == t || _ == r || _ == C)
|
|
44
44
|
return $;
|
|
45
|
-
if (q == E && (_ == E || _ ==
|
|
46
|
-
return
|
|
47
|
-
if ((q ==
|
|
48
|
-
return
|
|
45
|
+
if (q == E && (_ == E || _ == f || _ == s || _ == p))
|
|
46
|
+
return M;
|
|
47
|
+
if ((q == s || q == f) && (_ == f || _ == b))
|
|
48
|
+
return M;
|
|
49
49
|
if ((q == p || q == b) && _ == b)
|
|
50
|
-
return
|
|
50
|
+
return M;
|
|
51
51
|
if (_ == B || _ == V)
|
|
52
|
-
return
|
|
53
|
-
if (_ ==
|
|
54
|
-
return
|
|
55
|
-
if (q ==
|
|
56
|
-
return
|
|
52
|
+
return M;
|
|
53
|
+
if (_ == F)
|
|
54
|
+
return M;
|
|
55
|
+
if (q == O)
|
|
56
|
+
return M;
|
|
57
57
|
var x0 = v.indexOf(B) != -1 ? v.lastIndexOf(B) - 1 : v.length - 2;
|
|
58
|
-
return [K, R].indexOf(v[x0]) != -1 && v.slice(x0 + 1, -1).every(function(
|
|
59
|
-
return
|
|
60
|
-
}) && _ ==
|
|
58
|
+
return [K, R].indexOf(v[x0]) != -1 && v.slice(x0 + 1, -1).every(function(G) {
|
|
59
|
+
return G == B;
|
|
60
|
+
}) && _ == Z || q == V && [J, R].indexOf(_) != -1 ? M : a.indexOf(D) != -1 ? A : q == D && _ == D ? M : $;
|
|
61
61
|
}
|
|
62
|
-
this.nextBreak = function(x,
|
|
63
|
-
if (
|
|
62
|
+
this.nextBreak = function(x, a) {
|
|
63
|
+
if (a === void 0 && (a = 0), a < 0)
|
|
64
64
|
return 0;
|
|
65
|
-
if (
|
|
65
|
+
if (a >= x.length - 1)
|
|
66
66
|
return x.length;
|
|
67
|
-
for (var m = w(
|
|
67
|
+
for (var m = w(u(x, a)), v = [], q = a + 1; q < x.length; q++)
|
|
68
68
|
if (!y(x, q - 1)) {
|
|
69
|
-
var _ = w(
|
|
69
|
+
var _ = w(u(x, q));
|
|
70
70
|
if (k(m, v, _))
|
|
71
71
|
return q;
|
|
72
72
|
v.push(_);
|
|
73
73
|
}
|
|
74
74
|
return x.length;
|
|
75
75
|
}, this.splitGraphemes = function(x) {
|
|
76
|
-
for (var
|
|
77
|
-
|
|
78
|
-
return m < x.length &&
|
|
76
|
+
for (var a = [], m = 0, v; (v = this.nextBreak(x, m)) < x.length; )
|
|
77
|
+
a.push(x.slice(m, v)), m = v;
|
|
78
|
+
return m < x.length && a.push(x.slice(m)), a;
|
|
79
79
|
}, this.iterateGraphemes = function(x) {
|
|
80
|
-
var
|
|
80
|
+
var a = 0, m = {
|
|
81
81
|
next: function() {
|
|
82
82
|
var v, q;
|
|
83
|
-
return (q = this.nextBreak(x,
|
|
83
|
+
return (q = this.nextBreak(x, a)) < x.length ? (v = x.slice(a, q), a = q, { value: v, done: !1 }) : a < x.length ? (v = x.slice(a), a = x.length, { value: v, done: !1 }) : { value: void 0, done: !0 };
|
|
84
84
|
}.bind(this)
|
|
85
85
|
};
|
|
86
86
|
return typeof Symbol < "u" && Symbol.iterator && (m[Symbol.iterator] = function() {
|
|
87
87
|
return m;
|
|
88
88
|
}), m;
|
|
89
89
|
}, this.countGraphemes = function(x) {
|
|
90
|
-
for (var
|
|
91
|
-
m = v,
|
|
92
|
-
return m < x.length &&
|
|
90
|
+
for (var a = 0, m = 0, v; (v = this.nextBreak(x, m)) < x.length; )
|
|
91
|
+
m = v, a++;
|
|
92
|
+
return m < x.length && a++, a;
|
|
93
93
|
};
|
|
94
94
|
function w(x) {
|
|
95
95
|
return 1536 <= x && x <= 1541 || // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
|
|
@@ -101,7 +101,7 @@ var t0 = { exports: {} };
|
|
|
101
101
|
70082 <= x && x <= 70083 || // Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
|
|
102
102
|
x == 72250 || // Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
|
|
103
103
|
72326 <= x && x <= 72329 || // Lo [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
|
|
104
|
-
x == 73030 ?
|
|
104
|
+
x == 73030 ? O : x == 13 ? r : x == 10 ? C : 0 <= x && x <= 9 || // Cc [10] <control-0000>..<control-0009>
|
|
105
105
|
11 <= x && x <= 12 || // Cc [2] <control-000B>..<control-000C>
|
|
106
106
|
14 <= x && x <= 31 || // Cc [18] <control-000E>..<control-001F>
|
|
107
107
|
127 <= x && x <= 159 || // Cc [33] <control-007F>..<control-009F>
|
|
@@ -454,7 +454,7 @@ var t0 = { exports: {} };
|
|
|
454
454
|
125136 <= x && x <= 125142 || // Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
|
|
455
455
|
125252 <= x && x <= 125258 || // Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
|
|
456
456
|
917536 <= x && x <= 917631 || // Cf [96] TAG SPACE..CANCEL TAG
|
|
457
|
-
917760 <= x && x <= 917999 ? B : 127462 <= x && x <= 127487 ?
|
|
457
|
+
917760 <= x && x <= 917999 ? B : 127462 <= x && x <= 127487 ? D : x == 2307 || // Mc DEVANAGARI SIGN VISARGA
|
|
458
458
|
x == 2363 || // Mc DEVANAGARI VOWEL SIGN OOE
|
|
459
459
|
2366 <= x && x <= 2368 || // Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
|
|
460
460
|
2377 <= x && x <= 2380 || // Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
|
|
@@ -598,9 +598,9 @@ var t0 = { exports: {} };
|
|
|
598
598
|
x == 72884 || // Mc MARCHEN VOWEL SIGN O
|
|
599
599
|
94033 <= x && x <= 94078 || // Mc [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
|
|
600
600
|
x == 119142 || // Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
|
|
601
|
-
x == 119149 ?
|
|
601
|
+
x == 119149 ? F : 4352 <= x && x <= 4447 || // Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
|
|
602
602
|
43360 <= x && x <= 43388 ? E : 4448 <= x && x <= 4519 || // Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
|
|
603
|
-
55216 <= x && x <= 55238 ?
|
|
603
|
+
55216 <= x && x <= 55238 ? f : 4520 <= x && x <= 4607 || // Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
|
|
604
604
|
55243 <= x && x <= 55291 ? b : x == 44032 || // Lo HANGUL SYLLABLE GA
|
|
605
605
|
x == 44060 || // Lo HANGUL SYLLABLE GAE
|
|
606
606
|
x == 44088 || // Lo HANGUL SYLLABLE GYA
|
|
@@ -999,7 +999,7 @@ var t0 = { exports: {} };
|
|
|
999
999
|
x == 55092 || // Lo HANGUL SYLLABLE HYU
|
|
1000
1000
|
x == 55120 || // Lo HANGUL SYLLABLE HEU
|
|
1001
1001
|
x == 55148 || // Lo HANGUL SYLLABLE HYI
|
|
1002
|
-
x == 55176 ?
|
|
1002
|
+
x == 55176 ? s : 44033 <= x && x <= 44059 || // Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
|
|
1003
1003
|
44061 <= x && x <= 44087 || // Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
|
|
1004
1004
|
44089 <= x && x <= 44115 || // Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
|
|
1005
1005
|
44117 <= x && x <= 44143 || // Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
|
|
@@ -1427,7 +1427,7 @@ var t0 = { exports: {} };
|
|
|
1427
1427
|
x == 129318 || // So FACE PALM
|
|
1428
1428
|
129328 <= x && x <= 129337 || // So [10] PREGNANT WOMAN..JUGGLING
|
|
1429
1429
|
129341 <= x && x <= 129342 || // So [2] WATER POLO..HANDBALL
|
|
1430
|
-
129489 <= x && x <= 129501 ? K : 127995 <= x && x <= 127999 ?
|
|
1430
|
+
129489 <= x && x <= 129501 ? K : 127995 <= x && x <= 127999 ? Z : x == 8205 ? V : x == 9792 || // So FEMALE SIGN
|
|
1431
1431
|
x == 9794 || // So MALE SIGN
|
|
1432
1432
|
9877 <= x && x <= 9878 || // So [2] STAFF OF AESCULAPIUS..SCALES
|
|
1433
1433
|
x == 9992 || // So AIRPLANE
|
|
@@ -1446,7 +1446,7 @@ var t0 = { exports: {} };
|
|
|
1446
1446
|
x == 128300 || // So MICROSCOPE
|
|
1447
1447
|
x == 128488 || // So LEFT SPEECH BUBBLE
|
|
1448
1448
|
x == 128640 || // So ROCKET
|
|
1449
|
-
x == 128658 ? J : 128102 <= x && x <= 128105 ? R :
|
|
1449
|
+
x == 128658 ? J : 128102 <= x && x <= 128105 ? R : P;
|
|
1450
1450
|
}
|
|
1451
1451
|
return this;
|
|
1452
1452
|
}
|
|
@@ -2226,67 +2226,64 @@ const u0 = /* @__PURE__ */ D0(a0), A0 = `{
|
|
|
2226
2226
|
"dotless": [{ "i": "𝚤", "j": "𝚥" }]
|
|
2227
2227
|
}
|
|
2228
2228
|
`;
|
|
2229
|
-
function
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
function D(n, l, r) {
|
|
2233
|
-
let C = document.createElement(n);
|
|
2234
|
-
if (l && (C.innerText = l), r)
|
|
2229
|
+
function i(n, l, r) {
|
|
2230
|
+
let C = document.createElementNS("http://www.w3.org/1998/Math/MathML", n);
|
|
2231
|
+
if (l && (C.textContent = l), r)
|
|
2235
2232
|
for (let t in r)
|
|
2236
2233
|
C.setAttribute(t, r[t]);
|
|
2237
2234
|
return C;
|
|
2238
2235
|
}
|
|
2239
|
-
const
|
|
2240
|
-
var
|
|
2241
|
-
function
|
|
2242
|
-
let l = /[a-zA-Z.]/, r = /[\(\)]/, C = /[ \t\n\r]+/, t = "", B = [],
|
|
2243
|
-
n = n.replace(/(\\u\{[\dA-Fa-f]+\})/g, (
|
|
2244
|
-
const p = parseInt(
|
|
2236
|
+
const z = "mathvariant";
|
|
2237
|
+
var F0 = new u0();
|
|
2238
|
+
function s0(n) {
|
|
2239
|
+
let l = /[a-zA-Z.]/, r = /[\(\)]/, C = /[ \t\n\r]+/, t = "", B = [], D = [], F = B, E = "";
|
|
2240
|
+
n = n.replace(/(\\u\{[\dA-Fa-f]+\})/g, (s) => {
|
|
2241
|
+
const p = parseInt(s.slice(3, -1), 16);
|
|
2245
2242
|
return String.fromCodePoint(p);
|
|
2246
2243
|
});
|
|
2247
|
-
let
|
|
2248
|
-
for (let
|
|
2249
|
-
const p = n[
|
|
2250
|
-
if (p == '"' && n[
|
|
2244
|
+
let f = [];
|
|
2245
|
+
for (let s = 0; s < n.length; s++) {
|
|
2246
|
+
const p = n[s];
|
|
2247
|
+
if (p == '"' && n[s - 1] != "\\") {
|
|
2251
2248
|
t != "str" ? t = "str" : t = "";
|
|
2252
2249
|
continue;
|
|
2253
2250
|
}
|
|
2254
|
-
t != "str" && (p == "(" &&
|
|
2251
|
+
t != "str" && (p == "(" && f.push(s), p == ")" && (f.length == 0 || n[s - 1] != "\\" && f.pop()));
|
|
2255
2252
|
}
|
|
2256
|
-
let b =
|
|
2257
|
-
for (let
|
|
2258
|
-
const p = b[
|
|
2259
|
-
if (p == '"' && b[
|
|
2260
|
-
t != "str" ? t = "str" : (
|
|
2253
|
+
let b = F0.splitGraphemes(n);
|
|
2254
|
+
for (let s = 0; s < b.length; s++) {
|
|
2255
|
+
const p = b[s];
|
|
2256
|
+
if (p == '"' && b[s - 1] != "\\") {
|
|
2257
|
+
t != "str" ? t = "str" : (F.push({ type: t, value: E }), t = "", E = "");
|
|
2261
2258
|
continue;
|
|
2262
2259
|
}
|
|
2263
2260
|
if (t == "str") {
|
|
2264
2261
|
E += p;
|
|
2265
2262
|
continue;
|
|
2266
2263
|
}
|
|
2267
|
-
if (p.match(C) && (t = "blank"), t == "blank" && !p.match(C) && (
|
|
2268
|
-
|
|
2264
|
+
if (p.match(C) && (t = "blank"), t == "blank" && !p.match(C) && (F.push({ type: t, value: "" }), t = ""), t == "" && (!b[s - 1] || !b[s - 1].match(l)) && (!b[s + 1] || !b[s + 1].match(l)) && !p.match(r)) {
|
|
2265
|
+
F.push({ type: "v", value: p });
|
|
2269
2266
|
continue;
|
|
2270
2267
|
}
|
|
2271
2268
|
if (t == "" && !p.match(l) && !p.match(r)) {
|
|
2272
|
-
|
|
2269
|
+
F.push({ type: "v", value: p });
|
|
2273
2270
|
continue;
|
|
2274
2271
|
}
|
|
2275
|
-
if ((b[
|
|
2276
|
-
if (
|
|
2277
|
-
|
|
2272
|
+
if ((b[s - 1] && b[s - 1].match(l) || b[s + 1] && b[s + 1].match(l)) && p.match(l) && (t = "f"), t == "f" && (E += p), t == "f" && (!b[s + 1] || !b[s + 1].match(l)) && (F.push({ type: t, value: E }), t = "", E = ""), p == "(")
|
|
2273
|
+
if (f.includes(s) || b[s - 1] == "\\")
|
|
2274
|
+
F.push({ type: "v", value: p });
|
|
2278
2275
|
else {
|
|
2279
|
-
|
|
2276
|
+
D.push({ tree: F, close: !1 }), F.push({ type: "group", value: E, children: [] }), F = F.at(-1).children, E = "";
|
|
2280
2277
|
continue;
|
|
2281
2278
|
}
|
|
2282
2279
|
if (p == ")")
|
|
2283
|
-
if (
|
|
2284
|
-
if (
|
|
2285
|
-
|
|
2280
|
+
if (D.at(-1)) {
|
|
2281
|
+
if (D.at(-1).close == !1) {
|
|
2282
|
+
D.at(-1).close = !0, F = D.at(-1).tree, D.pop();
|
|
2286
2283
|
continue;
|
|
2287
2284
|
}
|
|
2288
2285
|
} else
|
|
2289
|
-
|
|
2286
|
+
F.push({ type: "v", value: p });
|
|
2290
2287
|
}
|
|
2291
2288
|
return B;
|
|
2292
2289
|
}
|
|
@@ -2355,120 +2352,114 @@ let e = {
|
|
|
2355
2352
|
}, o = 0;
|
|
2356
2353
|
for (let n in e)
|
|
2357
2354
|
n.length > o && (o = n.length);
|
|
2358
|
-
let
|
|
2355
|
+
let L = {
|
|
2359
2356
|
accent: (n, l) => {
|
|
2360
|
-
let r =
|
|
2357
|
+
let r = i("mrow");
|
|
2361
2358
|
r.append(g(n[0]));
|
|
2362
|
-
let C =
|
|
2359
|
+
let C = i("mrow");
|
|
2363
2360
|
C.append(g(n[1]));
|
|
2364
|
-
let t =
|
|
2361
|
+
let t = i("mover");
|
|
2365
2362
|
return t.setAttribute("accent", "true"), t.append(r, C), t;
|
|
2366
2363
|
},
|
|
2367
2364
|
attach: (n, l) => {
|
|
2368
|
-
let r =
|
|
2365
|
+
let r = i("mrow");
|
|
2369
2366
|
r.append(g(n[0]));
|
|
2370
|
-
let C =
|
|
2371
|
-
C.append(r);
|
|
2372
|
-
let t = D("mrow");
|
|
2367
|
+
let C, t = i("mrow");
|
|
2373
2368
|
l.tl && t.append(g(l.tl));
|
|
2374
|
-
let B =
|
|
2369
|
+
let B = i("mrow");
|
|
2375
2370
|
l.bl && B.append(g(l.bl));
|
|
2376
|
-
let
|
|
2377
|
-
l.tr &&
|
|
2378
|
-
let
|
|
2379
|
-
if (l.br &&
|
|
2380
|
-
let E =
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
let s = D("mrow");
|
|
2387
|
-
l.t && s.append(g(l.t));
|
|
2388
|
-
let b = D("mrow");
|
|
2389
|
-
l.b && b.append(g(l.b)), E.append(b, s), C = E;
|
|
2371
|
+
let D = i("mrow");
|
|
2372
|
+
l.tr && D.append(g(l.tr));
|
|
2373
|
+
let F = i("mrow");
|
|
2374
|
+
if (l.br && F.append(g(l.br)), (l.tl || l.bl || l.tr || l.br) && (l.tl || l.bl ? (C = i("mmultiscripts"), C.append(r, F, D, i("mprescripts"), B, t)) : l.tr && l.br ? (C = i("msubsup"), C.append(r, F, D)) : l.tr ? (C = i("msup"), C.append(r, D)) : (C = i("msub"), C.append(r, F))), l.t || l.b) {
|
|
2375
|
+
let E = i("munderover");
|
|
2376
|
+
C ? E.append(C) : E.append(r);
|
|
2377
|
+
let f = i("mrow");
|
|
2378
|
+
l.t && f.append(g(l.t));
|
|
2379
|
+
let b = i("mrow");
|
|
2380
|
+
l.b && b.append(g(l.b)), E.append(b, f), C = E;
|
|
2390
2381
|
}
|
|
2391
2382
|
return C;
|
|
2392
2383
|
},
|
|
2393
2384
|
scripts: (n, l) => g(n[0]),
|
|
2394
2385
|
limits: (n, l) => g(n[0]),
|
|
2395
2386
|
binom: (n, l) => {
|
|
2396
|
-
let r =
|
|
2387
|
+
let r = i("mrow"), C = i("mrow");
|
|
2397
2388
|
C.append(g(n[0]));
|
|
2398
|
-
let t =
|
|
2389
|
+
let t = i("mrow");
|
|
2399
2390
|
t.append(g(n[1]));
|
|
2400
|
-
let B =
|
|
2391
|
+
let B = i("mfrac", null, { linethickness: "0" });
|
|
2401
2392
|
B.append(C, t);
|
|
2402
|
-
let
|
|
2403
|
-
return r.append(
|
|
2393
|
+
let D = i("mo", "("), F = i("mo", ")");
|
|
2394
|
+
return r.append(D, B, F), r;
|
|
2404
2395
|
},
|
|
2405
2396
|
cancel: (n, l) => {
|
|
2406
2397
|
},
|
|
2407
2398
|
cases: (n, l) => {
|
|
2408
|
-
var B,
|
|
2409
|
-
let r =
|
|
2410
|
-
for (let
|
|
2411
|
-
let E =
|
|
2412
|
-
|
|
2399
|
+
var B, D;
|
|
2400
|
+
let r = i("mrow"), C = i("mo", ((D = (B = l == null ? void 0 : l.delim) == null ? void 0 : B[0]) == null ? void 0 : D.value) || "{"), t = i("mtable", null, { columnalign: "left" });
|
|
2401
|
+
for (let F of n) {
|
|
2402
|
+
let E = i("mtr"), f = i("mtd");
|
|
2403
|
+
f.append(g(F)), E.append(f), t.append(E);
|
|
2413
2404
|
}
|
|
2414
2405
|
return r.append(C, t), r;
|
|
2415
2406
|
},
|
|
2416
2407
|
frac: (n, l) => {
|
|
2417
2408
|
console.log(n);
|
|
2418
|
-
let r =
|
|
2409
|
+
let r = i("mrow");
|
|
2419
2410
|
r.append(g(n[0]));
|
|
2420
|
-
let C =
|
|
2411
|
+
let C = i("mrow");
|
|
2421
2412
|
C.append(g(n[1]));
|
|
2422
|
-
let t =
|
|
2413
|
+
let t = i("mfrac");
|
|
2423
2414
|
return t.append(r, C), t;
|
|
2424
2415
|
},
|
|
2425
2416
|
lr: (n, l) => {
|
|
2426
2417
|
let r = n[0], C, t;
|
|
2427
|
-
for (let
|
|
2428
|
-
const b = r[
|
|
2418
|
+
for (let f = 0; f < r.length; f++) {
|
|
2419
|
+
const b = r[f];
|
|
2429
2420
|
if (b.type != "blank") {
|
|
2430
|
-
C = { c: [b], n:
|
|
2421
|
+
C = { c: [b], n: f };
|
|
2431
2422
|
break;
|
|
2432
2423
|
}
|
|
2433
2424
|
}
|
|
2434
|
-
for (let
|
|
2435
|
-
const b = r[
|
|
2425
|
+
for (let f = r.length - 1; f >= 0; f--) {
|
|
2426
|
+
const b = r[f];
|
|
2436
2427
|
if (b.type != "blank") {
|
|
2437
|
-
t = { c: [b], n:
|
|
2428
|
+
t = { c: [b], n: f };
|
|
2438
2429
|
break;
|
|
2439
2430
|
}
|
|
2440
2431
|
}
|
|
2441
2432
|
let B = document.createDocumentFragment();
|
|
2442
2433
|
B.append(g(C.c));
|
|
2443
|
-
let
|
|
2444
|
-
|
|
2445
|
-
let
|
|
2446
|
-
|
|
2447
|
-
let E =
|
|
2448
|
-
return E.append(B,
|
|
2434
|
+
let D = document.createDocumentFragment();
|
|
2435
|
+
D.append(g(t.c));
|
|
2436
|
+
let F = document.createDocumentFragment();
|
|
2437
|
+
F.append(g(r.slice(C.n + 1, t.n)));
|
|
2438
|
+
let E = i("mrow");
|
|
2439
|
+
return E.append(B, F, D), E;
|
|
2449
2440
|
},
|
|
2450
2441
|
mat: (n, l, r) => {
|
|
2451
|
-
var
|
|
2452
|
-
let C = ((b = (
|
|
2453
|
-
for (let
|
|
2454
|
-
let p =
|
|
2455
|
-
for (let
|
|
2456
|
-
let
|
|
2457
|
-
|
|
2442
|
+
var f, b;
|
|
2443
|
+
let C = ((b = (f = l == null ? void 0 : l.delim) == null ? void 0 : f[0]) == null ? void 0 : b.value) || "(", t = { "(": ["(", ")"], "[": ["[", "]"], "{": ["{", "}"], "|": ["|", "|"], "||": ["‖", "‖"] }, B = i("mrow"), D = i("mo", t[C][0]), F = i("mo", t[C][1]), E = i("mtable");
|
|
2444
|
+
for (let s of r) {
|
|
2445
|
+
let p = i("mtr");
|
|
2446
|
+
for (let P of s) {
|
|
2447
|
+
let O = i("mtd");
|
|
2448
|
+
O.append(g(P)), p.append(O);
|
|
2458
2449
|
}
|
|
2459
2450
|
E.append(p);
|
|
2460
2451
|
}
|
|
2461
|
-
return B.append(
|
|
2452
|
+
return B.append(D, E, F), B;
|
|
2462
2453
|
},
|
|
2463
2454
|
root: (n, l) => {
|
|
2464
|
-
let r =
|
|
2455
|
+
let r = i("mrow");
|
|
2465
2456
|
r.append(g(n[0]));
|
|
2466
|
-
let C =
|
|
2457
|
+
let C = i("mrow");
|
|
2467
2458
|
C.append(g(n[1]));
|
|
2468
|
-
let t =
|
|
2459
|
+
let t = i("mroot");
|
|
2469
2460
|
return t.append(C, r), t;
|
|
2470
2461
|
},
|
|
2471
|
-
sqrt: (n, l) =>
|
|
2462
|
+
sqrt: (n, l) => L.root([[], n[0]], null),
|
|
2472
2463
|
display: (n, l) => {
|
|
2473
2464
|
},
|
|
2474
2465
|
inline: (n, l) => {
|
|
@@ -2478,27 +2469,27 @@ let P = {
|
|
|
2478
2469
|
sscript: (n, l) => {
|
|
2479
2470
|
},
|
|
2480
2471
|
upright: (n, l) => {
|
|
2481
|
-
let r =
|
|
2472
|
+
let r = i("mrow");
|
|
2482
2473
|
return r.append(g(n[0])), r.querySelectorAll("mi").forEach((C) => {
|
|
2483
|
-
C.getAttribute(
|
|
2474
|
+
C.getAttribute(z) || C.setAttribute(z, "normal");
|
|
2484
2475
|
}), r.querySelectorAll("ms").forEach((C) => {
|
|
2485
|
-
C.getAttribute(
|
|
2476
|
+
C.getAttribute(z) || C.setAttribute(z, "normal");
|
|
2486
2477
|
}), r;
|
|
2487
2478
|
},
|
|
2488
2479
|
italic: (n, l) => {
|
|
2489
|
-
let r =
|
|
2480
|
+
let r = i("mrow");
|
|
2490
2481
|
return r.querySelectorAll("mi").forEach((C) => {
|
|
2491
|
-
C.getAttribute(
|
|
2482
|
+
C.getAttribute(z) || C.setAttribute(z, "italic");
|
|
2492
2483
|
}), r.querySelectorAll("ms").forEach((C) => {
|
|
2493
|
-
C.getAttribute(
|
|
2484
|
+
C.getAttribute(z) || C.setAttribute(z, "italic");
|
|
2494
2485
|
}), r.append(g(n[0])), r;
|
|
2495
2486
|
},
|
|
2496
2487
|
bold: (n, l) => {
|
|
2497
|
-
let r =
|
|
2488
|
+
let r = i("mrow");
|
|
2498
2489
|
return r.style.fontWeight = "bold", r.append(g(n[0])), r;
|
|
2499
2490
|
},
|
|
2500
2491
|
op: (n, l) => {
|
|
2501
|
-
let r =
|
|
2492
|
+
let r = i("mrow"), C = i("ms", n[0][0].value);
|
|
2502
2493
|
return r.append(C), r;
|
|
2503
2494
|
},
|
|
2504
2495
|
underline: (n, l) => H("under", n[0], "_", n == null ? void 0 : n[1]),
|
|
@@ -2520,21 +2511,28 @@ let P = {
|
|
|
2520
2511
|
cal: (n, l) => {
|
|
2521
2512
|
},
|
|
2522
2513
|
vec: (n, l) => {
|
|
2523
|
-
var E,
|
|
2524
|
-
let r = ((
|
|
2514
|
+
var E, f;
|
|
2515
|
+
let r = ((f = (E = l == null ? void 0 : l.delim) == null ? void 0 : E[0]) == null ? void 0 : f.value) || "(", C = { "(": ["(", ")"], "[": ["[", "]"], "{": ["{", "}"], "|": ["|", "|"], "||": ["‖", "‖"] }, t = i("mrow"), B = i("mo", C[r][0]), D = i("mo", C[r][1]), F = i("mtable");
|
|
2525
2516
|
for (let b of n) {
|
|
2526
|
-
let
|
|
2527
|
-
|
|
2517
|
+
let s = i("mtr");
|
|
2518
|
+
s.append(g(b)), F.append(s);
|
|
2528
2519
|
}
|
|
2529
|
-
return t.append(B,
|
|
2520
|
+
return t.append(B, F, D), t;
|
|
2530
2521
|
},
|
|
2531
2522
|
// 额外
|
|
2532
2523
|
//
|
|
2533
2524
|
x_table: (n) => {
|
|
2534
|
-
let l =
|
|
2525
|
+
let l = i("mtable");
|
|
2535
2526
|
for (let r of n) {
|
|
2536
|
-
let C =
|
|
2537
|
-
|
|
2527
|
+
let C = i("mtr"), t = [], B = [];
|
|
2528
|
+
for (let D = 0; D < r.length; D++)
|
|
2529
|
+
!r[D].esc && r[D].value == "&" ? B.length > 0 && (t.push(B), B = []) : B.push(r[D]);
|
|
2530
|
+
B.length > 0 && t.push(B);
|
|
2531
|
+
for (let D of t) {
|
|
2532
|
+
let F = i("mtd");
|
|
2533
|
+
C.append(F), F.append(g(D));
|
|
2534
|
+
}
|
|
2535
|
+
l.append(C);
|
|
2538
2536
|
}
|
|
2539
2537
|
return l;
|
|
2540
2538
|
}
|
|
@@ -2576,10 +2574,10 @@ let P = {
|
|
|
2576
2574
|
{ id: "liminf", str: "lim inf", limits: !0 },
|
|
2577
2575
|
{ id: "limsup", str: "lim sup", limits: !0 }
|
|
2578
2576
|
];
|
|
2579
|
-
function
|
|
2577
|
+
function f0() {
|
|
2580
2578
|
for (let n of r0)
|
|
2581
|
-
|
|
2582
|
-
let r =
|
|
2579
|
+
L[n.id] = (l) => {
|
|
2580
|
+
let r = L.op([[{ type: "str", value: n.str || n.id }]], {});
|
|
2583
2581
|
if (l) {
|
|
2584
2582
|
let C = document.createDocumentFragment();
|
|
2585
2583
|
return C.append(r, i0(l[0])), C;
|
|
@@ -2587,12 +2585,12 @@ function p0() {
|
|
|
2587
2585
|
return r;
|
|
2588
2586
|
};
|
|
2589
2587
|
}
|
|
2590
|
-
|
|
2588
|
+
f0();
|
|
2591
2589
|
let C0 = [], B0 = ["∏", "∐", "∑", "⋀", "⋁", "⋂", "⋃", "⨀", "⨁", "⨂", "⨃", "⨄", "⨅", "⨆"];
|
|
2592
2590
|
for (let n in I)
|
|
2593
2591
|
for (let l of B0)
|
|
2594
2592
|
I[n] == l && C0.push(n);
|
|
2595
|
-
function
|
|
2593
|
+
function p0() {
|
|
2596
2594
|
const n = [
|
|
2597
2595
|
"grave",
|
|
2598
2596
|
"acute",
|
|
@@ -2611,44 +2609,44 @@ function E0() {
|
|
|
2611
2609
|
"arrow.l"
|
|
2612
2610
|
];
|
|
2613
2611
|
for (let l of n)
|
|
2614
|
-
|
|
2612
|
+
L[l] = (r) => L.accent([r[0], [{ type: "f", value: l }]], {});
|
|
2615
2613
|
}
|
|
2616
|
-
|
|
2617
|
-
function
|
|
2614
|
+
p0();
|
|
2615
|
+
function E0() {
|
|
2618
2616
|
let n = [
|
|
2619
|
-
{ name: "abs", l:
|
|
2620
|
-
{ name: "norm", l:
|
|
2621
|
-
{ name: "floor", l:
|
|
2622
|
-
{ name: "ceil", l:
|
|
2623
|
-
{ name: "round", l:
|
|
2617
|
+
{ name: "abs", l: j("|"), r: j("|") },
|
|
2618
|
+
{ name: "norm", l: j("‖"), r: j("‖") },
|
|
2619
|
+
{ name: "floor", l: j("⌊"), r: j("⌋") },
|
|
2620
|
+
{ name: "ceil", l: j("⌈"), r: j("⌉") },
|
|
2621
|
+
{ name: "round", l: j("⌊"), r: j("⌉") }
|
|
2624
2622
|
];
|
|
2625
2623
|
for (let l of n)
|
|
2626
|
-
|
|
2624
|
+
L[l.name] = (r) => L.lr([[l.l, ...r[0], l.r]], {});
|
|
2627
2625
|
}
|
|
2628
|
-
|
|
2626
|
+
E0();
|
|
2629
2627
|
function H(n, l, r, C) {
|
|
2630
|
-
let t = n == "under" ?
|
|
2628
|
+
let t = n == "under" ? i("munder", null, { accentunder: "true" }) : i("mover", null, { accent: "true" }), B = i("mrow");
|
|
2631
2629
|
if (B.append(g(l)), C) {
|
|
2632
|
-
let
|
|
2633
|
-
|
|
2634
|
-
let
|
|
2635
|
-
|
|
2630
|
+
let D = i("mrow");
|
|
2631
|
+
D.append(g(C));
|
|
2632
|
+
let F = n == "under" ? i("munder") : i("mover"), E = i("mo", r);
|
|
2633
|
+
F.append(E, D), t.append(B, F);
|
|
2636
2634
|
} else {
|
|
2637
|
-
let
|
|
2638
|
-
t.append(B,
|
|
2635
|
+
let D = i("mo", r);
|
|
2636
|
+
t.append(B, D);
|
|
2639
2637
|
}
|
|
2640
2638
|
return t;
|
|
2641
2639
|
}
|
|
2642
2640
|
function i0(n) {
|
|
2643
|
-
let l =
|
|
2644
|
-
r.
|
|
2645
|
-
let C = g(n), t =
|
|
2646
|
-
return t.
|
|
2641
|
+
let l = i("mrow"), r = i("mo");
|
|
2642
|
+
r.textContent = "(";
|
|
2643
|
+
let C = g(n), t = i("mo");
|
|
2644
|
+
return t.textContent = ")", l.append(r, C, t), l;
|
|
2647
2645
|
}
|
|
2648
|
-
function
|
|
2646
|
+
function S(n) {
|
|
2649
2647
|
return n.type == "group" ? n.children : [n];
|
|
2650
2648
|
}
|
|
2651
|
-
function
|
|
2649
|
+
function b0(n) {
|
|
2652
2650
|
return [{ type: "group", value: "", children: n }];
|
|
2653
2651
|
}
|
|
2654
2652
|
function W(n) {
|
|
@@ -2678,23 +2676,27 @@ function Q(n) {
|
|
|
2678
2676
|
function U(n, l) {
|
|
2679
2677
|
return n.value == l && n.type == "v" && !n.esc;
|
|
2680
2678
|
}
|
|
2681
|
-
let
|
|
2682
|
-
function
|
|
2679
|
+
let T = { type: "v", value: "," };
|
|
2680
|
+
function j(n) {
|
|
2683
2681
|
return { type: "v", value: n };
|
|
2684
2682
|
}
|
|
2685
2683
|
function Y(n) {
|
|
2686
2684
|
let l = [];
|
|
2687
|
-
for (let r in n)
|
|
2688
|
-
l.push({ type: "f", value: r }), l.push({ type: "v", value: ":" })
|
|
2685
|
+
for (let r in n) {
|
|
2686
|
+
l.push({ type: "f", value: r }), l.push({ type: "v", value: ":" });
|
|
2687
|
+
for (let C of n[r])
|
|
2688
|
+
C.type == "v" && C.value == "," && (C.esc = !0);
|
|
2689
|
+
l.push(...n[r]), Number(r) + 1 != Object.keys(n).length && l.push(T);
|
|
2690
|
+
}
|
|
2689
2691
|
return l;
|
|
2690
2692
|
}
|
|
2691
2693
|
function l0(n) {
|
|
2692
|
-
var l, r, C, t, B,
|
|
2694
|
+
var l, r, C, t, B, D, F, E, f, b, s, p, P, O, K, Z, V, J, R, M, $;
|
|
2693
2695
|
{
|
|
2694
2696
|
let A = [], h = /[0-9]/, N = "";
|
|
2695
2697
|
for (let y in n) {
|
|
2696
|
-
let
|
|
2697
|
-
k.value.match(h) || n[
|
|
2698
|
+
let u = Number(y), k = n[u];
|
|
2699
|
+
k.value.match(h) || n[u - 1] && n[u - 1].value.match(h) && k.value == "." && n[u + 1] && n[u + 1].value.match(h) ? N += k.value : A.push(k), k.value.match(h) && (!n[u + 1] || !n[u + 1].value.match(/[0-9]/)) && !(((l = n[u + 1]) == null ? void 0 : l.value) == "." && ((r = n[u + 2]) != null && r.value.match(h))) && (A.push({ type: "v", value: N }), N = "");
|
|
2698
2700
|
}
|
|
2699
2701
|
n = A;
|
|
2700
2702
|
}
|
|
@@ -2705,21 +2707,21 @@ function l0(n) {
|
|
|
2705
2707
|
h--;
|
|
2706
2708
|
continue;
|
|
2707
2709
|
}
|
|
2708
|
-
let y = Number(N),
|
|
2710
|
+
let y = Number(N), u = n[y];
|
|
2709
2711
|
if (((C = n == null ? void 0 : n[y - 1]) == null ? void 0 : C.value) != "\\")
|
|
2710
|
-
if (
|
|
2711
|
-
let k = y, w =
|
|
2712
|
+
if (u.type == "v") {
|
|
2713
|
+
let k = y, w = u.value, x = [];
|
|
2712
2714
|
for (e[w] && x.push(w); ((t = n == null ? void 0 : n[k + 1]) == null ? void 0 : t.type) == "v" && w.length <= o; )
|
|
2713
2715
|
w += n[k + 1].value, e[w] && x.push(w), k++;
|
|
2714
2716
|
if (x.length) {
|
|
2715
|
-
let
|
|
2716
|
-
A.push(
|
|
2717
|
+
let a = { type: "f", value: e[x.at(-1)] };
|
|
2718
|
+
A.push(a), h = x.at(-1).length - 1;
|
|
2717
2719
|
} else
|
|
2718
|
-
A.push(
|
|
2720
|
+
A.push(u);
|
|
2719
2721
|
} else
|
|
2720
|
-
A.push(
|
|
2722
|
+
A.push(u);
|
|
2721
2723
|
else
|
|
2722
|
-
A.push(
|
|
2724
|
+
A.push(u);
|
|
2723
2725
|
}
|
|
2724
2726
|
n = A;
|
|
2725
2727
|
}
|
|
@@ -2730,8 +2732,8 @@ function l0(n) {
|
|
|
2730
2732
|
h--;
|
|
2731
2733
|
continue;
|
|
2732
2734
|
}
|
|
2733
|
-
let y = Number(N),
|
|
2734
|
-
if (
|
|
2735
|
+
let y = Number(N), u = n[y];
|
|
2736
|
+
if (u.value == "\\" && u.type == "v") {
|
|
2735
2737
|
if (n != null && n[y + 1]) {
|
|
2736
2738
|
let k = n[y + 1];
|
|
2737
2739
|
if (k.value == "\\" && k.type == "v")
|
|
@@ -2747,7 +2749,7 @@ function l0(n) {
|
|
|
2747
2749
|
}
|
|
2748
2750
|
}
|
|
2749
2751
|
} else
|
|
2750
|
-
A.push(
|
|
2752
|
+
A.push(u);
|
|
2751
2753
|
}
|
|
2752
2754
|
n = A;
|
|
2753
2755
|
}
|
|
@@ -2758,15 +2760,15 @@ function l0(n) {
|
|
|
2758
2760
|
h--;
|
|
2759
2761
|
continue;
|
|
2760
2762
|
}
|
|
2761
|
-
let y = Number(N),
|
|
2762
|
-
if (
|
|
2763
|
-
|
|
2764
|
-
for (let k in
|
|
2765
|
-
|
|
2766
|
-
A.push(
|
|
2763
|
+
let y = Number(N), u = n[y];
|
|
2764
|
+
if (u.type == "f" && n[y + 1] && n[y + 1].type == "group") {
|
|
2765
|
+
u.children = n[y + 1].children;
|
|
2766
|
+
for (let k in u.children)
|
|
2767
|
+
u.children[k].value == "\\" && u.children[k].type == "v" && u.children[Number(k) + 1] && (u.children[Number(k) + 1].esc = !0);
|
|
2768
|
+
A.push(u), h = 1;
|
|
2767
2769
|
continue;
|
|
2768
2770
|
} else
|
|
2769
|
-
A.push(
|
|
2771
|
+
A.push(u);
|
|
2770
2772
|
}
|
|
2771
2773
|
n = A;
|
|
2772
2774
|
}
|
|
@@ -2778,57 +2780,57 @@ function l0(n) {
|
|
|
2778
2780
|
}
|
|
2779
2781
|
{
|
|
2780
2782
|
let A = [], h = NaN;
|
|
2781
|
-
for (let
|
|
2782
|
-
const k = n[
|
|
2783
|
-
k.value != "^" && k.value != "_" && ((((B = n[
|
|
2783
|
+
for (let u = 0; u < n.length; u++) {
|
|
2784
|
+
const k = n[u];
|
|
2785
|
+
k.value != "^" && k.value != "_" && ((((B = n[u + 1]) == null ? void 0 : B.value) == "^" || ((D = n[u + 1]) == null ? void 0 : D.value) == "_") && !(((F = n[u - 1]) == null ? void 0 : F.value) == "^" || ((E = n[u - 1]) == null ? void 0 : E.value) == "_") && (h || (h = u)), (((f = n[u - 1]) == null ? void 0 : f.value) == "^" || ((b = n[u - 1]) == null ? void 0 : b.value) == "_") && !(((s = n[u + 1]) == null ? void 0 : s.value) == "^" || ((p = n[u + 1]) == null ? void 0 : p.value) == "_") && (A.push([h, u]), h = NaN));
|
|
2784
2786
|
}
|
|
2785
2787
|
let N = [], y = 0;
|
|
2786
|
-
for (let
|
|
2788
|
+
for (let u in n) {
|
|
2787
2789
|
if (y > 0) {
|
|
2788
2790
|
y--;
|
|
2789
2791
|
continue;
|
|
2790
2792
|
}
|
|
2791
|
-
if (Number(
|
|
2793
|
+
if (Number(u) == ((P = A == null ? void 0 : A[0]) == null ? void 0 : P[0])) {
|
|
2792
2794
|
{
|
|
2793
2795
|
let w = 0, x = n[A[0][1]];
|
|
2794
|
-
for (let
|
|
2796
|
+
for (let a = A[0][1]; a >= A[0][0]; a--) {
|
|
2795
2797
|
if (w > 0) {
|
|
2796
2798
|
w--;
|
|
2797
2799
|
continue;
|
|
2798
2800
|
}
|
|
2799
|
-
if (((
|
|
2800
|
-
let m = Q([n[
|
|
2801
|
+
if (((O = n[a - 1]) == null ? void 0 : O.value) == "^" && ((K = n[a - 3]) == null ? void 0 : K.value) == "_") {
|
|
2802
|
+
let m = Q([n[a - 4]]) ? { t: S(x), b: S(n[a - 2]) } : { tr: S(x), br: S(n[a - 2]) };
|
|
2801
2803
|
x = {
|
|
2802
2804
|
type: "f",
|
|
2803
2805
|
value: "attach",
|
|
2804
|
-
children: [n[
|
|
2806
|
+
children: [n[a - 4], T, ...Y(m)]
|
|
2805
2807
|
}, w = 4 - 1;
|
|
2806
2808
|
continue;
|
|
2807
2809
|
}
|
|
2808
|
-
if (((
|
|
2809
|
-
let m = Q([n[
|
|
2810
|
+
if (((Z = n[a - 1]) == null ? void 0 : Z.value) == "_" && ((V = n[a - 3]) == null ? void 0 : V.value) == "^") {
|
|
2811
|
+
let m = Q([n[a - 4]]) ? { t: S(n[a - 2]), b: S(x) } : { tr: S(n[a - 2]), br: S(x) };
|
|
2810
2812
|
x = {
|
|
2811
2813
|
type: "f",
|
|
2812
2814
|
value: "attach",
|
|
2813
|
-
children: [n[
|
|
2815
|
+
children: [n[a - 4], T, ...Y(m)]
|
|
2814
2816
|
}, w = 4 - 1;
|
|
2815
2817
|
continue;
|
|
2816
2818
|
}
|
|
2817
|
-
if (((J = n[
|
|
2818
|
-
let m = Q([n[
|
|
2819
|
+
if (((J = n[a - 1]) == null ? void 0 : J.value) == "^") {
|
|
2820
|
+
let m = Q([n[a - 2]]) ? { t: S(x) } : { tr: S(x) };
|
|
2819
2821
|
x = {
|
|
2820
2822
|
type: "f",
|
|
2821
2823
|
value: "attach",
|
|
2822
|
-
children: [n[
|
|
2824
|
+
children: [n[a - 2], T, ...Y(m)]
|
|
2823
2825
|
}, w = 2 - 1;
|
|
2824
2826
|
continue;
|
|
2825
2827
|
}
|
|
2826
|
-
if (((R = n[
|
|
2827
|
-
let m = Q([n[
|
|
2828
|
+
if (((R = n[a - 1]) == null ? void 0 : R.value) == "_") {
|
|
2829
|
+
let m = Q([n[a - 2]]) ? { b: S(x) } : { br: S(x) };
|
|
2828
2830
|
x = {
|
|
2829
2831
|
type: "f",
|
|
2830
2832
|
value: "attach",
|
|
2831
|
-
children: [n[
|
|
2833
|
+
children: [n[a - 2], T, ...Y(m)]
|
|
2832
2834
|
}, w = 2 - 1;
|
|
2833
2835
|
continue;
|
|
2834
2836
|
}
|
|
@@ -2838,35 +2840,35 @@ function l0(n) {
|
|
|
2838
2840
|
y = A[0][1] - A[0][0], A = A.slice(1);
|
|
2839
2841
|
continue;
|
|
2840
2842
|
}
|
|
2841
|
-
N.push(n[
|
|
2843
|
+
N.push(n[u]);
|
|
2842
2844
|
}
|
|
2843
2845
|
n = N;
|
|
2844
2846
|
}
|
|
2845
2847
|
{
|
|
2846
2848
|
let A = [], h = NaN;
|
|
2847
|
-
for (let
|
|
2848
|
-
const k = n[
|
|
2849
|
-
W(k) || (W(n[
|
|
2849
|
+
for (let u = 0; u < n.length; u++) {
|
|
2850
|
+
const k = n[u];
|
|
2851
|
+
W(k) || (W(n[u + 1]) && !W(n[u - 1]) && (h || (h = u)), W(n[u - 1]) && !W(n[u + 1]) && (A.push([h, u]), h = NaN));
|
|
2850
2852
|
}
|
|
2851
2853
|
let N = [], y = 0;
|
|
2852
|
-
for (let
|
|
2854
|
+
for (let u in n) {
|
|
2853
2855
|
if (y > 0) {
|
|
2854
2856
|
y--;
|
|
2855
2857
|
continue;
|
|
2856
2858
|
}
|
|
2857
|
-
if (Number(
|
|
2859
|
+
if (Number(u) == ((M = A == null ? void 0 : A[0]) == null ? void 0 : M[0])) {
|
|
2858
2860
|
{
|
|
2859
2861
|
let w = 0, x = n[A[0][0]];
|
|
2860
|
-
for (let
|
|
2862
|
+
for (let a = A[0][0]; a <= A[0][1]; a++) {
|
|
2861
2863
|
if (w > 0) {
|
|
2862
2864
|
w--;
|
|
2863
2865
|
continue;
|
|
2864
2866
|
}
|
|
2865
|
-
if ((($ = n[
|
|
2867
|
+
if ((($ = n[a + 1]) == null ? void 0 : $.value) == "/") {
|
|
2866
2868
|
x = {
|
|
2867
2869
|
type: "f",
|
|
2868
2870
|
value: "frac",
|
|
2869
|
-
children: [...
|
|
2871
|
+
children: [...S(x), T, ...S(n[a + 2])]
|
|
2870
2872
|
}, w = 2 - 1;
|
|
2871
2873
|
continue;
|
|
2872
2874
|
}
|
|
@@ -2876,7 +2878,7 @@ function l0(n) {
|
|
|
2876
2878
|
y = A[0][1] - A[0][0], A.splice(0, 1);
|
|
2877
2879
|
continue;
|
|
2878
2880
|
}
|
|
2879
|
-
N.push(n[
|
|
2881
|
+
N.push(n[u]);
|
|
2880
2882
|
}
|
|
2881
2883
|
n = N;
|
|
2882
2884
|
}
|
|
@@ -2898,15 +2900,15 @@ function g(n) {
|
|
|
2898
2900
|
if (C(n), r) {
|
|
2899
2901
|
{
|
|
2900
2902
|
let B = [];
|
|
2901
|
-
for (let
|
|
2902
|
-
let
|
|
2903
|
-
|
|
2903
|
+
for (let D in n) {
|
|
2904
|
+
let F = n[D];
|
|
2905
|
+
F.type == "group" ? (B.push(j("(")), B.push(...l0(F.children)), B.push(j(")"))) : B.push(F);
|
|
2904
2906
|
}
|
|
2905
2907
|
n = B;
|
|
2906
2908
|
}
|
|
2907
2909
|
for (let B = 0; B < n.length; B++) {
|
|
2908
|
-
const
|
|
2909
|
-
n0(
|
|
2910
|
+
const D = n[B];
|
|
2911
|
+
n0(D) && (n[B] = T);
|
|
2910
2912
|
}
|
|
2911
2913
|
let t = [];
|
|
2912
2914
|
t.push({ type: "f", value: "x_table", children: n }), n = t;
|
|
@@ -2915,68 +2917,70 @@ function g(n) {
|
|
|
2915
2917
|
for (let r in n) {
|
|
2916
2918
|
let C = Number(r), t = n[C];
|
|
2917
2919
|
if (t.type == "f" && t.children) {
|
|
2918
|
-
let B = "array",
|
|
2919
|
-
for (let
|
|
2920
|
-
const p = t.children[
|
|
2921
|
-
if (Number(
|
|
2922
|
-
if (p.type == "blank" && t.children[Number(
|
|
2920
|
+
let B = "array", D = [], F = [], E = [], f = [];
|
|
2921
|
+
for (let s in t.children) {
|
|
2922
|
+
const p = t.children[s];
|
|
2923
|
+
if (Number(s) + 1 == t.children.length) {
|
|
2924
|
+
if (p.type == "blank" && t.children[Number(s) - 1].value.match(/[,;]/))
|
|
2923
2925
|
break;
|
|
2924
|
-
!U(p, ",") && !U(p, ";") &&
|
|
2926
|
+
!U(p, ",") && !U(p, ";") && f.push(p), B == "dic" ? (F.push(f), f = []) : D.push(f), E.length && (E.push(D), D = []), f = [];
|
|
2925
2927
|
} else
|
|
2926
|
-
U(p, ",") ? (B == "dic" ? (
|
|
2928
|
+
U(p, ",") ? (B == "dic" ? (F.push(f), B = "array") : D.push(f), f = []) : U(p, ";") ? (D.push(f), f = [], E.push(D), D = []) : (f.push(p), U(p, ":") && (B = "dic"));
|
|
2927
2929
|
}
|
|
2928
2930
|
let b = {};
|
|
2929
|
-
for (let
|
|
2930
|
-
let p = "",
|
|
2931
|
-
for (let
|
|
2932
|
-
p ?
|
|
2933
|
-
b[p] =
|
|
2931
|
+
for (let s of F) {
|
|
2932
|
+
let p = "", P = [];
|
|
2933
|
+
for (let O of s)
|
|
2934
|
+
p ? O.value != ":" && P.push(O) : p = O.value;
|
|
2935
|
+
b[p] = P;
|
|
2934
2936
|
}
|
|
2935
|
-
if (
|
|
2936
|
-
console.log(
|
|
2937
|
-
let
|
|
2938
|
-
l.append(
|
|
2937
|
+
if (L[t.value]) {
|
|
2938
|
+
console.log(D, b, E);
|
|
2939
|
+
let s = L[t.value](D, b, E);
|
|
2940
|
+
l.append(s);
|
|
2939
2941
|
} else if (I[t.value]) {
|
|
2940
|
-
let
|
|
2941
|
-
l.append(
|
|
2942
|
+
let s = i("mo", I[t.value]);
|
|
2943
|
+
l.append(s, g(b0(t.children)));
|
|
2942
2944
|
}
|
|
2943
2945
|
}
|
|
2944
2946
|
if (t.type == "f" && !t.children) {
|
|
2945
2947
|
if (I[t.value]) {
|
|
2946
|
-
let B
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2948
|
+
let B;
|
|
2949
|
+
t.value.match(/[a-zA-Z\u0391-\u03C9]/) ? B = "mi" : B = "mo";
|
|
2950
|
+
let D = i(B, I[t.value]);
|
|
2951
|
+
l.append(D);
|
|
2952
|
+
} else if (L[t.value]) {
|
|
2953
|
+
let B = L[t.value]();
|
|
2950
2954
|
l.append(B);
|
|
2951
2955
|
}
|
|
2952
2956
|
}
|
|
2953
2957
|
if (t.type == "str") {
|
|
2954
|
-
let B =
|
|
2958
|
+
let B = i("ms", t.value);
|
|
2955
2959
|
l.append(B);
|
|
2956
2960
|
}
|
|
2957
2961
|
if (t.type == "v") {
|
|
2958
2962
|
let B;
|
|
2959
|
-
t.value.match(/[0-9]+/) ? B = "mn" : t.value.match(/[a-zA-Z]/) ? B = "mi" : B = "mo";
|
|
2960
|
-
let
|
|
2961
|
-
l.append(
|
|
2963
|
+
t.value.match(/[0-9]+/) ? B = "mn" : t.value.match(/[a-zA-Z\u0391-\u03C9]/) ? B = "mi" : B = "mo";
|
|
2964
|
+
let D = i(B, t.value);
|
|
2965
|
+
l.append(D);
|
|
2962
2966
|
}
|
|
2963
2967
|
t.type == "group" && l.append(i0(t.children));
|
|
2964
2968
|
}
|
|
2965
2969
|
return l;
|
|
2966
2970
|
}
|
|
2967
|
-
function
|
|
2968
|
-
let l =
|
|
2971
|
+
function h0(n) {
|
|
2972
|
+
let l = s0(n);
|
|
2969
2973
|
console.log(l);
|
|
2970
|
-
let r =
|
|
2974
|
+
let r = i("math");
|
|
2971
2975
|
r.setAttribute("display", "block");
|
|
2972
2976
|
let C = g(l);
|
|
2973
2977
|
return r.append(C), r;
|
|
2974
2978
|
}
|
|
2975
|
-
function
|
|
2976
|
-
return
|
|
2979
|
+
function m0(n) {
|
|
2980
|
+
return h0(n).outerHTML;
|
|
2977
2981
|
}
|
|
2978
2982
|
export {
|
|
2979
|
-
|
|
2980
|
-
|
|
2983
|
+
h0 as toMML,
|
|
2984
|
+
m0 as toMMLHTML
|
|
2981
2985
|
};
|
|
2982
2986
|
//# sourceMappingURL=xmmath.es.js.map
|