commit e2763a300712e6b2774b925daf5d389a7377cb08
parent 96d1e6aea789a5816bf7866c5ba2789c917c90ff
Author: Martin von Gagern <gagern@ma.tum.de>
Date: Fri, 6 Jan 2017 23:34:29 +0100
Support \bgroup and \egroup
Diffstat:
6 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/src/macros.js b/src/macros.js
@@ -9,6 +9,13 @@ function defineMacro(name, body) {
}
//////////////////////////////////////////////////////////////////////
+// basics
+defineMacro("\\bgroup", "{");
+defineMacro("\\egroup", "}");
+defineMacro("\\begingroup", "{");
+defineMacro("\\endgroup", "}");
+
+//////////////////////////////////////////////////////////////////////
// amsmath.sty
// \def\overset#1#2{\binrel@{#2}\binrel@@{\mathop{\kern\z@#2}\limits^{#1}}}
diff --git a/test/screenshotter/images/GroupMacros-chrome.png b/test/screenshotter/images/GroupMacros-chrome.png
Binary files differ.
diff --git a/test/screenshotter/images/GroupMacros-firefox.png b/test/screenshotter/images/GroupMacros-firefox.png
Binary files differ.
diff --git a/test/screenshotter/ss_data.js b/test/screenshotter/ss_data.js
@@ -26,5 +26,8 @@ for (var key in dict) {
}
});
itm.query = querystring.stringify(query);
+ if (itm.macros) {
+ itm.query += "&" + querystring.stringify(itm.macros);
+ }
}
module.exports = dict;
diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml
@@ -74,6 +74,11 @@ Exponents: a^{a^a_a}_{a^a_a}
FractionTest: \dfrac{a}{b}\frac{a}{b}\tfrac{a}{b}\;-\dfrac12\;1\tfrac12\;{1 \atop 2}
Functions: \sin\cos\tan\ln\log
GreekLetters: \alpha\beta\gamma\omega
+GroupMacros:
+ macros:
+ \startExp: e^\bgroup
+ \endExp: \egroup
+ tex: \startExp a+b\endExp
KaTeX: \KaTeX
Kern:
tex: \frac{a\kern{1em}b}{c}a\kern{1em}b\kern{1ex}c\kern{-0.25em}d
diff --git a/test/screenshotter/test.html b/test/screenshotter/test.html
@@ -47,6 +47,12 @@
if (query["errorColor"]) {
settings.errorColor = query["errorColor"];
}
+ var macros = {};
+ var macroRegex = /(?:^\?|&)(?:\\|%5[Cc])([A-Za-z]+)=([^&]*)/g;
+ while ((match = macroRegex.exec(window.location.search)) !== null) {
+ settings.macros = macros;
+ macros["\\" + match[1]] = decodeURIComponent(match[2]);
+ }
katex.render(query["tex"], mathNode, settings);
document.getElementById("pre").innerHTML = query["pre"] || "";