temml 0.10.2 → 0.10.3
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 +3 -4
- package/dist/Temml-Asana.css +17 -1
- package/dist/Temml-Latin-Modern.css +17 -5
- package/dist/Temml-Libertinus.css +17 -5
- package/dist/Temml-Local.css +16 -0
- package/dist/Temml-STIX2.css +16 -0
- package/dist/temml.cjs +8 -15
- package/dist/temml.js +8 -15
- package/dist/temml.min.js +1 -1
- package/dist/temml.mjs +8 -15
- package/dist/temmlPostProcess.js +1 -1
- package/package.json +1 -1
- package/src/Settings.js +1 -1
- package/src/buildMathML.js +3 -12
- package/src/linebreaking.js +3 -1
- package/src/postProcess.js +1 -1
package/README.md
CHANGED
@@ -7,11 +7,10 @@
|
|
7
7
|
| KaTeX | 280 KB |
|
8
8
|
| TeXZilla | 168 KB |
|
9
9
|
|
10
|
-
As a futher advantage, Temml can use local system fonts. The minimum Temml installation serves a font file that is only 12kb.
|
10
|
+
As a futher advantage, Temml can use local system fonts. The minimum Temml installation serves a font file that is only 12kb. Sadly, Chromium has some rendering bugs when using system fonts. It
|
11
|
+
work better with the Latin Modern font, a 380 KB file.
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
Temml’s coverage of LaTeX functions is as good as MathJax, slightly better than KaTeX 0.13.0 and substantially better than TeXZilla. See a [detailed coverage comparison](https://temml.org/docs/en/comparison.html).
|
13
|
+
Temml’s coverage of LaTeX functions is as good as MathJax, slightly better than KaTeX 0.16.0 and substantially better than TeXZilla. See a [detailed coverage comparison](https://temml.org/docs/en/comparison.html).
|
15
14
|
|
16
15
|
Temml's test suite includes many rendered examples, including the Temml [supported functions page](https://temml.org/docs/en/supported.html) and tests from [Mozilla](https://temml.org/tests/mozilla-tests.html), [Wikipedia](https://temml.org/tests/wiki-tests.html), [mhchem](https://temml.org/tests/mhchem-tests.html), and [LaTeXML](https://temml.org/tests/LaTeXML-tests.html).
|
17
16
|
|
package/dist/Temml-Asana.css
CHANGED
@@ -35,7 +35,7 @@ mtext {
|
|
35
35
|
}
|
36
36
|
|
37
37
|
math {
|
38
|
-
font-family: Asana Math;
|
38
|
+
font-family: Asana Math, math;
|
39
39
|
}
|
40
40
|
|
41
41
|
*.mathcal,
|
@@ -43,6 +43,22 @@ mo.tml-prime {
|
|
43
43
|
font-feature-settings: 'salt';
|
44
44
|
}
|
45
45
|
|
46
|
+
/* flex-wrap for line-breaking in Chromium */
|
47
|
+
math {
|
48
|
+
display: inline-flex;
|
49
|
+
flex-wrap: wrap;
|
50
|
+
align-items: baseline;
|
51
|
+
}
|
52
|
+
math > mrow {
|
53
|
+
padding: 0.5ex 0ex;
|
54
|
+
}
|
55
|
+
|
56
|
+
/* Avoid flex-wrap in Firefox */
|
57
|
+
@supports (-moz-appearance:meterbar) and (display:flex) {
|
58
|
+
math { display: inline; }
|
59
|
+
math > mrow { padding: 0 }
|
60
|
+
}
|
61
|
+
|
46
62
|
/* AMS environment auto-numbering via CSS counter. */
|
47
63
|
.tml-eqn::before {
|
48
64
|
counter-increment: tmlEqnNo;
|
@@ -40,12 +40,8 @@ math * {
|
|
40
40
|
border-color: currentColor;
|
41
41
|
}
|
42
42
|
|
43
|
-
.latin-modern math {
|
44
|
-
font-family: "Latin Modern Math", "Times New Roman", math;
|
45
|
-
}
|
46
|
-
|
47
43
|
math {
|
48
|
-
font-family: Latin Modern Math;
|
44
|
+
font-family: "Latin Modern Math", "Times New Roman", math;
|
49
45
|
}
|
50
46
|
|
51
47
|
*.mathscr {
|
@@ -56,6 +52,22 @@ mo.tml-prime {
|
|
56
52
|
font-family: Temml;
|
57
53
|
}
|
58
54
|
|
55
|
+
/* flex-wrap for line-breaking in Chromium */
|
56
|
+
math {
|
57
|
+
display: inline-flex;
|
58
|
+
flex-wrap: wrap;
|
59
|
+
align-items: baseline;
|
60
|
+
}
|
61
|
+
math > mrow {
|
62
|
+
padding: 0.5ex 0ex;
|
63
|
+
}
|
64
|
+
|
65
|
+
/* Avoid flex-wrap in Firefox */
|
66
|
+
@supports (-moz-appearance:meterbar) and (display:flex) {
|
67
|
+
math { display: inline; }
|
68
|
+
math > mrow { padding: 0 }
|
69
|
+
}
|
70
|
+
|
59
71
|
/* AMS environment auto-numbering via CSS counter. */
|
60
72
|
.tml-eqn::before {
|
61
73
|
counter-increment: tmlEqnNo;
|
@@ -38,12 +38,8 @@ math * {
|
|
38
38
|
border-color: currentColor;
|
39
39
|
}
|
40
40
|
|
41
|
-
.libertinus math {
|
42
|
-
font-family: "Libertinus Math", "Times New Roman", math;
|
43
|
-
}
|
44
|
-
|
45
41
|
math {
|
46
|
-
font-family: Libertinus Math;
|
42
|
+
font-family: Libertinus Math, math;
|
47
43
|
}
|
48
44
|
|
49
45
|
*.mathcal {
|
@@ -54,6 +50,22 @@ mo.tml-prime {
|
|
54
50
|
font-feature-settings: 'ssty';
|
55
51
|
}
|
56
52
|
|
53
|
+
/* flex-wrap for line-breaking in Chromium */
|
54
|
+
math {
|
55
|
+
display: inline-flex;
|
56
|
+
flex-wrap: wrap;
|
57
|
+
align-items: baseline;
|
58
|
+
}
|
59
|
+
math > mrow {
|
60
|
+
padding: 0.5ex 0ex;
|
61
|
+
}
|
62
|
+
|
63
|
+
/* Avoid flex-wrap in Firefox */
|
64
|
+
@supports (-moz-appearance:meterbar) and (display:flex) {
|
65
|
+
math { display: inline; }
|
66
|
+
math > mrow { padding: 0 }
|
67
|
+
}
|
68
|
+
|
57
69
|
/* AMS environment auto-numbering via CSS counter. */
|
58
70
|
.tml-eqn::before {
|
59
71
|
counter-increment: tmlEqnNo;
|
package/dist/Temml-Local.css
CHANGED
@@ -36,6 +36,22 @@ mo.tml-prime {
|
|
36
36
|
font-family: Temml;
|
37
37
|
}
|
38
38
|
|
39
|
+
/* flex-wrap for line-breaking in Chromium */
|
40
|
+
math {
|
41
|
+
display: inline-flex;
|
42
|
+
flex-wrap: wrap;
|
43
|
+
align-items: baseline;
|
44
|
+
}
|
45
|
+
math > mrow {
|
46
|
+
padding: 0.5ex 0ex;
|
47
|
+
}
|
48
|
+
|
49
|
+
/* Avoid flex-wrap in Firefox */
|
50
|
+
@supports (-moz-appearance:meterbar) and (display:flex) {
|
51
|
+
math { display: inline; }
|
52
|
+
math > mrow { padding: 0 }
|
53
|
+
}
|
54
|
+
|
39
55
|
/* AMS environment auto-numbering via CSS counter. */
|
40
56
|
.tml-eqn::before {
|
41
57
|
counter-increment: tmlEqnNo;
|
package/dist/Temml-STIX2.css
CHANGED
@@ -44,6 +44,22 @@ mo.tml-prime {
|
|
44
44
|
font-feature-settings: 'ss04';
|
45
45
|
}
|
46
46
|
|
47
|
+
/* flex-wrap for line-breaking in Chromium */
|
48
|
+
math {
|
49
|
+
display: inline-flex;
|
50
|
+
flex-wrap: wrap;
|
51
|
+
align-items: baseline;
|
52
|
+
}
|
53
|
+
math > mrow {
|
54
|
+
padding: 0.5ex 0ex;
|
55
|
+
}
|
56
|
+
|
57
|
+
/* Avoid flex-wrap in Firefox */
|
58
|
+
@supports (-moz-appearance:meterbar) and (display:flex) {
|
59
|
+
math { display: inline; }
|
60
|
+
math > mrow { padding: 0 }
|
61
|
+
}
|
62
|
+
|
47
63
|
/* AMS environment auto-numbering via CSS counter. */
|
48
64
|
.tml-eqn::before {
|
49
65
|
counter-increment: tmlEqnNo;
|
package/dist/temml.cjs
CHANGED
@@ -190,7 +190,7 @@ class Settings {
|
|
190
190
|
this.leqno = utils.deflt(options.leqno, false); // boolean
|
191
191
|
this.errorColor = utils.deflt(options.errorColor, "#b22222"); // string
|
192
192
|
this.macros = options.macros || {};
|
193
|
-
this.wrap = utils.deflt(options.wrap, "
|
193
|
+
this.wrap = utils.deflt(options.wrap, "tex"); // "tex" | "="
|
194
194
|
this.xml = utils.deflt(options.xml, false); // boolean
|
195
195
|
this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false); // booelean
|
196
196
|
this.strict = utils.deflt(options.strict, false); // boolean
|
@@ -1749,10 +1749,12 @@ for (let i = 0; i < 10; i++) {
|
|
1749
1749
|
* Then the top level of a <math> element can be occupied by <mrow> elements, and the browser
|
1750
1750
|
* will break after a <mrow> if the expression extends beyond the container limit.
|
1751
1751
|
*
|
1752
|
-
*
|
1752
|
+
* The default is for soft line breaks after each top-level binary or
|
1753
1753
|
* relational operator, per TeXbook p. 173. So we gather the expression into <mrow>s so that
|
1754
1754
|
* each <mrow> ends in a binary or relational operator.
|
1755
1755
|
*
|
1756
|
+
* An option is for soft line breaks before an "=" sign. That changes the <mrow>s.
|
1757
|
+
*
|
1756
1758
|
* Soft line breaks will not work in Chromium and Safari, only Firefox.
|
1757
1759
|
*
|
1758
1760
|
* Hopefully browsers will someday do their own linebreaking and we will be able to delete
|
@@ -2098,18 +2100,6 @@ function buildMathML(tree, texExpression, style, settings) {
|
|
2098
2100
|
wrapper = new mathMLTree.MathNode("semantics", [wrapper, annotation]);
|
2099
2101
|
}
|
2100
2102
|
|
2101
|
-
if (wrap !== "none" && wrapper.children.length > 1) {
|
2102
|
-
const maths = [];
|
2103
|
-
for (let i = 0; i < wrapper.children.length; i++) {
|
2104
|
-
const math = new mathMLTree.MathNode("math", [wrapper.children[i]]);
|
2105
|
-
if (settings.xml) {
|
2106
|
-
math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML");
|
2107
|
-
}
|
2108
|
-
maths.push(math);
|
2109
|
-
}
|
2110
|
-
return mathMLTree.newDocumentFragment(maths)
|
2111
|
-
}
|
2112
|
-
|
2113
2103
|
const math = new mathMLTree.MathNode("math", [wrapper]);
|
2114
2104
|
|
2115
2105
|
if (settings.xml) {
|
@@ -2117,6 +2107,9 @@ function buildMathML(tree, texExpression, style, settings) {
|
|
2117
2107
|
}
|
2118
2108
|
if (settings.displayMode) {
|
2119
2109
|
math.setAttribute("display", "block");
|
2110
|
+
math.style.display = math.children.length === 1 && math.children[0].type === "mtable"
|
2111
|
+
? "inline"
|
2112
|
+
: "inline-block";
|
2120
2113
|
}
|
2121
2114
|
return math;
|
2122
2115
|
}
|
@@ -12977,7 +12970,7 @@ class Style {
|
|
12977
12970
|
* https://mit-license.org/
|
12978
12971
|
*/
|
12979
12972
|
|
12980
|
-
const version = "0.10.
|
12973
|
+
const version = "0.10.3";
|
12981
12974
|
|
12982
12975
|
function postProcess(block) {
|
12983
12976
|
const labelMap = {};
|
package/dist/temml.js
CHANGED
@@ -191,7 +191,7 @@ var temml = (function () {
|
|
191
191
|
this.leqno = utils.deflt(options.leqno, false); // boolean
|
192
192
|
this.errorColor = utils.deflt(options.errorColor, "#b22222"); // string
|
193
193
|
this.macros = options.macros || {};
|
194
|
-
this.wrap = utils.deflt(options.wrap, "
|
194
|
+
this.wrap = utils.deflt(options.wrap, "tex"); // "tex" | "="
|
195
195
|
this.xml = utils.deflt(options.xml, false); // boolean
|
196
196
|
this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false); // booelean
|
197
197
|
this.strict = utils.deflt(options.strict, false); // boolean
|
@@ -1750,10 +1750,12 @@ var temml = (function () {
|
|
1750
1750
|
* Then the top level of a <math> element can be occupied by <mrow> elements, and the browser
|
1751
1751
|
* will break after a <mrow> if the expression extends beyond the container limit.
|
1752
1752
|
*
|
1753
|
-
*
|
1753
|
+
* The default is for soft line breaks after each top-level binary or
|
1754
1754
|
* relational operator, per TeXbook p. 173. So we gather the expression into <mrow>s so that
|
1755
1755
|
* each <mrow> ends in a binary or relational operator.
|
1756
1756
|
*
|
1757
|
+
* An option is for soft line breaks before an "=" sign. That changes the <mrow>s.
|
1758
|
+
*
|
1757
1759
|
* Soft line breaks will not work in Chromium and Safari, only Firefox.
|
1758
1760
|
*
|
1759
1761
|
* Hopefully browsers will someday do their own linebreaking and we will be able to delete
|
@@ -2099,18 +2101,6 @@ var temml = (function () {
|
|
2099
2101
|
wrapper = new mathMLTree.MathNode("semantics", [wrapper, annotation]);
|
2100
2102
|
}
|
2101
2103
|
|
2102
|
-
if (wrap !== "none" && wrapper.children.length > 1) {
|
2103
|
-
const maths = [];
|
2104
|
-
for (let i = 0; i < wrapper.children.length; i++) {
|
2105
|
-
const math = new mathMLTree.MathNode("math", [wrapper.children[i]]);
|
2106
|
-
if (settings.xml) {
|
2107
|
-
math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML");
|
2108
|
-
}
|
2109
|
-
maths.push(math);
|
2110
|
-
}
|
2111
|
-
return mathMLTree.newDocumentFragment(maths)
|
2112
|
-
}
|
2113
|
-
|
2114
2104
|
const math = new mathMLTree.MathNode("math", [wrapper]);
|
2115
2105
|
|
2116
2106
|
if (settings.xml) {
|
@@ -2118,6 +2108,9 @@ var temml = (function () {
|
|
2118
2108
|
}
|
2119
2109
|
if (settings.displayMode) {
|
2120
2110
|
math.setAttribute("display", "block");
|
2111
|
+
math.style.display = math.children.length === 1 && math.children[0].type === "mtable"
|
2112
|
+
? "inline"
|
2113
|
+
: "inline-block";
|
2121
2114
|
}
|
2122
2115
|
return math;
|
2123
2116
|
}
|
@@ -11078,7 +11071,7 @@ var temml = (function () {
|
|
11078
11071
|
* https://mit-license.org/
|
11079
11072
|
*/
|
11080
11073
|
|
11081
|
-
const version = "0.10.
|
11074
|
+
const version = "0.10.3";
|
11082
11075
|
|
11083
11076
|
function postProcess(block) {
|
11084
11077
|
const labelMap = {};
|