commit e0407a19a09bc1ed6dada3c90f533f49c32ce478
parent f8e0c91de464af514479d53521d77036494145ce
Author: Eddie Kohler <ekohler@gmail.com>
Date: Wed, 23 Nov 2016 09:28:09 -0500
Support \atop.
Add Jasmine test and update screenshotter test.
Diffstat:
5 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/functions.js b/src/functions.js
@@ -418,6 +418,7 @@ defineFunction("\\mathop", {
defineFunction([
"\\dfrac", "\\frac", "\\tfrac",
"\\dbinom", "\\binom", "\\tbinom",
+ "\\\\atopfrac", // can’t be entered directly
], {
numArgs: 2,
greediness: 2,
@@ -435,6 +436,9 @@ defineFunction([
case "\\tfrac":
hasBarLine = true;
break;
+ case "\\\\atopfrac":
+ hasBarLine = false;
+ break;
case "\\dbinom":
case "\\binom":
case "\\tbinom":
@@ -571,7 +575,7 @@ defineFunction([
});
// Infix generalized fractions
-defineFunction(["\\over", "\\choose"], {
+defineFunction(["\\over", "\\choose", "\\atop"], {
numArgs: 0,
infix: true,
}, function(context) {
@@ -583,6 +587,9 @@ defineFunction(["\\over", "\\choose"], {
case "\\choose":
replaceWith = "\\binom";
break;
+ case "\\atop":
+ replaceWith = "\\\\atopfrac";
+ break;
default:
throw new Error("Unrecognized infix genfrac command");
}
diff --git a/test/katex-spec.js b/test/katex-spec.js
@@ -606,6 +606,15 @@ describe("A frac parser", function() {
expect(tfracParse.value.numer).toBeDefined();
expect(tfracParse.value.denom).toBeDefined();
});
+
+ it("should parse atop", function() {
+ var parse = getParsed("x \\atop y")[0];
+
+ expect(parse.type).toEqual("genfrac");
+ expect(parse.value.numer).toBeDefined();
+ expect(parse.value.denom).toBeDefined();
+ expect(parse.value.hasBarLine).toEqual(false);
+ });
});
describe("An over parser", function() {
diff --git a/test/screenshotter/images/FractionTest-chrome.png b/test/screenshotter/images/FractionTest-chrome.png
Binary files differ.
diff --git a/test/screenshotter/images/FractionTest-firefox.png b/test/screenshotter/images/FractionTest-firefox.png
Binary files differ.
diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml
@@ -62,7 +62,7 @@ DisplayStyle: |
{\displaystyle\sqrt{x}}{\sqrt{x}}
{\displaystyle \frac12}{\frac12}{\displaystyle x^1_2}{x^1_2}
Exponents: a^{a^a_a}_{a^a_a}
-FractionTest: \dfrac{a}{b}\frac{a}{b}\tfrac{a}{b}\;-\dfrac12\;1\tfrac12
+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
KaTeX: \KaTeX