temml 0.10.16 → 0.10.18
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/README.md +2 -2
- package/contrib/copy-tex/README.md +42 -0
- package/contrib/copy-tex/copy-tex.js +66 -0
- package/contrib/copy-tex/copy-tex.min.js +1 -0
- package/dist/Temml-Asana.css +23 -3
- package/dist/Temml-Latin-Modern.css +21 -1
- package/dist/Temml-Libertinus.css +23 -3
- package/dist/Temml-Local.css +23 -3
- package/dist/Temml-STIX2.css +21 -1
- package/dist/temml.cjs +116 -30
- package/dist/temml.js +116 -30
- package/dist/temml.min.js +1 -1
- package/dist/temml.mjs +116 -30
- package/dist/temmlPostProcess.js +1 -1
- package/package.json +1 -1
- package/src/buildMathML.js +14 -8
- package/src/environments/array.js +11 -9
- package/src/functions/accent.js +30 -0
- package/src/functions/delimsizing.js +15 -3
- package/src/functions/enclose.js +4 -1
- package/src/functions/hbox.js +5 -4
- package/src/functions/lap.js +1 -1
- package/src/functions/op.js +3 -1
- package/src/functions.js +1 -0
- package/src/macros.js +1 -2
- package/src/postProcess.js +1 -1
- package/src/symbols.js +10 -3
- package/temml.js +2 -2
package/dist/temml.cjs
CHANGED
@@ -1364,7 +1364,7 @@ defineSymbol(math, open, "\u00ac", "\\lnot");
|
|
1364
1364
|
defineSymbol(math, textord, "\u22a4", "\\top");
|
1365
1365
|
defineSymbol(math, textord, "\u22a5", "\\bot");
|
1366
1366
|
defineSymbol(math, textord, "\u2205", "\\emptyset");
|
1367
|
-
defineSymbol(math, textord, "\
|
1367
|
+
defineSymbol(math, textord, "\u2300", "\\varnothing");
|
1368
1368
|
defineSymbol(math, mathord, "\u03b1", "\\alpha", true);
|
1369
1369
|
defineSymbol(math, mathord, "\u03b2", "\\beta", true);
|
1370
1370
|
defineSymbol(math, mathord, "\u03b3", "\\gamma", true);
|
@@ -1425,6 +1425,8 @@ defineSymbol(math, bin, "\u2228", "\\vee", true);
|
|
1425
1425
|
defineSymbol(math, open, "\u27e6", "\\llbracket", true); // stmaryrd/semantic packages
|
1426
1426
|
defineSymbol(math, close, "\u27e7", "\\rrbracket", true);
|
1427
1427
|
defineSymbol(math, open, "\u27e8", "\\langle", true);
|
1428
|
+
defineSymbol(math, open, "\u27ea", "\\lAngle", true);
|
1429
|
+
defineSymbol(math, open, "\u2989", "\\llangle", true);
|
1428
1430
|
defineSymbol(math, open, "|", "\\lvert");
|
1429
1431
|
defineSymbol(math, open, "\u2016", "\\lVert");
|
1430
1432
|
defineSymbol(math, textord, "!", "\\oc"); // cmll package
|
@@ -1436,6 +1438,8 @@ defineSymbol(math, close, "?", "?");
|
|
1436
1438
|
defineSymbol(math, close, "!", "!");
|
1437
1439
|
defineSymbol(math, close, "‼", "‼");
|
1438
1440
|
defineSymbol(math, close, "\u27e9", "\\rangle", true);
|
1441
|
+
defineSymbol(math, close, "\u27eb", "\\rAngle", true);
|
1442
|
+
defineSymbol(math, close, "\u298a", "\\rrangle", true);
|
1439
1443
|
defineSymbol(math, close, "|", "\\rvert");
|
1440
1444
|
defineSymbol(math, close, "\u2016", "\\rVert");
|
1441
1445
|
defineSymbol(math, open, "\u2983", "\\lBrace", true); // stmaryrd/semantic packages
|
@@ -1517,6 +1521,8 @@ defineSymbol(math, close, "]", "\\rbrack", true);
|
|
1517
1521
|
defineSymbol(text, textord, "]", "\\rbrack", true);
|
1518
1522
|
defineSymbol(math, open, "(", "\\lparen", true);
|
1519
1523
|
defineSymbol(math, close, ")", "\\rparen", true);
|
1524
|
+
defineSymbol(math, open, "⦇", "\\llparenthesis", true);
|
1525
|
+
defineSymbol(math, close, "⦈", "\\rrparenthesis", true);
|
1520
1526
|
defineSymbol(text, textord, "<", "\\textless", true); // in T1 fontenc
|
1521
1527
|
defineSymbol(text, textord, ">", "\\textgreater", true); // in T1 fontenc
|
1522
1528
|
defineSymbol(math, open, "\u230a", "\\lfloor", true);
|
@@ -1554,6 +1560,7 @@ defineSymbol(math, op, "\u2211", "\\sum");
|
|
1554
1560
|
defineSymbol(math, op, "\u2a02", "\\bigotimes");
|
1555
1561
|
defineSymbol(math, op, "\u2a01", "\\bigoplus");
|
1556
1562
|
defineSymbol(math, op, "\u2a00", "\\bigodot");
|
1563
|
+
defineSymbol(math, op, "\u2a09", "\\bigtimes");
|
1557
1564
|
defineSymbol(math, op, "\u222e", "\\oint");
|
1558
1565
|
defineSymbol(math, op, "\u222f", "\\oiint");
|
1559
1566
|
defineSymbol(math, op, "\u2230", "\\oiiint");
|
@@ -1673,6 +1680,8 @@ defineSymbol(text, textord, "\u20ac", "\\euro", true);
|
|
1673
1680
|
defineSymbol(text, textord, "\u20ac", "\\texteuro");
|
1674
1681
|
defineSymbol(math, textord, "\u00a9", "\\copyright", true);
|
1675
1682
|
defineSymbol(text, textord, "\u00a9", "\\textcopyright");
|
1683
|
+
defineSymbol(math, textord, "\u2300", "\\diameter", true);
|
1684
|
+
defineSymbol(text, textord, "\u2300", "\\diameter");
|
1676
1685
|
|
1677
1686
|
// Italic Greek
|
1678
1687
|
defineSymbol(math, textord, "𝛤", "\\varGamma");
|
@@ -1721,8 +1730,6 @@ for (let i = 0; i < letters.length; i++) {
|
|
1721
1730
|
defineSymbol(math, mathord, ch, ch);
|
1722
1731
|
defineSymbol(text, textord, ch, ch);
|
1723
1732
|
}
|
1724
|
-
// Prevent Firefox from using a dotless i.
|
1725
|
-
defineSymbol(text, textord, "i\uFE0E", "i");
|
1726
1733
|
|
1727
1734
|
// Some more letters in Unicode Basic Multilingual Plane.
|
1728
1735
|
const narrow = "ÇÐÞçþℂℍℕℙℚℝℤℎℏℊℋℌℐℑℒℓ℘ℛℜℬℰℱℳℭℨ";
|
@@ -1966,7 +1973,7 @@ const makeText = function(text, mode, style) {
|
|
1966
1973
|
|
1967
1974
|
const consolidateText = mrow => {
|
1968
1975
|
// If possible, consolidate adjacent <mtext> elements into a single element.
|
1969
|
-
if (mrow.type !== "mrow") { return mrow }
|
1976
|
+
if (mrow.type !== "mrow" && mrow.type !== "mstyle") { return mrow }
|
1970
1977
|
if (mrow.children.length === 0) { return mrow } // empty group, e.g., \text{}
|
1971
1978
|
if (!mrow.children[0].attributes || mrow.children[0].type !== "mtext") { return mrow }
|
1972
1979
|
const variant = mrow.children[0].attributes.mathvariant || "";
|
@@ -2003,6 +2010,9 @@ const consolidateText = mrow => {
|
|
2003
2010
|
if (L > 0 && mtext.children[0].text.charAt(L - 1) === " ") {
|
2004
2011
|
mtext.children[0].text = mtext.children[0].text.slice(0, -1) + "\u00a0";
|
2005
2012
|
}
|
2013
|
+
for (const [key, value] of Object.entries(mrow.attributes)) {
|
2014
|
+
mtext.attributes[key] = value;
|
2015
|
+
}
|
2006
2016
|
return mtext
|
2007
2017
|
};
|
2008
2018
|
|
@@ -2056,6 +2066,14 @@ const makeRow = function(body) {
|
|
2056
2066
|
if (body.length === 1 && !(body[0] instanceof DocumentFragment)) {
|
2057
2067
|
return body[0];
|
2058
2068
|
} else {
|
2069
|
+
// Suppress spacing on <mo> nodes at both ends of the row.
|
2070
|
+
if (body[0] instanceof MathNode && body[0].type === "mo" && !body[0].attributes.fence) {
|
2071
|
+
body[0].attributes.lspace = "0em";
|
2072
|
+
}
|
2073
|
+
const end = body.length - 1;
|
2074
|
+
if (body[end] instanceof MathNode && body[end].type === "mo" && !body[end].attributes.fence) {
|
2075
|
+
body[end].attributes.rspace = "0em";
|
2076
|
+
}
|
2059
2077
|
return new mathMLTree.MathNode("mrow", body);
|
2060
2078
|
}
|
2061
2079
|
};
|
@@ -2137,13 +2155,8 @@ const taggedExpression = (expression, tag, style, leqno) => {
|
|
2137
2155
|
|
2138
2156
|
expression = new mathMLTree.MathNode("mtd", [expression]);
|
2139
2157
|
const rowArray = [glue$1(), expression, glue$1()];
|
2140
|
-
|
2141
|
-
|
2142
|
-
rowArray[0].style.textAlign = "-webkit-left";
|
2143
|
-
} else {
|
2144
|
-
rowArray[2].children.push(tag);
|
2145
|
-
rowArray[2].style.textAlign = "-webkit-right";
|
2146
|
-
}
|
2158
|
+
rowArray[leqno ? 0 : 2].classes.push(leqno ? "tml-left" : "tml-right");
|
2159
|
+
rowArray[leqno ? 0 : 2].children.push(tag);
|
2147
2160
|
const mtr = new mathMLTree.MathNode("mtr", rowArray, ["tml-tageqn"]);
|
2148
2161
|
const table = new mathMLTree.MathNode("mtable", [mtr]);
|
2149
2162
|
table.style.width = "100%";
|
@@ -2198,6 +2211,15 @@ function buildMathML(tree, texExpression, style, settings) {
|
|
2198
2211
|
return math;
|
2199
2212
|
}
|
2200
2213
|
|
2214
|
+
const smalls = "acegıȷmnopqrsuvwxyzαγεηικμνοπρςστυχωϕ𝐚𝐜𝐞𝐠𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐮𝐯𝐰𝐱𝐲𝐳";
|
2215
|
+
const talls = "ABCDEFGHIJKLMNOPQRSTUVWXYZbdfhkltΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩβδλζφθψ"
|
2216
|
+
+ "𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙𝐛𝐝𝐟𝐡𝐤𝐥𝐭";
|
2217
|
+
const longSmalls = new Set(["\\alpha", "\\gamma", "\\delta", "\\epsilon", "\\eta", "\\iota",
|
2218
|
+
"\\kappa", "\\mu", "\\nu", "\\pi", "\\rho", "\\sigma", "\\tau", "\\upsilon", "\\chi", "\\psi",
|
2219
|
+
"\\omega", "\\imath", "\\jmath"]);
|
2220
|
+
const longTalls = new Set(["\\Gamma", "\\Delta", "\\Sigma", "\\Omega", "\\beta", "\\delta",
|
2221
|
+
"\\lambda", "\\theta", "\\psi"]);
|
2222
|
+
|
2201
2223
|
const mathmlBuilder$a = (group, style) => {
|
2202
2224
|
const accentNode = group.isStretchy
|
2203
2225
|
? stretchy.accentNode(group)
|
@@ -2208,6 +2230,13 @@ const mathmlBuilder$a = (group, style) => {
|
|
2208
2230
|
} else {
|
2209
2231
|
accentNode.style.mathStyle = "normal";
|
2210
2232
|
accentNode.style.mathDepth = "0";
|
2233
|
+
if (needWebkitShift.has(group.label) && utils.isCharacterBox(group.base)) {
|
2234
|
+
let shift = "";
|
2235
|
+
const ch = group.base.text;
|
2236
|
+
if (smalls.indexOf(ch) > -1 || longSmalls.has(ch)) { shift = "tml-xshift"; }
|
2237
|
+
if (talls.indexOf(ch) > -1 || longTalls.has(ch)) { shift = "tml-capshift"; }
|
2238
|
+
if (shift) { accentNode.classes.push(shift); }
|
2239
|
+
}
|
2211
2240
|
}
|
2212
2241
|
if (!group.isStretchy) {
|
2213
2242
|
accentNode.setAttribute("stretchy", "false");
|
@@ -2236,6 +2265,19 @@ const nonStretchyAccents = new Set([
|
|
2236
2265
|
"\\mathring"
|
2237
2266
|
]);
|
2238
2267
|
|
2268
|
+
const needWebkitShift = new Set([
|
2269
|
+
"\\acute",
|
2270
|
+
"\\bar",
|
2271
|
+
"\\breve",
|
2272
|
+
"\\check",
|
2273
|
+
"\\dot",
|
2274
|
+
"\\ddot",
|
2275
|
+
"\\grave",
|
2276
|
+
"\\hat",
|
2277
|
+
"\\mathring",
|
2278
|
+
"\\'", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v"
|
2279
|
+
]);
|
2280
|
+
|
2239
2281
|
// Accents
|
2240
2282
|
defineFunction({
|
2241
2283
|
type: "accent",
|
@@ -3577,6 +3619,10 @@ const delimiters = [
|
|
3577
3619
|
"\\lbrace",
|
3578
3620
|
"\\}",
|
3579
3621
|
"\\rbrace",
|
3622
|
+
"⦇",
|
3623
|
+
"\\llparenthesis",
|
3624
|
+
"⦈",
|
3625
|
+
"\\rrparenthesis",
|
3580
3626
|
"\\lfloor",
|
3581
3627
|
"\\rfloor",
|
3582
3628
|
"\u230a",
|
@@ -3591,6 +3637,14 @@ const delimiters = [
|
|
3591
3637
|
"\u27e8",
|
3592
3638
|
"\\rangle",
|
3593
3639
|
"\u27e9",
|
3640
|
+
"\\lAngle",
|
3641
|
+
"\u27ea",
|
3642
|
+
"\\rAngle",
|
3643
|
+
"\u27eb",
|
3644
|
+
"\\llangle",
|
3645
|
+
"⦉",
|
3646
|
+
"\\rrangle",
|
3647
|
+
"⦊",
|
3594
3648
|
"\\lt",
|
3595
3649
|
"\\gt",
|
3596
3650
|
"\\lvert",
|
@@ -3712,9 +3766,9 @@ defineFunction({
|
|
3712
3766
|
// defaults.
|
3713
3767
|
node.setAttribute("fence", "false");
|
3714
3768
|
}
|
3715
|
-
if (group.delim === "\u2216" || group.delim
|
3716
|
-
|
3717
|
-
//
|
3769
|
+
if (group.delim === "\u2216" || group.delim === "\\vert" ||
|
3770
|
+
group.delim === "|" || group.delim.indexOf("arrow") > -1) {
|
3771
|
+
// We have to explicitly set stretchy to true.
|
3718
3772
|
node.setAttribute("stretchy", "true");
|
3719
3773
|
}
|
3720
3774
|
node.setAttribute("symmetric", "true"); // Needed for tall arrows in Firefox.
|
@@ -3905,7 +3959,10 @@ rgba(0,0,0,0) 100%);`;
|
|
3905
3959
|
node.style.marginRight = "0.03889em";
|
3906
3960
|
break
|
3907
3961
|
case "\\sout":
|
3908
|
-
node.style
|
3962
|
+
node.style.backgroundImage = 'linear-gradient(black, black)';
|
3963
|
+
node.style.backgroundRepeat = 'no-repeat';
|
3964
|
+
node.style.backgroundSize = '100% 1.5px';
|
3965
|
+
node.style.backgroundPosition = '0 center';
|
3909
3966
|
break
|
3910
3967
|
case "\\boxed":
|
3911
3968
|
// \newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} from amsmath.sty
|
@@ -4156,8 +4213,9 @@ const getTag = (group, style, rowNum) => {
|
|
4156
4213
|
return tag
|
4157
4214
|
} else {
|
4158
4215
|
// AMS automatcally numbered equaton.
|
4159
|
-
// Insert a class so the element can be populated by a
|
4160
|
-
|
4216
|
+
// Insert a class so the element can be populated by a CSS counter.
|
4217
|
+
// WebKit will display the CSS counter only inside a span.
|
4218
|
+
tag = new mathMLTree.MathNode("mtext", [new Span(["tml-eqn"])]);
|
4161
4219
|
}
|
4162
4220
|
return tag
|
4163
4221
|
};
|
@@ -4354,7 +4412,7 @@ const mathmlBuilder$7 = function(group, style) {
|
|
4354
4412
|
const align = i === 0 ? "left" : i === numRows - 1 ? "right" : "center";
|
4355
4413
|
mtd.setAttribute("columnalign", align);
|
4356
4414
|
if (align !== "center") {
|
4357
|
-
mtd.
|
4415
|
+
mtd.classes.push("tml-" + align);
|
4358
4416
|
}
|
4359
4417
|
}
|
4360
4418
|
row.push(mtd);
|
@@ -4365,10 +4423,10 @@ const mathmlBuilder$7 = function(group, style) {
|
|
4365
4423
|
const tag = getTag(group, style.withLevel(cellLevel), i);
|
4366
4424
|
if (group.leqno) {
|
4367
4425
|
row[0].children.push(tag);
|
4368
|
-
row[0].
|
4426
|
+
row[0].classes.push("tml-left");
|
4369
4427
|
} else {
|
4370
4428
|
row[row.length - 1].children.push(tag);
|
4371
|
-
row[row.length - 1].
|
4429
|
+
row[row.length - 1].classes.push("tml-right");
|
4372
4430
|
}
|
4373
4431
|
}
|
4374
4432
|
const mtr = new mathMLTree.MathNode("mtr", row, []);
|
@@ -4439,11 +4497,11 @@ const mathmlBuilder$7 = function(group, style) {
|
|
4439
4497
|
for (let j = 0; j < row.children.length; j++) {
|
4440
4498
|
// Chromium does not recognize text-align: left. Use -webkit-
|
4441
4499
|
// TODO: Remove -webkit- when Chromium no longer needs it.
|
4442
|
-
row.children[j].
|
4500
|
+
row.children[j].classes = ["tml-" + (j % 2 ? "left" : "right")];
|
4443
4501
|
}
|
4444
4502
|
if (group.addEqnNum) {
|
4445
4503
|
const k = group.leqno ? 0 : row.children.length - 1;
|
4446
|
-
row.children[k].
|
4504
|
+
row.children[k].classes = ["tml-" + (group.leqno ? "left" : "right")];
|
4447
4505
|
}
|
4448
4506
|
}
|
4449
4507
|
if (row.children.length > 1 && group.envClasses.includes("cases")) {
|
@@ -4452,7 +4510,7 @@ const mathmlBuilder$7 = function(group, style) {
|
|
4452
4510
|
|
4453
4511
|
if (group.envClasses.includes("cases") || group.envClasses.includes("subarray")) {
|
4454
4512
|
for (const cell of row.children) {
|
4455
|
-
cell.
|
4513
|
+
cell.classes.push("tml-left");
|
4456
4514
|
}
|
4457
4515
|
}
|
4458
4516
|
}
|
@@ -4507,7 +4565,7 @@ const mathmlBuilder$7 = function(group, style) {
|
|
4507
4565
|
iCol += 1;
|
4508
4566
|
for (const row of table.children) {
|
4509
4567
|
if (colAlign.trim() !== "center" && iCol < row.children.length) {
|
4510
|
-
row.children[iCol].
|
4568
|
+
row.children[iCol].classes = ["tml-" + colAlign.trim()];
|
4511
4569
|
}
|
4512
4570
|
}
|
4513
4571
|
prevTypeWasAlign = true;
|
@@ -5500,6 +5558,33 @@ defineFunction({
|
|
5500
5558
|
mathmlBuilder: mathmlBuilder$5
|
5501
5559
|
});
|
5502
5560
|
|
5561
|
+
// \hbox is provided for compatibility with LaTeX functions that act on a box.
|
5562
|
+
// This function by itself doesn't do anything but set scriptlevel to \textstyle
|
5563
|
+
// and prevent a soft line break.
|
5564
|
+
|
5565
|
+
defineFunction({
|
5566
|
+
type: "hbox",
|
5567
|
+
names: ["\\hbox"],
|
5568
|
+
props: {
|
5569
|
+
numArgs: 1,
|
5570
|
+
argTypes: ["hbox"],
|
5571
|
+
allowedInArgument: true,
|
5572
|
+
allowedInText: false
|
5573
|
+
},
|
5574
|
+
handler({ parser }, args) {
|
5575
|
+
return {
|
5576
|
+
type: "hbox",
|
5577
|
+
mode: parser.mode,
|
5578
|
+
body: ordargument(args[0])
|
5579
|
+
};
|
5580
|
+
},
|
5581
|
+
mathmlBuilder(group, style) {
|
5582
|
+
const newStyle = style.withLevel(StyleLevel.TEXT);
|
5583
|
+
const mrow = buildExpressionRow(group.body, newStyle);
|
5584
|
+
return consolidateText(mrow)
|
5585
|
+
}
|
5586
|
+
});
|
5587
|
+
|
5503
5588
|
const mathmlBuilder$4 = (group, style) => {
|
5504
5589
|
const accentNode = stretchy.mathMLnode(group.label);
|
5505
5590
|
accentNode.style["math-depth"] = 0;
|
@@ -6469,7 +6554,8 @@ const singleCharBigOps = {
|
|
6469
6554
|
"\u2a02": "\\bigotimes",
|
6470
6555
|
"\u2a04": "\\biguplus",
|
6471
6556
|
"\u2a05": "\\bigsqcap",
|
6472
|
-
"\u2a06": "\\bigsqcup"
|
6557
|
+
"\u2a06": "\\bigsqcup",
|
6558
|
+
"\u2a09": "\\bigtimes"
|
6473
6559
|
};
|
6474
6560
|
|
6475
6561
|
defineFunction({
|
@@ -6489,6 +6575,7 @@ defineFunction({
|
|
6489
6575
|
"\\bigodot",
|
6490
6576
|
"\\bigsqcap",
|
6491
6577
|
"\\bigsqcup",
|
6578
|
+
"\\bigtimes",
|
6492
6579
|
"\\smallint",
|
6493
6580
|
"\u220F",
|
6494
6581
|
"\u2210",
|
@@ -8584,8 +8671,6 @@ defineMacro("\\surd", '\\sqrt{\\vphantom{|}}');
|
|
8584
8671
|
// See comment for \oplus in symbols.js.
|
8585
8672
|
defineMacro("\u2295", "\\oplus");
|
8586
8673
|
|
8587
|
-
defineMacro("\\hbox", "\\text{#1}");
|
8588
|
-
|
8589
8674
|
// Per TeXbook p.122, "/" gets zero operator spacing.
|
8590
8675
|
// And MDN recommends using U+2044 instead of / for inline
|
8591
8676
|
defineMacro("/", "{\u2044}");
|
@@ -8668,6 +8753,7 @@ const dotsByToken = {
|
|
8668
8753
|
"\\bigodot": "\\dotsb",
|
8669
8754
|
"\\bigsqcap": "\\dotsb",
|
8670
8755
|
"\\bigsqcup": "\\dotsb",
|
8756
|
+
"\\bigtimes": "\\dotsb",
|
8671
8757
|
"\\And": "\\dotsb",
|
8672
8758
|
"\\longrightarrow": "\\dotsb",
|
8673
8759
|
"\\Longrightarrow": "\\dotsb",
|
@@ -13061,7 +13147,7 @@ class Style {
|
|
13061
13147
|
* https://mit-license.org/
|
13062
13148
|
*/
|
13063
13149
|
|
13064
|
-
const version = "0.10.
|
13150
|
+
const version = "0.10.18";
|
13065
13151
|
|
13066
13152
|
function postProcess(block) {
|
13067
13153
|
const labelMap = {};
|
@@ -13116,9 +13202,9 @@ function postProcess(block) {
|
|
13116
13202
|
* Parse and build an expression, and place that expression in the DOM node
|
13117
13203
|
* given.
|
13118
13204
|
*/
|
13119
|
-
let render = function(expression, baseNode, options) {
|
13205
|
+
let render = function(expression, baseNode, options = {}) {
|
13120
13206
|
baseNode.textContent = "";
|
13121
|
-
const alreadyInMathElement = baseNode.tagName === "
|
13207
|
+
const alreadyInMathElement = baseNode.tagName.toLowerCase() === "math";
|
13122
13208
|
if (alreadyInMathElement) { options.wrap = "none"; }
|
13123
13209
|
const math = renderToMathMLTree(expression, options);
|
13124
13210
|
if (alreadyInMathElement) {
|