diff --git a/src/functions.js b/src/functions.js index b3f875a..24cf245 100644 --- 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 index b2fa955..de326d6 100644 --- 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 index b365f94..a54e5b3 100644 Binary files a/test/screenshotter/images/FractionTest-chrome.png and b/test/screenshotter/images/FractionTest-chrome.png differ diff --git a/test/screenshotter/images/FractionTest-firefox.png b/test/screenshotter/images/FractionTest-firefox.png index 7b4d559..298faed 100644 Binary files a/test/screenshotter/images/FractionTest-firefox.png and b/test/screenshotter/images/FractionTest-firefox.png differ diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index 7779912..a37a692 100644 --- 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