From 0b7b4db7fc6649ffc316016b81386f4e1cebaee0 Mon Sep 17 00:00:00 2001 From: Ron Kok Date: Tue, 23 Oct 2018 23:57:36 -0700 Subject: [PATCH] Support Unicode double square brackets (#1750) --- docs/supported.md | 2 +- src/macros.js | 12 ++++++++++++ test/katex-spec.js | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/supported.md b/docs/supported.md index 303f6199..f6693b6b 100644 --- a/docs/supported.md +++ b/docs/supported.md @@ -60,7 +60,7 @@ See also [letters](#letters) |$\vert$ | |$\vert$ `\vert` |$┌ ┐$ `┌ ┐`|$\ulcorner \urcorner$ `\ulcorner`
$~~~~$`\urcorner` |$\Downarrow$ `\Downarrow` |$\Vert$ \| |$\Vert$ `\Vert` |$└ ┘$ `└ ┘`|$\llcorner \lrcorner$ `\llcorner`
$~~~~$`\lrcorner` |$\Updownarrow$ `\Updownarrow` |$\lvert~\rvert$ `\lvert`
$~~~~$`\rvert`|$\lVert~\rVert$ `\lVert`
$~~~~~$`\rVert` |`\left.`| `\right.` |$\backslash$ `\backslash` -|$\lang~\rang$ `\lang`
$~~~~$`\rang`|$\lt~\gt$ `\lt \gt`| +|$\lang~\rang$ `\lang`
$~~~~$`\rang`|$\lt~\gt$ `\lt \gt`|$⟦~⟧$ `⟦ ⟧`| **Delimiter Sizing** diff --git a/src/macros.js b/src/macros.js index 95c429c7..d3e36bca 100644 --- a/src/macros.js +++ b/src/macros.js @@ -802,6 +802,18 @@ defineMacro("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}"); defineMacro("\\limsup", "\\DOTSB\\mathop{\\operatorname{lim\\,sup}}\\limits"); defineMacro("\\liminf", "\\DOTSB\\mathop{\\operatorname{lim\\,inf}}\\limits"); +////////////////////////////////////////////////////////////////////// +// semantic + +// The semantic package renders the next two items by calling a glyph from the +// bbold package. Those glyphs do not exist in the KaTeX fonts. Hence the macros. + +defineMacro("\u27e6", "\\mathopen{[\\mkern-3.2mu[}"); // blackboard bold [ +defineMacro("\u27e7", "\\mathclose{]\\mkern-3.2mu]}"); // blackboard bold ] + +// TODO: Create variable sized versions of the last two items. I believe that +// will require new font glyphs. + ////////////////////////////////////////////////////////////////////// // texvc.sty diff --git a/test/katex-spec.js b/test/katex-spec.js index c227a37f..d415de6e 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -3216,6 +3216,7 @@ describe("Unicode", function() { expect("\\left\u23b0\\frac{a}{b}\\right\u23b1").toBuild(); expect`┌x┐ └x┘`.toBuild(); expect("\u231Cx\u231D \u231Ex\u231F").toBuild(); + expect("\u27E6x\u27E7").toBuild(); }); it("should build some surrogate pairs", function() {