xmmath 1.0.3 → 1.0.5
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 +586 -524
- 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 +2 -1
- package/src/main.ts +395 -242
- package/test/text.html +0 -32
package/dist/xmmath.es.js
CHANGED
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
function
|
|
1
|
+
function s0(n) {
|
|
2
2
|
return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
|
|
3
3
|
}
|
|
4
|
-
var
|
|
4
|
+
var B0 = { exports: {} };
|
|
5
5
|
(function(n) {
|
|
6
6
|
function l() {
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
return 55296 <= x.charCodeAt(
|
|
7
|
+
var t = 0, r = 1, i = 2, B = 3, a = 4, F = 5, s = 6, b = 7, E = 8, v = 9, g = 10, M = 11, S = 12, z = 13, k = 14, P = 15, $ = 16, L = 17, _ = 0, G = 1, R = 2, J = 3, W = 4;
|
|
8
|
+
function U(x, C) {
|
|
9
|
+
return 55296 <= x.charCodeAt(C) && x.charCodeAt(C) <= 56319 && 56320 <= x.charCodeAt(C + 1) && x.charCodeAt(C + 1) <= 57343;
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
var
|
|
14
|
-
if (55296 <=
|
|
15
|
-
var
|
|
16
|
-
return 56320 <=
|
|
11
|
+
function K(x, C) {
|
|
12
|
+
C === void 0 && (C = 0);
|
|
13
|
+
var A = x.charCodeAt(C);
|
|
14
|
+
if (55296 <= A && A <= 56319 && C < x.length - 1) {
|
|
15
|
+
var u = A, m = x.charCodeAt(C + 1);
|
|
16
|
+
return 56320 <= m && m <= 57343 ? (u - 55296) * 1024 + (m - 56320) + 65536 : u;
|
|
17
17
|
}
|
|
18
|
-
if (56320 <=
|
|
19
|
-
var
|
|
20
|
-
return 55296 <=
|
|
18
|
+
if (56320 <= A && A <= 57343 && C >= 1) {
|
|
19
|
+
var u = x.charCodeAt(C - 1), m = A;
|
|
20
|
+
return 55296 <= u && u <= 56319 ? (u - 55296) * 1024 + (m - 56320) + 65536 : m;
|
|
21
21
|
}
|
|
22
|
-
return
|
|
22
|
+
return A;
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
var
|
|
26
|
-
if (
|
|
27
|
-
return
|
|
28
|
-
}) && [B,
|
|
29
|
-
return
|
|
30
|
-
var
|
|
31
|
-
if (
|
|
32
|
-
return
|
|
33
|
-
}) && [S,
|
|
34
|
-
return
|
|
35
|
-
return
|
|
36
|
-
}).length % 2 == 1 ?
|
|
37
|
-
if (
|
|
38
|
-
return
|
|
39
|
-
if (
|
|
40
|
-
return
|
|
41
|
-
return
|
|
42
|
-
}) ?
|
|
43
|
-
if (
|
|
44
|
-
return
|
|
45
|
-
if (
|
|
46
|
-
return
|
|
47
|
-
if ((
|
|
48
|
-
return
|
|
49
|
-
if ((
|
|
50
|
-
return
|
|
51
|
-
if (
|
|
52
|
-
return
|
|
53
|
-
if (
|
|
54
|
-
return
|
|
55
|
-
if (
|
|
56
|
-
return
|
|
57
|
-
var
|
|
58
|
-
return [
|
|
59
|
-
return
|
|
60
|
-
}) &&
|
|
24
|
+
function f(x, C, A) {
|
|
25
|
+
var u = [x].concat(C).concat([A]), m = u[u.length - 2], y = A, x0 = u.lastIndexOf(k);
|
|
26
|
+
if (x0 > 1 && u.slice(1, x0).every(function(j) {
|
|
27
|
+
return j == B;
|
|
28
|
+
}) && [B, z, L].indexOf(x) == -1)
|
|
29
|
+
return R;
|
|
30
|
+
var n0 = u.lastIndexOf(a);
|
|
31
|
+
if (n0 > 0 && u.slice(1, n0).every(function(j) {
|
|
32
|
+
return j == a;
|
|
33
|
+
}) && [S, a].indexOf(m) == -1)
|
|
34
|
+
return u.filter(function(j) {
|
|
35
|
+
return j == a;
|
|
36
|
+
}).length % 2 == 1 ? J : W;
|
|
37
|
+
if (m == t && y == r)
|
|
38
|
+
return _;
|
|
39
|
+
if (m == i || m == t || m == r)
|
|
40
|
+
return y == k && C.every(function(j) {
|
|
41
|
+
return j == B;
|
|
42
|
+
}) ? R : G;
|
|
43
|
+
if (y == i || y == t || y == r)
|
|
44
|
+
return G;
|
|
45
|
+
if (m == s && (y == s || y == b || y == v || y == g))
|
|
46
|
+
return _;
|
|
47
|
+
if ((m == v || m == b) && (y == b || y == E))
|
|
48
|
+
return _;
|
|
49
|
+
if ((m == g || m == E) && y == E)
|
|
50
|
+
return _;
|
|
51
|
+
if (y == B || y == P)
|
|
52
|
+
return _;
|
|
53
|
+
if (y == F)
|
|
54
|
+
return _;
|
|
55
|
+
if (m == S)
|
|
56
|
+
return _;
|
|
57
|
+
var l0 = u.indexOf(B) != -1 ? u.lastIndexOf(B) - 1 : u.length - 2;
|
|
58
|
+
return [z, L].indexOf(u[l0]) != -1 && u.slice(l0 + 1, -1).every(function(j) {
|
|
59
|
+
return j == B;
|
|
60
|
+
}) && y == k || m == P && [$, L].indexOf(y) != -1 ? _ : C.indexOf(a) != -1 ? R : m == a && y == a ? _ : G;
|
|
61
61
|
}
|
|
62
|
-
this.nextBreak = function(x,
|
|
63
|
-
if (
|
|
62
|
+
this.nextBreak = function(x, C) {
|
|
63
|
+
if (C === void 0 && (C = 0), C < 0)
|
|
64
64
|
return 0;
|
|
65
|
-
if (
|
|
65
|
+
if (C >= x.length - 1)
|
|
66
66
|
return x.length;
|
|
67
|
-
for (var
|
|
68
|
-
if (!
|
|
69
|
-
var
|
|
70
|
-
if (
|
|
71
|
-
return
|
|
72
|
-
|
|
67
|
+
for (var A = p(K(x, C)), u = [], m = C + 1; m < x.length; m++)
|
|
68
|
+
if (!U(x, m - 1)) {
|
|
69
|
+
var y = p(K(x, m));
|
|
70
|
+
if (f(A, u, y))
|
|
71
|
+
return m;
|
|
72
|
+
u.push(y);
|
|
73
73
|
}
|
|
74
74
|
return x.length;
|
|
75
75
|
}, this.splitGraphemes = function(x) {
|
|
76
|
-
for (var
|
|
77
|
-
|
|
78
|
-
return
|
|
76
|
+
for (var C = [], A = 0, u; (u = this.nextBreak(x, A)) < x.length; )
|
|
77
|
+
C.push(x.slice(A, u)), A = u;
|
|
78
|
+
return A < x.length && C.push(x.slice(A)), C;
|
|
79
79
|
}, this.iterateGraphemes = function(x) {
|
|
80
|
-
var
|
|
80
|
+
var C = 0, A = {
|
|
81
81
|
next: function() {
|
|
82
|
-
var
|
|
83
|
-
return (
|
|
82
|
+
var u, m;
|
|
83
|
+
return (m = this.nextBreak(x, C)) < x.length ? (u = x.slice(C, m), C = m, { value: u, done: !1 }) : C < x.length ? (u = x.slice(C), C = x.length, { value: u, done: !1 }) : { value: void 0, done: !0 };
|
|
84
84
|
}.bind(this)
|
|
85
85
|
};
|
|
86
|
-
return typeof Symbol < "u" && Symbol.iterator && (
|
|
87
|
-
return
|
|
88
|
-
}),
|
|
86
|
+
return typeof Symbol < "u" && Symbol.iterator && (A[Symbol.iterator] = function() {
|
|
87
|
+
return A;
|
|
88
|
+
}), A;
|
|
89
89
|
}, this.countGraphemes = function(x) {
|
|
90
|
-
for (var
|
|
91
|
-
|
|
92
|
-
return
|
|
90
|
+
for (var C = 0, A = 0, u; (u = this.nextBreak(x, A)) < x.length; )
|
|
91
|
+
A = u, C++;
|
|
92
|
+
return A < x.length && C++, C;
|
|
93
93
|
};
|
|
94
|
-
function
|
|
94
|
+
function p(x) {
|
|
95
95
|
return 1536 <= x && x <= 1541 || // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
|
|
96
96
|
x == 1757 || // Cf ARABIC END OF AYAH
|
|
97
97
|
x == 1807 || // Cf SYRIAC ABBREVIATION MARK
|
|
@@ -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 ? S : x == 13 ?
|
|
104
|
+
x == 73030 ? S : x == 13 ? t : x == 10 ? r : 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>
|
|
@@ -126,7 +126,7 @@ var t0 = { exports: {} };
|
|
|
126
126
|
x == 917505 || // Cf LANGUAGE TAG
|
|
127
127
|
917506 <= x && x <= 917535 || // Cn [30] <reserved-E0002>..<reserved-E001F>
|
|
128
128
|
917632 <= x && x <= 917759 || // Cn [128] <reserved-E0080>..<reserved-E00FF>
|
|
129
|
-
918e3 <= x && x <= 921599 ?
|
|
129
|
+
918e3 <= x && x <= 921599 ? i : 768 <= x && x <= 879 || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
|
|
130
130
|
1155 <= x && x <= 1159 || // Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
|
|
131
131
|
1160 <= x && x <= 1161 || // Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
|
|
132
132
|
1425 <= x && x <= 1469 || // Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
|
|
@@ -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 ? a : 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,10 +598,10 @@ 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 ?
|
|
602
|
-
43360 <= x && x <= 43388 ?
|
|
603
|
-
55216 <= x && x <= 55238 ?
|
|
604
|
-
55243 <= x && x <= 55291 ?
|
|
601
|
+
x == 119149 ? F : 4352 <= x && x <= 4447 || // Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
|
|
602
|
+
43360 <= x && x <= 43388 ? s : 4448 <= x && x <= 4519 || // Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
|
|
603
|
+
55216 <= x && x <= 55238 ? b : 4520 <= x && x <= 4607 || // Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
|
|
604
|
+
55243 <= x && x <= 55291 ? E : x == 44032 || // Lo HANGUL SYLLABLE GA
|
|
605
605
|
x == 44060 || // Lo HANGUL SYLLABLE GAE
|
|
606
606
|
x == 44088 || // Lo HANGUL SYLLABLE GYA
|
|
607
607
|
x == 44116 || // Lo HANGUL SYLLABLE GYAE
|
|
@@ -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 ? v : 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
|
|
@@ -1397,7 +1397,7 @@ var t0 = { exports: {} };
|
|
|
1397
1397
|
55093 <= x && x <= 55119 || // Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
|
|
1398
1398
|
55121 <= x && x <= 55147 || // Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
|
|
1399
1399
|
55149 <= x && x <= 55175 || // Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
|
|
1400
|
-
55177 <= x && x <= 55203 ?
|
|
1400
|
+
55177 <= x && x <= 55203 ? g : x == 9757 || // So WHITE UP POINTING INDEX
|
|
1401
1401
|
x == 9977 || // So PERSON WITH BALL
|
|
1402
1402
|
9994 <= x && x <= 9997 || // So [4] RAISED FIST..WRITING HAND
|
|
1403
1403
|
x == 127877 || // So FATHER CHRISTMAS
|
|
@@ -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 ?
|
|
1430
|
+
129489 <= x && x <= 129501 ? z : 127995 <= x && x <= 127999 ? k : x == 8205 ? P : 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,14 +1446,14 @@ 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 ?
|
|
1449
|
+
x == 128658 ? $ : 128102 <= x && x <= 128105 ? L : M;
|
|
1450
1450
|
}
|
|
1451
1451
|
return this;
|
|
1452
1452
|
}
|
|
1453
1453
|
n.exports && (n.exports = l);
|
|
1454
|
-
})(
|
|
1455
|
-
var
|
|
1456
|
-
const
|
|
1454
|
+
})(B0);
|
|
1455
|
+
var F0 = B0.exports;
|
|
1456
|
+
const p0 = /* @__PURE__ */ s0(F0), f0 = `{
|
|
1457
1457
|
"wj": "",
|
|
1458
1458
|
"zwj": "",
|
|
1459
1459
|
"zwnj": "",
|
|
@@ -2226,90 +2226,87 @@ const u0 = /* @__PURE__ */ D0(a0), A0 = `{
|
|
|
2226
2226
|
"dotless": [{ "i": "𝚤", "j": "𝚥" }]
|
|
2227
2227
|
}
|
|
2228
2228
|
`;
|
|
2229
|
-
function
|
|
2230
|
-
|
|
2229
|
+
function D(n, l, t) {
|
|
2230
|
+
let r = document.createElementNS("http://www.w3.org/1998/Math/MathML", n);
|
|
2231
|
+
if (l && (r.textContent = l), t)
|
|
2232
|
+
for (let i in t)
|
|
2233
|
+
r.setAttribute(i, t[i]);
|
|
2234
|
+
return r;
|
|
2231
2235
|
}
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
const T = "mathvariant";
|
|
2240
|
-
var s0 = new u0();
|
|
2241
|
-
function f0(n) {
|
|
2242
|
-
let l = /[a-zA-Z.]/, r = /[\(\)]/, C = /[ \t\n\r]+/, t = "", B = [], u = [], f = B, E = "";
|
|
2243
|
-
n = n.replace(/(\\u\{[\dA-Fa-f]+\})/g, (F) => {
|
|
2244
|
-
const p = parseInt(F.slice(3, -1), 16);
|
|
2245
|
-
return String.fromCodePoint(p);
|
|
2236
|
+
const I = "mathvariant";
|
|
2237
|
+
var b0 = new p0();
|
|
2238
|
+
function E0(n) {
|
|
2239
|
+
let l = /[a-zA-Z]/, t = /[\(\)]/, r = /[ \t\n\r]+/, i = "", B = [], a = [], F = B, s = "";
|
|
2240
|
+
n = n.replace(/(\\u\{[\dA-Fa-f]+\})/g, (v) => {
|
|
2241
|
+
const g = parseInt(v.slice(3, -1), 16);
|
|
2242
|
+
return String.fromCodePoint(g);
|
|
2246
2243
|
});
|
|
2247
|
-
let
|
|
2248
|
-
for (let
|
|
2249
|
-
const
|
|
2250
|
-
if (
|
|
2251
|
-
|
|
2244
|
+
let b = [];
|
|
2245
|
+
for (let v = 0; v < n.length; v++) {
|
|
2246
|
+
const g = n[v];
|
|
2247
|
+
if (g == '"' && n[v - 1] != "\\") {
|
|
2248
|
+
i != "str" ? i = "str" : i = "";
|
|
2252
2249
|
continue;
|
|
2253
2250
|
}
|
|
2254
|
-
|
|
2251
|
+
i != "str" && (g == "(" && b.push(v), g == ")" && (b.length == 0 || n[v - 1] != "\\" && b.pop()));
|
|
2255
2252
|
}
|
|
2256
|
-
let
|
|
2257
|
-
for (let
|
|
2258
|
-
const
|
|
2259
|
-
if (
|
|
2260
|
-
|
|
2253
|
+
let E = b0.splitGraphemes(n);
|
|
2254
|
+
for (let v = 0; v < E.length; v++) {
|
|
2255
|
+
const g = E[v];
|
|
2256
|
+
if (g == '"' && E[v - 1] != "\\") {
|
|
2257
|
+
i != "str" ? i = "str" : (F.push({ type: i, value: s }), i = "", s = "");
|
|
2261
2258
|
continue;
|
|
2262
2259
|
}
|
|
2263
|
-
if (
|
|
2264
|
-
|
|
2260
|
+
if (i == "str") {
|
|
2261
|
+
s += g;
|
|
2265
2262
|
continue;
|
|
2266
2263
|
}
|
|
2267
|
-
if (
|
|
2268
|
-
|
|
2264
|
+
if (g.match(r) && (i = "blank"), i == "blank" && !g.match(r) && (F.push({ type: i, value: "" }), i = ""), i == "" && (!E[v - 1] || !E[v - 1].match(l)) && (!E[v + 1] || !E[v + 1].match(l)) && !g.match(t)) {
|
|
2265
|
+
F.push({ type: "v", value: g });
|
|
2269
2266
|
continue;
|
|
2270
2267
|
}
|
|
2271
|
-
if (
|
|
2272
|
-
|
|
2268
|
+
if (i == "" && !g.match(l) && !g.match(t)) {
|
|
2269
|
+
F.push({ type: "v", value: g });
|
|
2273
2270
|
continue;
|
|
2274
2271
|
}
|
|
2275
|
-
if ((
|
|
2276
|
-
if (
|
|
2277
|
-
|
|
2272
|
+
if ((E[v - 1] && E[v - 1].match(l) || E[v + 1] && E[v + 1].match(l)) && g.match(l) && (i = "f"), i == "f" && (s += g), i == "f" && (!E[v + 1] || !E[v + 1].match(l)) && (F.push({ type: i, value: s }), i = "", s = ""), g == "(")
|
|
2273
|
+
if (b.includes(v) || E[v - 1] == "\\")
|
|
2274
|
+
F.push({ type: "v", value: g });
|
|
2278
2275
|
else {
|
|
2279
|
-
|
|
2276
|
+
a.push({ tree: F, close: !1 }), F.push({ type: "group", value: s, children: [] }), F = F.at(-1).children, s = "";
|
|
2280
2277
|
continue;
|
|
2281
2278
|
}
|
|
2282
|
-
if (
|
|
2283
|
-
if (
|
|
2284
|
-
if (
|
|
2285
|
-
|
|
2279
|
+
if (g == ")")
|
|
2280
|
+
if (a.at(-1)) {
|
|
2281
|
+
if (a.at(-1).close == !1) {
|
|
2282
|
+
a.at(-1).close = !0, F = a.at(-1).tree, a.pop();
|
|
2286
2283
|
continue;
|
|
2287
2284
|
}
|
|
2288
2285
|
} else
|
|
2289
|
-
|
|
2286
|
+
F.push({ type: "v", value: g });
|
|
2290
2287
|
}
|
|
2291
2288
|
return B;
|
|
2292
2289
|
}
|
|
2293
|
-
let X = JSON.parse(
|
|
2290
|
+
let X = JSON.parse(f0), w = {};
|
|
2294
2291
|
for (let n in X)
|
|
2295
2292
|
if (typeof X[n] == "string")
|
|
2296
|
-
|
|
2293
|
+
w[n] = X[n];
|
|
2297
2294
|
else
|
|
2298
2295
|
for (let l of X[n])
|
|
2299
2296
|
if (typeof l == "string")
|
|
2300
|
-
|
|
2297
|
+
w[n] = l;
|
|
2301
2298
|
else {
|
|
2302
|
-
|
|
2303
|
-
for (let
|
|
2304
|
-
|
|
2305
|
-
let
|
|
2306
|
-
for (let
|
|
2307
|
-
let B =
|
|
2308
|
-
l[B] || (
|
|
2299
|
+
w[n] || (w[n] = l[Object.keys(l)[0]]);
|
|
2300
|
+
for (let t in l) {
|
|
2301
|
+
w[`${n}.${t}`] = l[t];
|
|
2302
|
+
let r = t.split(".");
|
|
2303
|
+
for (let i = 1; i < r.length; i++) {
|
|
2304
|
+
let B = r.slice(0, i).join(".");
|
|
2305
|
+
l[B] || (w[`${n}.${B}`] = l[t]);
|
|
2309
2306
|
}
|
|
2310
2307
|
}
|
|
2311
2308
|
}
|
|
2312
|
-
let
|
|
2309
|
+
let o = {
|
|
2313
2310
|
"->": "arrow.r",
|
|
2314
2311
|
"|->": "arrow.r.bar",
|
|
2315
2312
|
"=>": "arrow.r.double",
|
|
@@ -2352,193 +2349,202 @@ let e = {
|
|
|
2352
2349
|
"-": "minus",
|
|
2353
2350
|
"'": "prime",
|
|
2354
2351
|
"~": "space.nobreak"
|
|
2355
|
-
},
|
|
2356
|
-
for (let n in
|
|
2357
|
-
n.length >
|
|
2358
|
-
let
|
|
2352
|
+
}, d = 0;
|
|
2353
|
+
for (let n in o)
|
|
2354
|
+
n.length > d && (d = n.length);
|
|
2355
|
+
let O = {
|
|
2359
2356
|
accent: (n, l) => {
|
|
2357
|
+
let t = D("mrow");
|
|
2358
|
+
t.append(h(n[0]));
|
|
2360
2359
|
let r = D("mrow");
|
|
2361
|
-
r.append(
|
|
2362
|
-
let
|
|
2363
|
-
|
|
2364
|
-
let t = D("mover");
|
|
2365
|
-
return t.setAttribute("accent", "true"), t.append(r, C), t;
|
|
2360
|
+
r.append(h(n[1]));
|
|
2361
|
+
let i = D("mover");
|
|
2362
|
+
return i.setAttribute("accent", "true"), i.append(t, r), i;
|
|
2366
2363
|
},
|
|
2367
2364
|
attach: (n, l) => {
|
|
2368
|
-
let r = D("mrow");
|
|
2369
|
-
r.append(g(n[0]));
|
|
2370
|
-
let C = D("mmultiscripts");
|
|
2371
|
-
C.append(r);
|
|
2372
2365
|
let t = D("mrow");
|
|
2373
|
-
|
|
2366
|
+
t.append(h(n[0]));
|
|
2367
|
+
let r, i = D("mrow");
|
|
2368
|
+
l.tl && i.append(h(l.tl));
|
|
2374
2369
|
let B = D("mrow");
|
|
2375
|
-
l.bl && B.append(
|
|
2376
|
-
let
|
|
2377
|
-
l.tr &&
|
|
2378
|
-
let
|
|
2379
|
-
if (l.br &&
|
|
2380
|
-
let
|
|
2381
|
-
|
|
2382
|
-
let F = D("mrow");
|
|
2383
|
-
F.append(g(n[0])), E.append(F);
|
|
2384
|
-
} else
|
|
2385
|
-
E.append(C);
|
|
2386
|
-
let s = D("mrow");
|
|
2387
|
-
l.t && s.append(g(l.t));
|
|
2370
|
+
l.bl && B.append(h(l.bl));
|
|
2371
|
+
let a = D("mrow");
|
|
2372
|
+
l.tr && a.append(h(l.tr));
|
|
2373
|
+
let F = D("mrow");
|
|
2374
|
+
if (l.br && F.append(h(l.br)), (l.tl || l.bl || l.tr || l.br) && (l.tl || l.bl ? (r = D("mmultiscripts"), r.append(t, F, a, D("mprescripts"), B, i)) : l.tr && l.br ? (r = D("msubsup"), r.append(t, F, a)) : l.tr ? (r = D("msup"), r.append(t, a)) : (r = D("msub"), r.append(t, F))), l.t || l.b) {
|
|
2375
|
+
let s = D("munderover");
|
|
2376
|
+
r ? s.append(r) : s.append(t);
|
|
2388
2377
|
let b = D("mrow");
|
|
2389
|
-
l.
|
|
2378
|
+
l.t && b.append(h(l.t));
|
|
2379
|
+
let E = D("mrow");
|
|
2380
|
+
l.b && E.append(h(l.b)), s.append(E, b), r = s;
|
|
2390
2381
|
}
|
|
2391
|
-
return
|
|
2382
|
+
return r;
|
|
2392
2383
|
},
|
|
2393
|
-
scripts: (n, l) =>
|
|
2394
|
-
limits: (n, l) =>
|
|
2384
|
+
scripts: (n, l) => h(n[0]),
|
|
2385
|
+
limits: (n, l) => h(n[0]),
|
|
2395
2386
|
binom: (n, l) => {
|
|
2396
|
-
let
|
|
2397
|
-
|
|
2398
|
-
let
|
|
2399
|
-
|
|
2387
|
+
let t = D("mrow"), r = D("mrow");
|
|
2388
|
+
r.append(h(n[0]));
|
|
2389
|
+
let i = D("mrow");
|
|
2390
|
+
i.append(h(n[1]));
|
|
2400
2391
|
let B = D("mfrac", null, { linethickness: "0" });
|
|
2401
|
-
B.append(
|
|
2402
|
-
let
|
|
2403
|
-
return
|
|
2392
|
+
B.append(r, i);
|
|
2393
|
+
let a = D("mo", "("), F = D("mo", ")");
|
|
2394
|
+
return t.append(a, B, F), t;
|
|
2404
2395
|
},
|
|
2405
2396
|
cancel: (n, l) => {
|
|
2397
|
+
let t = D("mrow");
|
|
2398
|
+
const r = (B) => `linear-gradient(to ${B ? "left" : "right"} top, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%)`;
|
|
2399
|
+
let i = "";
|
|
2400
|
+
return r0(l.cross) ? i = r(!0) + "," + r(!1) : r0(l.inverted) ? i = r(!1) : i = r(!0), t.style.backgroundImage = i, t.append(h(n[0])), t;
|
|
2406
2401
|
},
|
|
2407
2402
|
cases: (n, l) => {
|
|
2408
|
-
var B,
|
|
2409
|
-
let
|
|
2410
|
-
|
|
2411
|
-
let E = D("mtr"), s = D("mtd");
|
|
2412
|
-
s.append(g(f)), E.append(s), t.append(E);
|
|
2413
|
-
}
|
|
2414
|
-
return r.append(C, t), r;
|
|
2403
|
+
var B, a;
|
|
2404
|
+
let t = D("mrow"), r = D("mo", ((a = (B = l == null ? void 0 : l.delim) == null ? void 0 : B[0]) == null ? void 0 : a.value) || "{"), i = O.x_table(n, { cases: [] });
|
|
2405
|
+
return t.append(r, i), t;
|
|
2415
2406
|
},
|
|
2416
2407
|
frac: (n, l) => {
|
|
2417
2408
|
console.log(n);
|
|
2409
|
+
let t = D("mrow");
|
|
2410
|
+
t.append(h(n[0]));
|
|
2418
2411
|
let r = D("mrow");
|
|
2419
|
-
r.append(
|
|
2420
|
-
let
|
|
2421
|
-
|
|
2422
|
-
let t = D("mfrac");
|
|
2423
|
-
return t.append(r, C), t;
|
|
2412
|
+
r.append(h(n[1]));
|
|
2413
|
+
let i = D("mfrac");
|
|
2414
|
+
return i.append(t, r), i;
|
|
2424
2415
|
},
|
|
2425
2416
|
lr: (n, l) => {
|
|
2426
|
-
let
|
|
2427
|
-
for (let
|
|
2428
|
-
const
|
|
2429
|
-
if (
|
|
2430
|
-
|
|
2417
|
+
let t = n[0], r, i;
|
|
2418
|
+
for (let b = 0; b < t.length; b++) {
|
|
2419
|
+
const E = t[b];
|
|
2420
|
+
if (E.type != "blank") {
|
|
2421
|
+
r = { c: [E], n: b };
|
|
2431
2422
|
break;
|
|
2432
2423
|
}
|
|
2433
2424
|
}
|
|
2434
|
-
for (let
|
|
2435
|
-
const
|
|
2436
|
-
if (
|
|
2437
|
-
|
|
2425
|
+
for (let b = t.length - 1; b >= 0; b--) {
|
|
2426
|
+
const E = t[b];
|
|
2427
|
+
if (E.type != "blank") {
|
|
2428
|
+
i = { c: [E], n: b };
|
|
2438
2429
|
break;
|
|
2439
2430
|
}
|
|
2440
2431
|
}
|
|
2441
2432
|
let B = document.createDocumentFragment();
|
|
2442
|
-
B.append(
|
|
2443
|
-
let
|
|
2444
|
-
|
|
2445
|
-
let
|
|
2446
|
-
|
|
2447
|
-
let
|
|
2448
|
-
return
|
|
2433
|
+
B.append(h(r.c));
|
|
2434
|
+
let a = document.createDocumentFragment();
|
|
2435
|
+
a.append(h(i.c));
|
|
2436
|
+
let F = document.createDocumentFragment();
|
|
2437
|
+
F.append(h(t.slice(r.n + 1, i.n)));
|
|
2438
|
+
let s = D("mrow");
|
|
2439
|
+
return s.append(B, F, a), s;
|
|
2449
2440
|
},
|
|
2450
|
-
mat: (n, l,
|
|
2451
|
-
var
|
|
2452
|
-
let
|
|
2453
|
-
for (let
|
|
2454
|
-
let
|
|
2455
|
-
for (let
|
|
2441
|
+
mat: (n, l, t) => {
|
|
2442
|
+
var b, E;
|
|
2443
|
+
let r = ((E = (b = l == null ? void 0 : l.delim) == null ? void 0 : b[0]) == null ? void 0 : E.value) || "(", i = { "(": ["(", ")"], "[": ["[", "]"], "{": ["{", "}"], "|": ["|", "|"], "||": ["‖", "‖"] }, B = D("mrow"), a = D("mo", i[r][0]), F = D("mo", i[r][1]), s = D("mtable");
|
|
2444
|
+
for (let v of t) {
|
|
2445
|
+
let g = D("mtr");
|
|
2446
|
+
for (let M of v) {
|
|
2456
2447
|
let S = D("mtd");
|
|
2457
|
-
S.append(
|
|
2448
|
+
S.append(h(M)), g.append(S);
|
|
2458
2449
|
}
|
|
2459
|
-
|
|
2450
|
+
s.append(g);
|
|
2460
2451
|
}
|
|
2461
|
-
return B.append(
|
|
2452
|
+
return B.append(a, s, F), B;
|
|
2462
2453
|
},
|
|
2463
2454
|
root: (n, l) => {
|
|
2455
|
+
let t = D("mrow");
|
|
2456
|
+
t.append(h(n[0]));
|
|
2464
2457
|
let r = D("mrow");
|
|
2465
|
-
r.append(
|
|
2466
|
-
let
|
|
2467
|
-
|
|
2468
|
-
let t = D("mroot");
|
|
2469
|
-
return t.append(C, r), t;
|
|
2458
|
+
r.append(h(n[1]));
|
|
2459
|
+
let i = D("mroot");
|
|
2460
|
+
return i.append(r, t), i;
|
|
2470
2461
|
},
|
|
2471
|
-
sqrt: (n, l) =>
|
|
2462
|
+
sqrt: (n, l) => O.root([[], n[0]], null),
|
|
2472
2463
|
display: (n, l) => {
|
|
2464
|
+
let t = D("mrow", null, { displaystyle: "true" });
|
|
2465
|
+
return t.append(h(n[0])), t;
|
|
2473
2466
|
},
|
|
2474
2467
|
inline: (n, l) => {
|
|
2468
|
+
let t = D("mrow", null, { displaystyle: "false", scriptlevel: "0" });
|
|
2469
|
+
return t.append(h(n[0])), t;
|
|
2475
2470
|
},
|
|
2476
2471
|
script: (n, l) => {
|
|
2472
|
+
let t = D("mrow", null, { displaystyle: "false", scriptlevel: "1" });
|
|
2473
|
+
return t.append(h(n[0])), t;
|
|
2477
2474
|
},
|
|
2478
2475
|
sscript: (n, l) => {
|
|
2476
|
+
let t = D("mrow", null, { displaystyle: "false", scriptlevel: "2" });
|
|
2477
|
+
return t.append(h(n[0])), t;
|
|
2479
2478
|
},
|
|
2480
2479
|
upright: (n, l) => {
|
|
2481
|
-
let
|
|
2482
|
-
return
|
|
2483
|
-
|
|
2484
|
-
}),
|
|
2485
|
-
|
|
2486
|
-
}),
|
|
2480
|
+
let t = D("mrow");
|
|
2481
|
+
return t.append(h(n[0])), t.querySelectorAll("mi").forEach((r) => {
|
|
2482
|
+
r.getAttribute(I) || r.setAttribute(I, "normal");
|
|
2483
|
+
}), t.querySelectorAll("ms").forEach((r) => {
|
|
2484
|
+
r.getAttribute(I) || r.setAttribute(I, "normal");
|
|
2485
|
+
}), t;
|
|
2487
2486
|
},
|
|
2488
2487
|
italic: (n, l) => {
|
|
2489
|
-
let
|
|
2490
|
-
return
|
|
2491
|
-
|
|
2492
|
-
}),
|
|
2493
|
-
|
|
2494
|
-
}),
|
|
2488
|
+
let t = D("mrow");
|
|
2489
|
+
return t.querySelectorAll("mi").forEach((r) => {
|
|
2490
|
+
r.getAttribute(I) || r.setAttribute(I, "italic");
|
|
2491
|
+
}), t.querySelectorAll("ms").forEach((r) => {
|
|
2492
|
+
r.getAttribute(I) || r.setAttribute(I, "italic");
|
|
2493
|
+
}), t.append(h(n[0])), t;
|
|
2495
2494
|
},
|
|
2496
2495
|
bold: (n, l) => {
|
|
2497
|
-
let
|
|
2498
|
-
return
|
|
2499
|
-
},
|
|
2500
|
-
op: (n, l) => {
|
|
2501
|
-
let r = D("mrow"), C = D("ms", n[0][0].value);
|
|
2502
|
-
return r.append(C), r;
|
|
2503
|
-
},
|
|
2504
|
-
underline: (n, l) => H("under", n[0], "_", n == null ? void 0 : n[1]),
|
|
2505
|
-
overline: (n, l) => H("over", n[0], "‾", n == null ? void 0 : n[1]),
|
|
2506
|
-
underbrace: (n, l) => H("under", n[0], "⏟", n == null ? void 0 : n[1]),
|
|
2507
|
-
overbrace: (n, l) => H("over", n[0], "⏞", n == null ? void 0 : n[1]),
|
|
2508
|
-
underbracket: (n, l) => H("under", n[0], "⎵", n == null ? void 0 : n[1]),
|
|
2509
|
-
overbracket: (n, l) => H("over", n[0], "⎴", n == null ? void 0 : n[1]),
|
|
2510
|
-
serif: (n, l) => {
|
|
2511
|
-
},
|
|
2512
|
-
sans: (n, l) => {
|
|
2513
|
-
},
|
|
2514
|
-
frak: (n, l) => {
|
|
2515
|
-
},
|
|
2516
|
-
mono: (n, l) => {
|
|
2517
|
-
},
|
|
2518
|
-
bb: (n, l) => {
|
|
2496
|
+
let t = D("mrow");
|
|
2497
|
+
return t.style.fontWeight = "bold", t.append(h(n[0])), t;
|
|
2519
2498
|
},
|
|
2520
|
-
|
|
2499
|
+
op: (n, l, t, r) => {
|
|
2500
|
+
let i = D("mrow"), B = D("ms", c(n[0][0].value, r));
|
|
2501
|
+
return i.append(B), i;
|
|
2521
2502
|
},
|
|
2503
|
+
underline: (n, l) => T("under", n[0], "_", n == null ? void 0 : n[1]),
|
|
2504
|
+
overline: (n, l) => T("over", n[0], "‾", n == null ? void 0 : n[1]),
|
|
2505
|
+
underbrace: (n, l) => T("under", n[0], "⏟", n == null ? void 0 : n[1]),
|
|
2506
|
+
overbrace: (n, l) => T("over", n[0], "⏞", n == null ? void 0 : n[1]),
|
|
2507
|
+
underbracket: (n, l) => T("under", n[0], "⎵", n == null ? void 0 : n[1]),
|
|
2508
|
+
overbracket: (n, l) => T("over", n[0], "⎴", n == null ? void 0 : n[1]),
|
|
2509
|
+
serif: (n, l) => h(n[0], "serif"),
|
|
2510
|
+
sans: (n, l) => h(n[0], "sans"),
|
|
2511
|
+
frak: (n, l) => h(n[0], "frak"),
|
|
2512
|
+
mono: (n, l) => h(n[0], "mono"),
|
|
2513
|
+
bb: (n, l) => h(n[0], "bb"),
|
|
2514
|
+
cal: (n, l) => h(n[0], "cal"),
|
|
2522
2515
|
vec: (n, l) => {
|
|
2523
|
-
var
|
|
2524
|
-
let
|
|
2525
|
-
for (let
|
|
2526
|
-
let
|
|
2527
|
-
|
|
2516
|
+
var s, b;
|
|
2517
|
+
let t = ((b = (s = l == null ? void 0 : l.delim) == null ? void 0 : s[0]) == null ? void 0 : b.value) || "(", r = { "(": ["(", ")"], "[": ["[", "]"], "{": ["{", "}"], "|": ["|", "|"], "||": ["‖", "‖"] }, i = D("mrow"), B = D("mo", r[t][0]), a = D("mo", r[t][1]), F = D("mtable");
|
|
2518
|
+
for (let E of n) {
|
|
2519
|
+
let v = D("mtr");
|
|
2520
|
+
v.append(h(E)), F.append(v);
|
|
2528
2521
|
}
|
|
2529
|
-
return
|
|
2522
|
+
return i.append(B, F, a), i;
|
|
2530
2523
|
},
|
|
2531
2524
|
// 额外
|
|
2532
2525
|
//
|
|
2533
|
-
x_table: (n) => {
|
|
2534
|
-
let
|
|
2535
|
-
for (let
|
|
2536
|
-
let
|
|
2537
|
-
|
|
2526
|
+
x_table: (n, l) => {
|
|
2527
|
+
let t = 0, r = D("mtable");
|
|
2528
|
+
for (let B of n) {
|
|
2529
|
+
let a = D("mtr"), F = [], s = [];
|
|
2530
|
+
for (let b = 0; b < B.length; b++)
|
|
2531
|
+
!B[b].esc && B[b].value == "&" ? s.length > 0 && (F.push(s), s = []) : s.push(B[b]);
|
|
2532
|
+
s.length > 0 && F.push(s), F.length > t && (t = F.length);
|
|
2533
|
+
for (let b of F) {
|
|
2534
|
+
let E = D("mtd");
|
|
2535
|
+
a.append(E), E.append(h(b));
|
|
2536
|
+
}
|
|
2537
|
+
r.append(a);
|
|
2538
2538
|
}
|
|
2539
|
-
|
|
2539
|
+
let i = [];
|
|
2540
|
+
if (l.cases)
|
|
2541
|
+
i.push("left");
|
|
2542
|
+
else
|
|
2543
|
+
for (let B = 0; B < t; B++)
|
|
2544
|
+
B % 2 == 0 ? i.push("right") : i.push("left");
|
|
2545
|
+
return r.setAttribute("columnalign", i.join(" ")), r;
|
|
2540
2546
|
}
|
|
2541
|
-
},
|
|
2547
|
+
}, i0 = [
|
|
2542
2548
|
{ id: "arccos" },
|
|
2543
2549
|
{ id: "arcsin" },
|
|
2544
2550
|
{ id: "arctan" },
|
|
@@ -2576,23 +2582,23 @@ let P = {
|
|
|
2576
2582
|
{ id: "liminf", str: "lim inf", limits: !0 },
|
|
2577
2583
|
{ id: "limsup", str: "lim sup", limits: !0 }
|
|
2578
2584
|
];
|
|
2579
|
-
function
|
|
2580
|
-
for (let n of
|
|
2581
|
-
|
|
2582
|
-
let
|
|
2585
|
+
function h0() {
|
|
2586
|
+
for (let n of i0)
|
|
2587
|
+
O[n.id] = (l, t, r, i) => {
|
|
2588
|
+
let B = O.op([[{ type: "str", value: n.str || n.id }]], {}, null, i);
|
|
2583
2589
|
if (l) {
|
|
2584
|
-
let
|
|
2585
|
-
return
|
|
2590
|
+
let a = document.createDocumentFragment();
|
|
2591
|
+
return a.append(B, D0(l[0])), a;
|
|
2586
2592
|
} else
|
|
2587
|
-
return
|
|
2593
|
+
return B;
|
|
2588
2594
|
};
|
|
2589
2595
|
}
|
|
2590
|
-
|
|
2591
|
-
let
|
|
2592
|
-
for (let n in
|
|
2593
|
-
for (let l of
|
|
2594
|
-
|
|
2595
|
-
function
|
|
2596
|
+
h0();
|
|
2597
|
+
let a0 = [], u0 = ["∏", "∐", "∑", "⋀", "⋁", "⋂", "⋃", "⨀", "⨁", "⨂", "⨃", "⨄", "⨅", "⨆"];
|
|
2598
|
+
for (let n in w)
|
|
2599
|
+
for (let l of u0)
|
|
2600
|
+
w[n] == l && a0.push(n);
|
|
2601
|
+
function m0() {
|
|
2596
2602
|
const n = [
|
|
2597
2603
|
"grave",
|
|
2598
2604
|
"acute",
|
|
@@ -2611,372 +2617,428 @@ function E0() {
|
|
|
2611
2617
|
"arrow.l"
|
|
2612
2618
|
];
|
|
2613
2619
|
for (let l of n)
|
|
2614
|
-
|
|
2620
|
+
O[l] = (t) => O.accent([t[0], [{ type: "f", value: l }]], {});
|
|
2615
2621
|
}
|
|
2616
|
-
|
|
2617
|
-
function
|
|
2622
|
+
m0();
|
|
2623
|
+
function v0() {
|
|
2618
2624
|
let n = [
|
|
2619
|
-
{ name: "abs", l:
|
|
2620
|
-
{ name: "norm", l:
|
|
2621
|
-
{ name: "floor", l:
|
|
2622
|
-
{ name: "ceil", l:
|
|
2623
|
-
{ name: "round", l:
|
|
2625
|
+
{ name: "abs", l: N("|"), r: N("|") },
|
|
2626
|
+
{ name: "norm", l: N("‖"), r: N("‖") },
|
|
2627
|
+
{ name: "floor", l: N("⌊"), r: N("⌋") },
|
|
2628
|
+
{ name: "ceil", l: N("⌈"), r: N("⌉") },
|
|
2629
|
+
{ name: "round", l: N("⌊"), r: N("⌉") }
|
|
2624
2630
|
];
|
|
2625
2631
|
for (let l of n)
|
|
2626
|
-
|
|
2632
|
+
O[l.name] = (t) => O.lr([[l.l, ...t[0], l.r]], {});
|
|
2627
2633
|
}
|
|
2628
|
-
|
|
2629
|
-
function
|
|
2630
|
-
let
|
|
2631
|
-
if (B.append(
|
|
2632
|
-
let
|
|
2633
|
-
|
|
2634
|
-
let
|
|
2635
|
-
|
|
2634
|
+
v0();
|
|
2635
|
+
function T(n, l, t, r) {
|
|
2636
|
+
let i = n == "under" ? D("munder", null, { accentunder: "true" }) : D("mover", null, { accent: "true" }), B = D("mrow");
|
|
2637
|
+
if (B.append(h(l)), r) {
|
|
2638
|
+
let a = D("mrow");
|
|
2639
|
+
a.append(h(r));
|
|
2640
|
+
let F = n == "under" ? D("munder") : D("mover"), s = D("mo", t);
|
|
2641
|
+
F.append(s, a), i.append(B, F);
|
|
2636
2642
|
} else {
|
|
2637
|
-
let
|
|
2638
|
-
|
|
2643
|
+
let a = D("mo", t);
|
|
2644
|
+
i.append(B, a);
|
|
2639
2645
|
}
|
|
2640
|
-
return
|
|
2646
|
+
return i;
|
|
2641
2647
|
}
|
|
2642
|
-
function
|
|
2643
|
-
let l = D("mrow"),
|
|
2644
|
-
|
|
2645
|
-
let
|
|
2646
|
-
return
|
|
2648
|
+
function D0(n) {
|
|
2649
|
+
let l = D("mrow"), t = D("mo");
|
|
2650
|
+
t.textContent = "(";
|
|
2651
|
+
let r = h(n), i = D("mo");
|
|
2652
|
+
return i.textContent = ")", l.append(t, r, i), l;
|
|
2647
2653
|
}
|
|
2648
|
-
function
|
|
2654
|
+
function q(n) {
|
|
2649
2655
|
return n.type == "group" ? n.children : [n];
|
|
2650
2656
|
}
|
|
2651
|
-
function
|
|
2657
|
+
function g0(n) {
|
|
2652
2658
|
return [{ type: "group", value: "", children: n }];
|
|
2653
2659
|
}
|
|
2654
|
-
function
|
|
2660
|
+
function V(n) {
|
|
2655
2661
|
return n ? n.value == "/" && !n.esc : !1;
|
|
2656
2662
|
}
|
|
2657
|
-
function
|
|
2663
|
+
function t0(n) {
|
|
2658
2664
|
return n ? n.value == "br" && n.esc : !1;
|
|
2659
2665
|
}
|
|
2660
2666
|
function Q(n) {
|
|
2661
2667
|
if (n.length == 1) {
|
|
2662
2668
|
let l = n[0];
|
|
2663
2669
|
if (l.type == "f") {
|
|
2664
|
-
if (
|
|
2670
|
+
if (a0.includes(l.value))
|
|
2665
2671
|
return !0;
|
|
2666
|
-
for (let
|
|
2667
|
-
if (
|
|
2672
|
+
for (let t of i0)
|
|
2673
|
+
if (t.limits && l.value == t.id)
|
|
2668
2674
|
return !0;
|
|
2669
2675
|
if (l.value == "scripts")
|
|
2670
2676
|
return !1;
|
|
2671
|
-
l.value == "op"
|
|
2677
|
+
if (l.value == "op") {
|
|
2678
|
+
let { dic: t } = A0(l), r = "";
|
|
2679
|
+
if (t.limits)
|
|
2680
|
+
for (let i of t.limits)
|
|
2681
|
+
r += i.value;
|
|
2682
|
+
return r == "#true";
|
|
2683
|
+
}
|
|
2672
2684
|
}
|
|
2673
|
-
if (l.type == "v" &&
|
|
2685
|
+
if (l.type == "v" && u0.includes(l.value))
|
|
2674
2686
|
return !0;
|
|
2675
2687
|
} else
|
|
2676
2688
|
return !1;
|
|
2677
2689
|
}
|
|
2678
|
-
function
|
|
2690
|
+
function H(n, l) {
|
|
2679
2691
|
return n.value == l && n.type == "v" && !n.esc;
|
|
2680
2692
|
}
|
|
2693
|
+
function Y(n) {
|
|
2694
|
+
return n && n.type == "v" && n.value == ".";
|
|
2695
|
+
}
|
|
2681
2696
|
let Z = { type: "v", value: "," };
|
|
2682
|
-
function
|
|
2697
|
+
function N(n) {
|
|
2683
2698
|
return { type: "v", value: n };
|
|
2684
2699
|
}
|
|
2685
|
-
function
|
|
2700
|
+
function e(n) {
|
|
2686
2701
|
let l = [];
|
|
2687
|
-
for (let
|
|
2688
|
-
l.push({ type: "f", value:
|
|
2702
|
+
for (let t in n) {
|
|
2703
|
+
l.push({ type: "f", value: t }), l.push({ type: "v", value: ":" });
|
|
2704
|
+
for (let r of n[t])
|
|
2705
|
+
r.type == "v" && r.value == "," && (r.esc = !0);
|
|
2706
|
+
l.push(...n[t]), Number(t) + 1 != Object.keys(n).length && l.push(Z);
|
|
2707
|
+
}
|
|
2689
2708
|
return l;
|
|
2690
2709
|
}
|
|
2691
|
-
function
|
|
2692
|
-
|
|
2710
|
+
function r0(n) {
|
|
2711
|
+
let l = 0;
|
|
2712
|
+
return !!(n && (n[0].type == "blank" && l++, n[l] && n[l].type == "v" && n[l].value == "#" && n[l + 1] && n[l + 1].type == "f" && n[l + 1].value == "true"));
|
|
2713
|
+
}
|
|
2714
|
+
function C0(n) {
|
|
2715
|
+
var l, t, r, i, B, a, F, s, b, E, v, g, M, S, z, k, P, $, L, _, G, R, J, W, U, K;
|
|
2693
2716
|
{
|
|
2694
|
-
let
|
|
2695
|
-
for (let
|
|
2696
|
-
let
|
|
2697
|
-
|
|
2717
|
+
let f = [], p = /[0-9]/, x = "";
|
|
2718
|
+
for (let C = 0; C < n.length; C++) {
|
|
2719
|
+
let A = n[C];
|
|
2720
|
+
A.value.match(p) || (l = n[C - 1]) != null && l.value.match(p) && Y(A) && ((t = n[C + 1]) != null && t.value.match(p)) ? x += A.value : f.push(A), A.value.match(p) && (!n[C + 1] || !n[C + 1].value.match(p)) && !(Y(n[C + 1]) && ((r = n[C + 2]) != null && r.value.match(p))) && (f.push({ type: "v", value: x }), x = "");
|
|
2698
2721
|
}
|
|
2699
|
-
n =
|
|
2722
|
+
n = f;
|
|
2700
2723
|
}
|
|
2701
2724
|
{
|
|
2702
|
-
let
|
|
2703
|
-
for (let
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
w += n[k + 1].value, e[w] && x.push(w), k++;
|
|
2714
|
-
if (x.length) {
|
|
2715
|
-
let i = { type: "f", value: e[x[x.length - 1]] };
|
|
2716
|
-
A.push(i), h = x[x.length - 1].length - 1;
|
|
2725
|
+
let f = [];
|
|
2726
|
+
for (let p = 0; p < n.length; p++) {
|
|
2727
|
+
let x = n[p];
|
|
2728
|
+
if (((i = n == null ? void 0 : n[p - 1]) == null ? void 0 : i.value) != "\\")
|
|
2729
|
+
if (x.type == "v") {
|
|
2730
|
+
let C = p, A = x.value, u = [];
|
|
2731
|
+
for (o[A] && u.push(A); ((B = n == null ? void 0 : n[C + 1]) == null ? void 0 : B.type) == "v" && A.length <= d; )
|
|
2732
|
+
A += n[C + 1].value, o[A] && u.push(A), C++;
|
|
2733
|
+
if (u.length) {
|
|
2734
|
+
let m = { type: "f", value: o[u.at(-1)] };
|
|
2735
|
+
f.push(m), p += u.at(-1).length - 1;
|
|
2717
2736
|
} else
|
|
2718
|
-
|
|
2737
|
+
f.push(x);
|
|
2719
2738
|
} else
|
|
2720
|
-
|
|
2739
|
+
f.push(x);
|
|
2721
2740
|
else
|
|
2722
|
-
|
|
2741
|
+
f.push(x);
|
|
2723
2742
|
}
|
|
2724
|
-
n =
|
|
2743
|
+
n = f;
|
|
2725
2744
|
}
|
|
2726
2745
|
{
|
|
2727
|
-
let
|
|
2728
|
-
for (let
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
if (
|
|
2738
|
-
A
|
|
2739
|
-
|
|
2740
|
-
A.push({ type: "v", value: "br", esc: !0 }), h = 1;
|
|
2741
|
-
else if (k.type == "f") {
|
|
2742
|
-
let w = k.value;
|
|
2743
|
-
A.push({ type: "v", value: w[0] }), A.push({ type: w.length == 2 ? "v" : "f", value: w.slice(1) }), h = 1;
|
|
2746
|
+
let f = [];
|
|
2747
|
+
for (let p = 0; p < n.length; p++) {
|
|
2748
|
+
let x = n[p];
|
|
2749
|
+
if (x.value == "\\" && x.type == "v") {
|
|
2750
|
+
if (n != null && n[p + 1]) {
|
|
2751
|
+
let C = n[p + 1];
|
|
2752
|
+
if (C.value == "\\" && C.type == "v")
|
|
2753
|
+
f.push({ type: "v", value: "\\" }), p++;
|
|
2754
|
+
else if (C.type == "blank")
|
|
2755
|
+
f.push({ type: "v", value: "br", esc: !0 }), p++;
|
|
2756
|
+
else if (C.type == "f") {
|
|
2757
|
+
let A = C.value;
|
|
2758
|
+
f.push({ type: "v", value: A[0] }), f.push({ type: A.length == 2 ? "v" : "f", value: A.slice(1) }), p++;
|
|
2744
2759
|
} else {
|
|
2745
|
-
let
|
|
2746
|
-
|
|
2760
|
+
let A = C;
|
|
2761
|
+
A.esc = !0, f.push(A), p++;
|
|
2747
2762
|
}
|
|
2748
2763
|
}
|
|
2749
2764
|
} else
|
|
2750
|
-
|
|
2765
|
+
f.push(x);
|
|
2751
2766
|
}
|
|
2752
|
-
n =
|
|
2767
|
+
n = f;
|
|
2753
2768
|
}
|
|
2754
2769
|
{
|
|
2755
|
-
let
|
|
2756
|
-
for (let
|
|
2757
|
-
|
|
2758
|
-
|
|
2770
|
+
let f = [];
|
|
2771
|
+
for (let p = 0; p < n.length; p++) {
|
|
2772
|
+
let x = n[p];
|
|
2773
|
+
x.type == "v" && ((a = n == null ? void 0 : n[p + 1]) == null ? void 0 : a.type) == "blank" && ((F = n == null ? void 0 : n[p + 2]) == null ? void 0 : F.type) == "str" ? (f.push(x), f.push({ type: "f", value: "space" })) : x.type == "str" && ((s = n == null ? void 0 : n[p + 1]) == null ? void 0 : s.type) == "blank" && ((b = n == null ? void 0 : n[p + 2]) == null ? void 0 : b.type) == "v" ? (f.push(x), f.push({ type: "f", value: "space" })) : f.push(x);
|
|
2774
|
+
}
|
|
2775
|
+
n = f;
|
|
2776
|
+
}
|
|
2777
|
+
{
|
|
2778
|
+
let f = [], p = "";
|
|
2779
|
+
for (let x = 0; x < n.length; x++) {
|
|
2780
|
+
let C = n[x];
|
|
2781
|
+
if (C.type == "f" && Y(n[x + 1])) {
|
|
2782
|
+
p += C.value + ".", x++;
|
|
2759
2783
|
continue;
|
|
2760
|
-
}
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2784
|
+
} else
|
|
2785
|
+
p && C.type == "f" ? (p += C.value, Y(n[x + 1]) || (f.push({ type: "f", value: p }), p = "")) : f.push(C);
|
|
2786
|
+
}
|
|
2787
|
+
n = f;
|
|
2788
|
+
}
|
|
2789
|
+
{
|
|
2790
|
+
let f = [];
|
|
2791
|
+
for (let p = 0; p < n.length; p++) {
|
|
2792
|
+
let x = n[p];
|
|
2793
|
+
if (x.type == "f" && n[p + 1] && n[p + 1].type == "group") {
|
|
2794
|
+
x.children = n[p + 1].children;
|
|
2795
|
+
for (let C in x.children)
|
|
2796
|
+
x.children[C].value == "\\" && x.children[C].type == "v" && x.children[Number(C) + 1] && (x.children[Number(C) + 1].esc = !0);
|
|
2797
|
+
f.push(x), p++;
|
|
2767
2798
|
continue;
|
|
2768
2799
|
} else
|
|
2769
|
-
|
|
2800
|
+
f.push(x);
|
|
2770
2801
|
}
|
|
2771
|
-
n =
|
|
2802
|
+
n = f;
|
|
2772
2803
|
}
|
|
2773
2804
|
{
|
|
2774
|
-
let
|
|
2775
|
-
for (let
|
|
2776
|
-
|
|
2777
|
-
n =
|
|
2805
|
+
let f = [];
|
|
2806
|
+
for (let p of n)
|
|
2807
|
+
p.type != "blank" && f.push(p);
|
|
2808
|
+
n = f;
|
|
2778
2809
|
}
|
|
2779
2810
|
{
|
|
2780
|
-
let
|
|
2781
|
-
for (let
|
|
2782
|
-
const
|
|
2783
|
-
|
|
2811
|
+
let f = [], p = NaN;
|
|
2812
|
+
for (let C = 0; C < n.length; C++) {
|
|
2813
|
+
const A = n[C];
|
|
2814
|
+
A.value != "^" && A.value != "_" && ((((E = n[C + 1]) == null ? void 0 : E.value) == "^" || ((v = n[C + 1]) == null ? void 0 : v.value) == "_") && !(((g = n[C - 1]) == null ? void 0 : g.value) == "^" || ((M = n[C - 1]) == null ? void 0 : M.value) == "_") && (p || (p = C)), (((S = n[C - 1]) == null ? void 0 : S.value) == "^" || ((z = n[C - 1]) == null ? void 0 : z.value) == "_") && !(((k = n[C + 1]) == null ? void 0 : k.value) == "^" || ((P = n[C + 1]) == null ? void 0 : P.value) == "_") && (f.push([p, C]), p = NaN));
|
|
2784
2815
|
}
|
|
2785
|
-
let
|
|
2786
|
-
for (let
|
|
2787
|
-
if (
|
|
2788
|
-
y--;
|
|
2789
|
-
continue;
|
|
2790
|
-
}
|
|
2791
|
-
if (Number(a) == ((G = A == null ? void 0 : A[0]) == null ? void 0 : G[0])) {
|
|
2816
|
+
let x = [];
|
|
2817
|
+
for (let C = 0; C < n.length; C++) {
|
|
2818
|
+
if (C == (($ = f == null ? void 0 : f[0]) == null ? void 0 : $[0])) {
|
|
2792
2819
|
{
|
|
2793
|
-
let
|
|
2794
|
-
for (let
|
|
2795
|
-
if (
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
}
|
|
2799
|
-
if (((S = n[i - 1]) == null ? void 0 : S.value) == "^" && ((K = n[i - 3]) == null ? void 0 : K.value) == "_") {
|
|
2800
|
-
let m = Q([n[i - 4]]) ? { t: O(x), b: O(n[i - 2]) } : { tr: O(x), br: O(n[i - 2]) };
|
|
2801
|
-
x = {
|
|
2820
|
+
let A = n[f[0][1]];
|
|
2821
|
+
for (let u = f[0][1]; u >= f[0][0]; u--) {
|
|
2822
|
+
if (((L = n[u - 1]) == null ? void 0 : L.value) == "^" && ((_ = n[u - 3]) == null ? void 0 : _.value) == "_") {
|
|
2823
|
+
let m = Q([n[u - 4]]) ? { t: q(A), b: q(n[u - 2]) } : { tr: q(A), br: q(n[u - 2]) };
|
|
2824
|
+
A = {
|
|
2802
2825
|
type: "f",
|
|
2803
2826
|
value: "attach",
|
|
2804
|
-
children: [n[
|
|
2805
|
-
},
|
|
2827
|
+
children: [n[u - 4], Z, ...e(m)]
|
|
2828
|
+
}, u -= 4 - 1;
|
|
2806
2829
|
continue;
|
|
2807
2830
|
}
|
|
2808
|
-
if (((
|
|
2809
|
-
let m = Q([n[
|
|
2810
|
-
|
|
2831
|
+
if (((G = n[u - 1]) == null ? void 0 : G.value) == "_" && ((R = n[u - 3]) == null ? void 0 : R.value) == "^") {
|
|
2832
|
+
let m = Q([n[u - 4]]) ? { t: q(n[u - 2]), b: q(A) } : { tr: q(n[u - 2]), br: q(A) };
|
|
2833
|
+
A = {
|
|
2811
2834
|
type: "f",
|
|
2812
2835
|
value: "attach",
|
|
2813
|
-
children: [n[
|
|
2814
|
-
},
|
|
2836
|
+
children: [n[u - 4], Z, ...e(m)]
|
|
2837
|
+
}, u -= 4 - 1;
|
|
2815
2838
|
continue;
|
|
2816
2839
|
}
|
|
2817
|
-
if (((J = n[
|
|
2818
|
-
let m = Q([n[
|
|
2819
|
-
|
|
2840
|
+
if (((J = n[u - 1]) == null ? void 0 : J.value) == "^") {
|
|
2841
|
+
let m = Q([n[u - 2]]) ? { t: q(A) } : { tr: q(A) };
|
|
2842
|
+
A = {
|
|
2820
2843
|
type: "f",
|
|
2821
2844
|
value: "attach",
|
|
2822
|
-
children: [n[
|
|
2823
|
-
},
|
|
2845
|
+
children: [n[u - 2], Z, ...e(m)]
|
|
2846
|
+
}, u -= 2 - 1;
|
|
2824
2847
|
continue;
|
|
2825
2848
|
}
|
|
2826
|
-
if (((
|
|
2827
|
-
let m = Q([n[
|
|
2828
|
-
|
|
2849
|
+
if (((W = n[u - 1]) == null ? void 0 : W.value) == "_") {
|
|
2850
|
+
let m = Q([n[u - 2]]) ? { b: q(A) } : { br: q(A) };
|
|
2851
|
+
A = {
|
|
2829
2852
|
type: "f",
|
|
2830
2853
|
value: "attach",
|
|
2831
|
-
children: [n[
|
|
2832
|
-
},
|
|
2854
|
+
children: [n[u - 2], Z, ...e(m)]
|
|
2855
|
+
}, u -= 2 - 1;
|
|
2833
2856
|
continue;
|
|
2834
2857
|
}
|
|
2835
2858
|
}
|
|
2836
|
-
|
|
2859
|
+
x.push(A);
|
|
2837
2860
|
}
|
|
2838
|
-
|
|
2861
|
+
C += f[0][1] - f[0][0], f = f.slice(1);
|
|
2839
2862
|
continue;
|
|
2840
2863
|
}
|
|
2841
|
-
|
|
2864
|
+
x.push(n[C]);
|
|
2842
2865
|
}
|
|
2843
|
-
n =
|
|
2866
|
+
n = x;
|
|
2844
2867
|
}
|
|
2845
2868
|
{
|
|
2846
|
-
let
|
|
2847
|
-
for (let
|
|
2848
|
-
const
|
|
2849
|
-
|
|
2869
|
+
let f = [], p = NaN;
|
|
2870
|
+
for (let C = 0; C < n.length; C++) {
|
|
2871
|
+
const A = n[C];
|
|
2872
|
+
V(A) || (V(n[C + 1]) && !V(n[C - 1]) && (p || (p = C)), V(n[C - 1]) && !V(n[C + 1]) && (f.push([p, C]), p = NaN));
|
|
2850
2873
|
}
|
|
2851
|
-
let
|
|
2852
|
-
for (let
|
|
2853
|
-
if (
|
|
2854
|
-
y--;
|
|
2855
|
-
continue;
|
|
2856
|
-
}
|
|
2857
|
-
if (Number(a) == ((j = A == null ? void 0 : A[0]) == null ? void 0 : j[0])) {
|
|
2874
|
+
let x = [];
|
|
2875
|
+
for (let C = 0; C < n.length; C++) {
|
|
2876
|
+
if (C == ((U = f == null ? void 0 : f[0]) == null ? void 0 : U[0])) {
|
|
2858
2877
|
{
|
|
2859
|
-
let
|
|
2860
|
-
for (let
|
|
2861
|
-
if (
|
|
2862
|
-
|
|
2863
|
-
continue;
|
|
2864
|
-
}
|
|
2865
|
-
if ((($ = n[i + 1]) == null ? void 0 : $.value) == "/") {
|
|
2866
|
-
x = {
|
|
2878
|
+
let A = n[f[0][0]];
|
|
2879
|
+
for (let u = f[0][0]; u <= f[0][1]; u++)
|
|
2880
|
+
if (((K = n[u + 1]) == null ? void 0 : K.value) == "/") {
|
|
2881
|
+
A = {
|
|
2867
2882
|
type: "f",
|
|
2868
2883
|
value: "frac",
|
|
2869
|
-
children: [...
|
|
2870
|
-
},
|
|
2884
|
+
children: [...q(A), Z, ...q(n[u + 2])]
|
|
2885
|
+
}, u += 2 - 1;
|
|
2871
2886
|
continue;
|
|
2872
2887
|
}
|
|
2873
|
-
|
|
2874
|
-
console.log(1, x), N.push(x);
|
|
2888
|
+
console.log(1, A), x.push(A);
|
|
2875
2889
|
}
|
|
2876
|
-
|
|
2890
|
+
C += f[0][1] - f[0][0], f.splice(0, 1);
|
|
2877
2891
|
continue;
|
|
2878
2892
|
}
|
|
2879
|
-
|
|
2893
|
+
x.push(n[C]);
|
|
2880
2894
|
}
|
|
2881
|
-
n =
|
|
2895
|
+
n = x;
|
|
2882
2896
|
}
|
|
2883
2897
|
return n;
|
|
2884
2898
|
}
|
|
2885
|
-
function
|
|
2886
|
-
let l =
|
|
2887
|
-
|
|
2899
|
+
function A0(n) {
|
|
2900
|
+
let l = "array", t = [], r = [], i = [], B = [];
|
|
2901
|
+
for (let F in n.children) {
|
|
2902
|
+
const s = n.children[F];
|
|
2903
|
+
if (Number(F) + 1 == n.children.length) {
|
|
2904
|
+
if (s.type == "blank" && n.children[Number(F) - 1].value.match(/[,;]/))
|
|
2905
|
+
break;
|
|
2906
|
+
!H(s, ",") && !H(s, ";") && B.push(s), l == "dic" ? (r.push(B), B = []) : t.push(B), i.length && (i.push(t), t = []), B = [];
|
|
2907
|
+
} else
|
|
2908
|
+
H(s, ",") ? (l == "dic" ? (r.push(B), l = "array") : t.push(B), B = []) : H(s, ";") ? (t.push(B), B = [], i.push(t), t = []) : (B.push(s), H(s, ":") && (l = "dic"));
|
|
2909
|
+
}
|
|
2910
|
+
let a = {};
|
|
2911
|
+
for (let F of r) {
|
|
2912
|
+
let s = "", b = [];
|
|
2913
|
+
for (let E of F)
|
|
2914
|
+
s ? E.value != ":" && b.push(E) : s = E.value;
|
|
2915
|
+
a[s] = b;
|
|
2916
|
+
}
|
|
2917
|
+
return { attr: t, dic: a, array: i };
|
|
2918
|
+
}
|
|
2919
|
+
function c(n, l = "serif") {
|
|
2920
|
+
function t(r) {
|
|
2921
|
+
return "abcdefghijklmnopqrstuvwxyz".indexOf(r.toLowerCase());
|
|
2922
|
+
}
|
|
2923
|
+
switch (l) {
|
|
2924
|
+
case "serif":
|
|
2925
|
+
return n;
|
|
2926
|
+
case "sans":
|
|
2927
|
+
const r = [..."𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫"], i = [..."𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓"], B = [..."𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹"];
|
|
2928
|
+
return n = n.replace(/[0-9]+/g, (k) => r[k]), n = n.replace(/[a-z]/g, (k) => i[t(k)]), n = n.replace(/[A-Z]/g, (k) => B[t(k)]), n;
|
|
2929
|
+
case "frak":
|
|
2930
|
+
const a = [..."𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷"], F = [..."𝔄𝔅ℭ𝔇𝔈𝔉𝔊ℌℑ𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔ℜ𝔖𝔗𝔘𝔙𝔚𝔛𝔜ℨ"];
|
|
2931
|
+
return n = n.replace(/[a-z]/g, (k) => a[t(k)]), n = n.replace(/[A-Z]/g, (k) => F[t(k)]), n;
|
|
2932
|
+
case "mono":
|
|
2933
|
+
const s = [..."0𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿"], b = [..."𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣"], E = [..."𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉"];
|
|
2934
|
+
return n = n.replace(/[0-9]+/g, (k) => s[k]), n = n.replace(/[a-z]/g, (k) => b[t(k)]), n = n.replace(/[A-Z]/g, (k) => E[t(k)]), n;
|
|
2935
|
+
case "bb":
|
|
2936
|
+
const v = [..."𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡"], g = [..."𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫"], M = [..."𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ"];
|
|
2937
|
+
return n = n.replace(/[0-9]+/g, (k) => v[k]), n = n.replace(/[a-z]/g, (k) => g[t(k)]), n = n.replace(/[A-Z]/g, (k) => M[t(k)]), n;
|
|
2938
|
+
case "cal":
|
|
2939
|
+
const S = [..."𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏"], z = [..."𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵"];
|
|
2940
|
+
return n = n.replace(/[a-z]/g, (k) => S[t(k)]), n = n.replace(/[A-Z]/g, (k) => z[t(k)]), n;
|
|
2941
|
+
}
|
|
2942
|
+
}
|
|
2943
|
+
function h(n, l) {
|
|
2944
|
+
let t = document.createDocumentFragment();
|
|
2945
|
+
n = C0(n);
|
|
2888
2946
|
{
|
|
2889
|
-
let r = !1,
|
|
2890
|
-
for (let
|
|
2891
|
-
if (
|
|
2947
|
+
let r = !1, i = (B) => {
|
|
2948
|
+
for (let a of B) {
|
|
2949
|
+
if (t0(a)) {
|
|
2892
2950
|
r = !0;
|
|
2893
2951
|
return;
|
|
2894
2952
|
}
|
|
2895
|
-
|
|
2953
|
+
a.type == "group" && i(a.children);
|
|
2896
2954
|
}
|
|
2897
2955
|
};
|
|
2898
|
-
if (
|
|
2956
|
+
if (i(n), r) {
|
|
2899
2957
|
{
|
|
2900
|
-
let
|
|
2901
|
-
for (let
|
|
2902
|
-
let
|
|
2903
|
-
|
|
2958
|
+
let a = [];
|
|
2959
|
+
for (let F in n) {
|
|
2960
|
+
let s = n[F];
|
|
2961
|
+
s.type == "group" ? (a.push(N("(")), a.push(...C0(s.children)), a.push(N(")"))) : a.push(s);
|
|
2904
2962
|
}
|
|
2905
|
-
n =
|
|
2963
|
+
n = a;
|
|
2906
2964
|
}
|
|
2907
|
-
for (let
|
|
2908
|
-
const
|
|
2909
|
-
|
|
2965
|
+
for (let a = 0; a < n.length; a++) {
|
|
2966
|
+
const F = n[a];
|
|
2967
|
+
t0(F) && (n[a] = Z);
|
|
2910
2968
|
}
|
|
2911
|
-
let
|
|
2912
|
-
|
|
2969
|
+
let B = [];
|
|
2970
|
+
B.push({ type: "f", value: "x_table", children: n }), n = B;
|
|
2971
|
+
} else {
|
|
2972
|
+
let B = [];
|
|
2973
|
+
for (let a of n)
|
|
2974
|
+
a.type == "v" && a.value == "&" && !a.esc || B.push(a);
|
|
2975
|
+
n = B;
|
|
2913
2976
|
}
|
|
2914
2977
|
}
|
|
2915
2978
|
for (let r in n) {
|
|
2916
|
-
let
|
|
2917
|
-
if (
|
|
2918
|
-
let
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
U(p, ",") ? (B == "dic" ? (f.push(s), s = []) : u.push(s), s = []) : U(p, ";") ? (u.push(s), s = [], E.push(u), u = []) : (s.push(p), U(p, ":") && (B = "dic"));
|
|
2927
|
-
}
|
|
2928
|
-
let b = {};
|
|
2929
|
-
for (let F of f) {
|
|
2930
|
-
let p = "", G = [];
|
|
2931
|
-
for (let S of F)
|
|
2932
|
-
p ? S.value != ":" && G.push(S) : p = S.value;
|
|
2933
|
-
b[p] = G;
|
|
2934
|
-
}
|
|
2935
|
-
if (P[t.value]) {
|
|
2936
|
-
console.log(u, b, E);
|
|
2937
|
-
let F = P[t.value](u, b, E);
|
|
2938
|
-
l.append(F);
|
|
2939
|
-
} else if (I[t.value]) {
|
|
2940
|
-
let F = D("mo", I[t.value]);
|
|
2941
|
-
l.append(F, g(h0(t.children)));
|
|
2979
|
+
let i = Number(r), B = n[i];
|
|
2980
|
+
if (B.type == "f" && B.children) {
|
|
2981
|
+
let { attr: a, dic: F, array: s } = A0(B);
|
|
2982
|
+
if (O[B.value]) {
|
|
2983
|
+
console.log(a, F, s);
|
|
2984
|
+
let b = O[B.value](a, F, s, l);
|
|
2985
|
+
t.append(b);
|
|
2986
|
+
} else if (w[B.value]) {
|
|
2987
|
+
let b = D("mo", w[B.value]);
|
|
2988
|
+
t.append(b, h(g0(B.children)));
|
|
2942
2989
|
}
|
|
2943
2990
|
}
|
|
2944
|
-
if (
|
|
2945
|
-
if (
|
|
2946
|
-
let
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2991
|
+
if (B.type == "f" && !B.children) {
|
|
2992
|
+
if (w[B.value]) {
|
|
2993
|
+
let a, F = null;
|
|
2994
|
+
const s = {
|
|
2995
|
+
" ": "0.36em",
|
|
2996
|
+
" ": "0.5em",
|
|
2997
|
+
" ": "3.75em",
|
|
2998
|
+
" ": "0.333em",
|
|
2999
|
+
" ": "0.25em",
|
|
3000
|
+
" ": "0.166em",
|
|
3001
|
+
" ": "0.222em",
|
|
3002
|
+
" ": "1ch",
|
|
3003
|
+
" ": "0.27em",
|
|
3004
|
+
" ": "0.2em",
|
|
3005
|
+
" ": "0.09em"
|
|
3006
|
+
};
|
|
3007
|
+
w[B.value].match(/[a-zA-Z\u0391-\u03C9]/) ? a = "mi" : s[w[B.value]] ? (a = "mspace", F = { width: s[w[B.value]] }) : a = "mo";
|
|
3008
|
+
let b = D(a, w[B.value], F);
|
|
3009
|
+
t.append(b);
|
|
3010
|
+
} else if (O[B.value]) {
|
|
3011
|
+
let a = O[B.value](null, null, null, l);
|
|
3012
|
+
t.append(a);
|
|
2951
3013
|
}
|
|
2952
3014
|
}
|
|
2953
|
-
if (
|
|
2954
|
-
let
|
|
2955
|
-
|
|
3015
|
+
if (B.type == "str") {
|
|
3016
|
+
let a = D("ms", c(B.value, l));
|
|
3017
|
+
t.append(a);
|
|
2956
3018
|
}
|
|
2957
|
-
if (
|
|
2958
|
-
let
|
|
2959
|
-
|
|
2960
|
-
let
|
|
2961
|
-
|
|
3019
|
+
if (B.type == "v") {
|
|
3020
|
+
let a;
|
|
3021
|
+
B.value.match(/[0-9.]+/) ? a = "mn" : B.value.match(/[a-zA-Z\u0391-\u03C9]/) ? a = "mi" : a = "mo";
|
|
3022
|
+
let F = D(a, c(B.value, l));
|
|
3023
|
+
t.append(F);
|
|
2962
3024
|
}
|
|
2963
|
-
|
|
3025
|
+
B.type == "group" && t.append(D0(B.children));
|
|
2964
3026
|
}
|
|
2965
|
-
return
|
|
3027
|
+
return t;
|
|
2966
3028
|
}
|
|
2967
|
-
function
|
|
2968
|
-
let l =
|
|
3029
|
+
function k0(n) {
|
|
3030
|
+
let l = E0(n);
|
|
2969
3031
|
console.log(l);
|
|
2970
|
-
let
|
|
2971
|
-
|
|
2972
|
-
let
|
|
2973
|
-
return
|
|
3032
|
+
let t = D("math");
|
|
3033
|
+
t.setAttribute("display", "block");
|
|
3034
|
+
let r = h(l);
|
|
3035
|
+
return t.append(r), t;
|
|
2974
3036
|
}
|
|
2975
|
-
function
|
|
2976
|
-
return
|
|
3037
|
+
function y0(n) {
|
|
3038
|
+
return k0(n).outerHTML;
|
|
2977
3039
|
}
|
|
2978
3040
|
export {
|
|
2979
|
-
|
|
2980
|
-
|
|
3041
|
+
k0 as toMML,
|
|
3042
|
+
y0 as toMMLHTML
|
|
2981
3043
|
};
|
|
2982
3044
|
//# sourceMappingURL=xmmath.es.js.map
|