diff --git a/src/macros.js b/src/macros.js index b59a88df..152c90ac 100644 --- a/src/macros.js +++ b/src/macros.js @@ -96,12 +96,27 @@ defineMacro("\\TextOrMath", function(context) { }); ////////////////////////////////////////////////////////////////////// -// basics +// Grouping +// \let\bgroup={ \let\egroup=} defineMacro("\\bgroup", "{"); defineMacro("\\egroup", "}"); defineMacro("\\begingroup", "{"); defineMacro("\\endgroup", "}"); +// Symbols from latex.ltx: +// \def\lq{`} +// \def\rq{'} +// \def\lbrack{[} +// \def\rbrack{]} +// \def \aa {\r a} +// \def \AA {\r A} +defineMacro("\\lq", "`"); +defineMacro("\\rq", "'"); +defineMacro("\\lbrack", "["); +defineMacro("\\rbrack", "]"); +defineMacro("\\aa", "\\r a"); +defineMacro("\\AA", "\\r A"); + // Unicode double-struck letters defineMacro("\u2102", "\\mathbb{C}"); defineMacro("\u210D", "\\mathbb{H}"); diff --git a/test/katex-spec.js b/test/katex-spec.js index f9ed9b5d..0f86b6d7 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -2798,6 +2798,12 @@ describe("Unicode accents", function() { "\\'y\\\"y}"); }); + it("should support \\aa in text mode", function() { + expect("\\text{\\aa\\AA}").toParseLike("\\text{\\r a\\r A}"); + expect("\\aa").toNotParse(); + expect("\\Aa").toNotParse(); + }); + it("should parse combining characters", function() { expect("A\u0301C\u0301").toParseLike("Á\\acute C"); expect("\\text{A\u0301C\u0301}").toParseLike("\\text{Á\\'C}");