From 8621f5b76a0c1523bfff6100911145625778c7d2 Mon Sep 17 00:00:00 2001 From: Ron Kok Date: Wed, 27 Jun 2018 11:43:02 -0700 Subject: [PATCH] Support \brace and \brack (#1453) * Support \brace and \brack * Update screenshots --- src/functions/genfrac.js | 19 ++++++++++- test/katex-spec.js | 32 +++++++++++++++++- .../images/FractionTest-chrome.png | Bin 10270 -> 13076 bytes .../images/FractionTest-firefox.png | Bin 9257 -> 12110 bytes test/screenshotter/ss_data.yaml | 6 +++- 5 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/functions/genfrac.js b/src/functions/genfrac.js index 32decb0b..3ce6d66d 100644 --- a/src/functions/genfrac.js +++ b/src/functions/genfrac.js @@ -15,6 +15,7 @@ defineFunction({ "\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", // can’t be entered directly + "\\\\bracefrac", "\\\\brackfrac", // ditto ], props: { numArgs: 2, @@ -45,6 +46,16 @@ defineFunction({ leftDelim = "("; rightDelim = ")"; break; + case "\\\\bracefrac": + hasBarLine = false; + leftDelim = "\\{"; + rightDelim = "\\}"; + break; + case "\\\\brackfrac": + hasBarLine = false; + leftDelim = "["; + rightDelim = "]"; + break; default: throw new Error("Unrecognized genfrac command"); } @@ -272,7 +283,7 @@ defineFunction({ // immediately by one of the variants above. defineFunction({ type: "infix", - names: ["\\over", "\\choose", "\\atop"], + names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], props: { numArgs: 0, infix: true, @@ -289,6 +300,12 @@ defineFunction({ case "\\atop": replaceWith = "\\\\atopfrac"; break; + case "\\brace": + replaceWith = "\\\\bracefrac"; + break; + case "\\brack": + replaceWith = "\\\\brackfrac"; + break; default: throw new Error("Unrecognized infix genfrac command"); } diff --git a/test/katex-spec.js b/test/katex-spec.js index 475b1141..bedea36c 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -477,13 +477,17 @@ describe("A frac parser", function() { }); }); -describe("An over parser", function() { +describe("An over/brace/brack parser", function() { const simpleOver = "1 \\over x"; const complexOver = "1+2i \\over 3+4i"; + const braceFrac = "a+b \\brace c+d"; + const brackFrac = "a+b \\brack c+d"; it("should not fail", function() { expect(simpleOver).toParse(); expect(complexOver).toParse(); + expect(braceFrac).toParse(); + expect(brackFrac).toParse(); }); it("should produce a frac", function() { @@ -500,6 +504,22 @@ describe("An over parser", function() { expect(parse.type).toEqual("genfrac"); expect(parse.value.numer).toBeDefined(); expect(parse.value.denom).toBeDefined(); + + const parseBraceFrac = getParsed(braceFrac)[0]; + + expect(parseBraceFrac.type).toEqual("genfrac"); + expect(parseBraceFrac.value.numer).toBeDefined(); + expect(parseBraceFrac.value.denom).toBeDefined(); + expect(parseBraceFrac.value.leftDelim).toBeDefined(); + expect(parseBraceFrac.value.rightDelim).toBeDefined(); + + const parseBrackFrac = getParsed(brackFrac)[0]; + + expect(parseBrackFrac.type).toEqual("genfrac"); + expect(parseBrackFrac.value.numer).toBeDefined(); + expect(parseBrackFrac.value.denom).toBeDefined(); + expect(parseBrackFrac.value.leftDelim).toBeDefined(); + expect(parseBrackFrac.value.rightDelim).toBeDefined(); }); it("should create a numerator from the atoms before \\over", function() { @@ -567,6 +587,16 @@ describe("An over parser", function() { }); }); +describe("A infix builder", function() { + it("should not fail", function() { + expect("a \\over b").toBuild(); + expect("a \\atop b").toBuild(); + expect("a \\choose b").toBuild(); + expect("a \\brace b").toBuild(); + expect("a \\brack b").toBuild(); + }); +}); + describe("A sizing parser", function() { const sizeExpression = "\\Huge{x}\\small{x}"; diff --git a/test/screenshotter/images/FractionTest-chrome.png b/test/screenshotter/images/FractionTest-chrome.png index 90e283e8258c433fc37bae797d4e2988a39e15f5..4c7a5e284f7761fb33fade0ae1df66fbed3ec00d 100644 GIT binary patch literal 13076 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

y>!3sNF0HNqd%nDC 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

-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 diff --git a/test/screenshotter/images/FractionTest-firefox.png b/test/screenshotter/images/FractionTest-firefox.png index d86d04f68c05caca1ed5adc3aacde36dd214af3e..9f4c0c22584047fa738a62c4c9d7102a6100fd5e 100644 GIT binary patch literal 12110 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 delta 7473 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 P0|SGntDnm{r-UW|U3GTI diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index 2f7af95e..3e6ce889 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -113,7 +113,11 @@ ExtensibleArrows: | \xrightleftharpoons[ab]{ABC} + \xhookrightarrow[ab]{ABC} \\ \xtwoheadrightarrow{ABC} + \frac{\xrightarrow[ab]{ABC}}{\xrightarrow[ab]{ABC}} + \left\lvert\xrightarrow[ab]{ABC}\right\rvert \end{array} -FractionTest: \dfrac{a}{b}\frac{a}{b}\tfrac{a}{b}\;-\dfrac12\;1\tfrac12\;{1 \atop 2}\; \cfrac{1}{1+\cfrac{1}{x}} +FractionTest: | + \begin{array}{l} + \dfrac{a}{b}\frac{a}{b}\tfrac{a}{b}\;-\dfrac12\;1\tfrac12\;{1 \atop 2}\; \cfrac{1}{1+\cfrac{1}{x}} \\[2.5em] + {a \brace b} \; {a \brack b} + \end{array} Functions: \sin\cos\tan\ln\log Gathered: | \begin{gathered}