From c951df4269eb0b72826f803b218e6fa7c19c78e5 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Mon, 21 Nov 2016 14:02:24 -0500 Subject: [PATCH 01/12] Fix #4. Post-process the list of atoms after they are created, changing binary operators to ordinary atoms according to the TeXbook's rules. This makes the `prev` argument redundant, so drop it. This commit assumes that the math class (mop/mbin/mrel/etc.) comes first in the `classes` list, if present. Add a TODO to change the signature of `makeSpan/makeSymbol` to enforce this invariant. --- src/buildCommon.js | 4 + src/buildHTML.js | 162 ++++++++++-------- src/buildMathML.js | 2 +- .../images/BinCancellation-chrome.png | Bin 0 -> 7526 bytes .../images/BinCancellation-firefox.png | Bin 0 -> 6912 bytes test/screenshotter/ss_data.yaml | 5 + 6 files changed, 99 insertions(+), 74 deletions(-) create mode 100644 test/screenshotter/images/BinCancellation-chrome.png create mode 100644 test/screenshotter/images/BinCancellation-firefox.png diff --git a/src/buildCommon.js b/src/buildCommon.js index c4ab8ba6..4e22fb1f 100644 --- a/src/buildCommon.js +++ b/src/buildCommon.js @@ -36,6 +36,8 @@ var mainitLetters = [ * classes to be attached to the node. * * TODO: make argument order closer to makeSpan + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. */ var makeSymbol = function(value, fontFamily, mode, options, classes) { // Replace the value with its replaced value from symbol.js @@ -183,6 +185,8 @@ var sizeElementFromChildren = function(elem) { * * TODO: Ensure that `options` is always provided (currently some call sites * don't pass it). + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. */ var makeSpan = function(classes, children, options) { var span = new domTree.span(classes, children, options); diff --git a/src/buildHTML.js b/src/buildHTML.js index 61ec1b7c..32ddd792 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -21,27 +21,52 @@ var isSpace = function(node) { return node instanceof domTree.span && node.classes[0] === "mspace"; }; +// Binary atoms (first class `mbin`) change into ordinary atoms (`mord`) +// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6, +// and the text before Rule 19. + +var isBin = function(node) { + return node && node.classes[0] === "mbin"; +}; + +var isBinLeftCanceller = function(node, isRealGroup) { + // TODO: This code assumes that a node's math class is the first element + // of its `classes` array. A later cleanup should ensure this, for + // instance by changing the signature of `makeSpan`. + if (node) { + return utils.contains(["mbin", "mopen", "mrel", "mop", "mpunct"], + node.classes[0]); + } else { + return isRealGroup; + } +}; + +var isBinRightCanceller = function(node, isRealGroup) { + if (node) { + return utils.contains(["mrel", "mclose", "mpunct"], node.classes[0]); + } else { + return isRealGroup; + } +}; + /** * Take a list of nodes, build them in order, and return a list of the built - * nodes. This function handles the `prev` node correctly, and passes the - * previous element from the list as the prev of the next element, ignoring - * spaces. documentFragments are flattened into their contents, so the - * returned list contains no fragments. + * nodes. documentFragments are flattened into their contents, so the + * returned list contains no fragments. `isRealGroup` is true if `expression` + * is a real group (no atoms will be added on either side), as opposed to + * a partial group (e.g. one created by \color). */ -var buildExpression = function(expression, options, prev) { +var buildExpression = function(expression, options, isRealGroup) { // Parse expressions into `groups`. var groups = []; for (var i = 0; i < expression.length; i++) { var group = expression[i]; - var output = buildGroup(group, options, prev); + var output = buildGroup(group, options); if (output instanceof domTree.documentFragment) { Array.prototype.push.apply(groups, output.children); } else { groups.push(output); } - if (!isSpace(output)) { - prev = group; - } } // At this point `groups` consists entirely of `symbolNode`s and `span`s. @@ -68,6 +93,15 @@ var buildExpression = function(expression, options, prev) { Array.prototype.push.apply(groups, spaces); } + // Binary operators change to ordinary symbols in some contexts. + for (i = 0; i < groups.length; i++) { + if (isBin(groups[i]) + && (isBinLeftCanceller(groups[i - 1], isRealGroup) + || isBinRightCanceller(groups[i + 1], isRealGroup))) { + groups[i].classes[0] = "mord"; + } + } + return groups; }; @@ -215,81 +249,63 @@ var makeNullDelimiter = function(options) { */ var groupTypes = {}; -groupTypes.mathord = function(group, options, prev) { +groupTypes.mathord = function(group, options) { return buildCommon.makeOrd(group, options, "mathord"); }; -groupTypes.textord = function(group, options, prev) { +groupTypes.textord = function(group, options) { return buildCommon.makeOrd(group, options, "textord"); }; -groupTypes.bin = function(group, options, prev) { - var className = "mbin"; - // Pull out the most recent element. Do some special handling to find - // things at the end of a \color group. Note that we don't use the same - // logic for ordgroups (which count as ords). - var prevAtom = prev; - while (prevAtom && prevAtom.type === "color") { - var atoms = prevAtom.value.value; - prevAtom = atoms[atoms.length - 1]; - } - // See TeXbook pg. 442-446, Rules 5 and 6, and the text before Rule 19. - // Here, we determine whether the bin should turn into an ord. We - // currently only apply Rule 5. - if (!prev || utils.contains(["mbin", "mopen", "mrel", "mop", "mpunct"], - getTypeOfGroup(prevAtom))) { - group.type = "textord"; - className = "mord"; - } - +groupTypes.bin = function(group, options) { return buildCommon.mathsym( - group.value, group.mode, options, [className]); + group.value, group.mode, options, ["mbin"]); }; -groupTypes.rel = function(group, options, prev) { +groupTypes.rel = function(group, options) { return buildCommon.mathsym( group.value, group.mode, options, ["mrel"]); }; -groupTypes.open = function(group, options, prev) { +groupTypes.open = function(group, options) { return buildCommon.mathsym( group.value, group.mode, options, ["mopen"]); }; -groupTypes.close = function(group, options, prev) { +groupTypes.close = function(group, options) { return buildCommon.mathsym( group.value, group.mode, options, ["mclose"]); }; -groupTypes.inner = function(group, options, prev) { +groupTypes.inner = function(group, options) { return buildCommon.mathsym( group.value, group.mode, options, ["minner"]); }; -groupTypes.punct = function(group, options, prev) { +groupTypes.punct = function(group, options) { return buildCommon.mathsym( group.value, group.mode, options, ["mpunct"]); }; -groupTypes.ordgroup = function(group, options, prev) { +groupTypes.ordgroup = function(group, options) { return makeSpan( ["mord", options.style.cls()], - buildExpression(group.value, options.reset()), + buildExpression(group.value, options.reset(), true), options ); }; -groupTypes.text = function(group, options, prev) { +groupTypes.text = function(group, options) { return makeSpan(["mord", "text", options.style.cls()], - buildExpression(group.value.body, options.reset()), + buildExpression(group.value.body, options.reset(), true), options); }; -groupTypes.color = function(group, options, prev) { +groupTypes.color = function(group, options) { var elements = buildExpression( group.value.value, options.withColor(group.value.color), - prev + false ); // \color isn't supposed to affect the type of the elements it contains. @@ -299,14 +315,14 @@ groupTypes.color = function(group, options, prev) { return new buildCommon.makeFragment(elements); }; -groupTypes.supsub = function(group, options, prev) { +groupTypes.supsub = function(group, options) { // Superscript and subscripts are handled in the TeXbook on page // 445-446, rules 18(a-f). // Here is where we defer to the inner group if it should handle // superscripts and subscripts itself. if (shouldHandleSupSub(group.value.base, options)) { - return groupTypes[group.value.base.type](group, options, prev); + return groupTypes[group.value.base.type](group, options); } var base = buildGroup(group.value.base, options.reset()); @@ -427,7 +443,7 @@ groupTypes.supsub = function(group, options, prev) { options); }; -groupTypes.genfrac = function(group, options, prev) { +groupTypes.genfrac = function(group, options) { // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e). // Figure out what style this fraction should be in based on the // function used @@ -566,7 +582,7 @@ groupTypes.genfrac = function(group, options, prev) { options); }; -groupTypes.array = function(group, options, prev) { +groupTypes.array = function(group, options) { var r; var c; var nr = group.value.body.length; @@ -730,7 +746,7 @@ groupTypes.array = function(group, options, prev) { return makeSpan(["mord"], [body], options); }; -groupTypes.spacing = function(group, options, prev) { +groupTypes.spacing = function(group, options) { if (group.value === "\\ " || group.value === "\\space" || group.value === " " || group.value === "~") { // Spaces are generated by adding an actual space. Each of these @@ -749,7 +765,7 @@ groupTypes.spacing = function(group, options, prev) { } }; -groupTypes.llap = function(group, options, prev) { +groupTypes.llap = function(group, options) { var inner = makeSpan( ["inner"], [buildGroup(group.value.body, options.reset())]); var fix = makeSpan(["fix"], []); @@ -757,7 +773,7 @@ groupTypes.llap = function(group, options, prev) { ["llap", options.style.cls()], [inner, fix], options); }; -groupTypes.rlap = function(group, options, prev) { +groupTypes.rlap = function(group, options) { var inner = makeSpan( ["inner"], [buildGroup(group.value.body, options.reset())]); var fix = makeSpan(["fix"], []); @@ -765,12 +781,12 @@ groupTypes.rlap = function(group, options, prev) { ["rlap", options.style.cls()], [inner, fix], options); }; -groupTypes.op = function(group, options, prev) { +groupTypes.op = function(group, options) { // Operators are handled in the TeXbook pg. 443-444, rule 13(a). var supGroup; var subGroup; var hasLimits = false; - if (group.type === "supsub" ) { + if (group.type === "supsub") { // If we have limits, supsub will pass us its group to handle. Pull // out the superscript and subscript and set the group to the op in // its base. @@ -930,7 +946,7 @@ groupTypes.op = function(group, options, prev) { } }; -groupTypes.katex = function(group, options, prev) { +groupTypes.katex = function(group, options) { // The KaTeX logo. The offsets for the K and a were chosen to look // good, but the offsets for the T, E, and X were taken from the // definition of \TeX in TeX (see TeXbook pg. 356) @@ -957,7 +973,7 @@ groupTypes.katex = function(group, options, prev) { ["mord", "katex-logo"], [k, a, t, e, x], options); }; -groupTypes.overline = function(group, options, prev) { +groupTypes.overline = function(group, options) { // Overlines are handled in the TeXbook pg 443, Rule 9. var style = options.style; @@ -985,7 +1001,7 @@ groupTypes.overline = function(group, options, prev) { return makeSpan(["mord", "overline"], [vlist], options); }; -groupTypes.underline = function(group, options, prev) { +groupTypes.underline = function(group, options) { // Underlines are handled in the TeXbook pg 443, Rule 10. var style = options.style; @@ -1011,7 +1027,7 @@ groupTypes.underline = function(group, options, prev) { return makeSpan(["mord", "underline"], [vlist], options); }; -groupTypes.sqrt = function(group, options, prev) { +groupTypes.sqrt = function(group, options) { // Square roots are handled in the TeXbook pg. 443, Rule 11. var style = options.style; @@ -1110,12 +1126,12 @@ groupTypes.sqrt = function(group, options, prev) { } }; -groupTypes.sizing = function(group, options, prev) { +groupTypes.sizing = function(group, options) { // Handle sizing operators like \Huge. Real TeX doesn't actually allow // these functions inside of math expressions, so we do some special // handling. var inner = buildExpression(group.value.value, - options.withSize(group.value.size), prev); + options.withSize(group.value.size), false); // Compute the correct maxFontSize. var style = options.style; @@ -1141,7 +1157,7 @@ groupTypes.sizing = function(group, options, prev) { return buildCommon.makeFragment(inner); }; -groupTypes.styling = function(group, options, prev) { +groupTypes.styling = function(group, options) { // Style changes are handled in the TeXbook on pg. 442, Rule 3. // Figure out what style we're changing to. @@ -1157,7 +1173,7 @@ groupTypes.styling = function(group, options, prev) { // Build the inner expression in the new style. var inner = buildExpression( - group.value.value, newOptions, prev); + group.value.value, newOptions, false); // Add style-resetting classes to the inner list. Handle nested changes. for (var i = 0; i < inner.length; i++) { @@ -1174,12 +1190,12 @@ groupTypes.styling = function(group, options, prev) { return new buildCommon.makeFragment(inner); }; -groupTypes.font = function(group, options, prev) { +groupTypes.font = function(group, options) { var font = group.value.font; - return buildGroup(group.value.body, options.withFont(font), prev); + return buildGroup(group.value.body, options.withFont(font)); }; -groupTypes.delimsizing = function(group, options, prev) { +groupTypes.delimsizing = function(group, options) { var delim = group.value.value; if (delim === ".") { @@ -1196,9 +1212,9 @@ groupTypes.delimsizing = function(group, options, prev) { options); }; -groupTypes.leftright = function(group, options, prev) { +groupTypes.leftright = function(group, options) { // Build the inner expression - var inner = buildExpression(group.value.body, options.reset()); + var inner = buildExpression(group.value.body, options.reset(), true); var innerHeight = 0; var innerDepth = 0; @@ -1247,7 +1263,7 @@ groupTypes.leftright = function(group, options, prev) { ["minner", style.cls()], inner, options); }; -groupTypes.rule = function(group, options, prev) { +groupTypes.rule = function(group, options) { // Make an empty span for the rule var rule = makeSpan(["mord", "rule"], [], options); var style = options.style; @@ -1290,7 +1306,7 @@ groupTypes.rule = function(group, options, prev) { return rule; }; -groupTypes.kern = function(group, options, prev) { +groupTypes.kern = function(group, options) { // Make an empty span for the rule var rule = makeSpan(["mord", "rule"], [], options); var style = options.style; @@ -1310,7 +1326,7 @@ groupTypes.kern = function(group, options, prev) { return rule; }; -groupTypes.accent = function(group, options, prev) { +groupTypes.accent = function(group, options) { // Accents are handled in the TeXbook pg. 443, rule 12. var base = group.value.base; var style = options.style; @@ -1337,7 +1353,7 @@ groupTypes.accent = function(group, options, prev) { // Rerender the supsub group with its new base, and store that // result. supsubGroup = buildGroup( - supsub, options.reset(), prev); + supsub, options.reset()); } // Build the base group @@ -1419,11 +1435,11 @@ groupTypes.accent = function(group, options, prev) { } }; -groupTypes.phantom = function(group, options, prev) { +groupTypes.phantom = function(group, options) { var elements = buildExpression( group.value.value, options.withPhantom(), - prev + false ); // \phantom isn't supposed to affect the elements it contains. @@ -1436,14 +1452,14 @@ groupTypes.phantom = function(group, options, prev) { * function for it. It also handles the interaction of size and style changes * between parents and children. */ -var buildGroup = function(group, options, prev) { +var buildGroup = function(group, options) { if (!group) { return makeSpan(); } if (groupTypes[group.type]) { // Call the groupTypes function - var groupNode = groupTypes[group.type](group, options, prev); + var groupNode = groupTypes[group.type](group, options); var multiplier; // If the style changed between the parent and the current group, @@ -1483,7 +1499,7 @@ var buildHTML = function(tree, options) { tree = JSON.parse(JSON.stringify(tree)); // Build the expression contained in the tree - var expression = buildExpression(tree, options); + var expression = buildExpression(tree, options, true); var body = makeSpan(["base", options.style.cls()], expression, options); // Add struts, which ensure that the top of the HTML element falls at the diff --git a/src/buildMathML.js b/src/buildMathML.js index 575ba756..4a75d928 100644 --- a/src/buildMathML.js +++ b/src/buildMathML.js @@ -470,7 +470,7 @@ groupTypes.rlap = function(group, options) { return node; }; -groupTypes.phantom = function(group, options, prev) { +groupTypes.phantom = function(group, options) { var inner = buildExpression(group.value.value, options); return new mathMLTree.MathNode("mphantom", inner); }; diff --git a/test/screenshotter/images/BinCancellation-chrome.png b/test/screenshotter/images/BinCancellation-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..7f50bed53a0f425238bdd0f64174b545e7b5d6fb GIT binary patch literal 7526 zcmeAS@N?(olHy`uVBq!ia0y~yU}0cjU}oT8U|?XFf6?nA1B0xtr;B4q#hkZytM7=G zHXi?YfANAJ3JOe2O_EI$C+&E>Z^f6;o!^RXhiaP^T+K4Q=5yIhf9K7kTaSikFI&5= zX?lmkkxxt4d2J8X+3a)J+iNLDg|mb1dc073&rIa5m^n{>s9T($2teh=W0)hXRUApke0U`@7X%TdHjPd!|l3#kO5V zPS*BI3-?oE#yj8K%i{YE)=Yz_h9v%q#e9uEX*mEZMKKaI=fGpz3obgL5;MOX-&$oN|6%>COJXK~F3gq}Aq^ z{F=UQ*8f%C=U?ot{1G>k2`rw9`g)mq>wP1*K zu`i21XU8x%hb19y4?~F~LsFp*Lo$bhhIW@&!%h|j=|0wkdM1HWpBAwu@G+ifOJ=MP zXXJQ#bP;QU8JH{K%ivVGFN1N0E5oLT5e(l{85Y_^Z(%s2!f>-dhe4UcLBqRStYJ2X zgP9EXfdVFhQn1Q^%_7?>tZ zO=5X)GwrOp>_N9T(htS-*b>qv8RoDmobq#7slga=ZOzXm$~QVD3g$gbV%Rr7g(sS^ zW0P>8mKTH59FHrh2i;sOPcQFg+@X0=VjI(huPcL!mrF24T!QF&2-cP7W7M{m!R2PB zMygmt?&;OiIcJ()UC&u#<)_MUeu+)(>89Qr%Ws8BuX^9hdW>h?M(*2}=GD40 zW&8GJI8#CGjMV4fJNGzFZ=LP>c5a8&Ce8z0C)^tiKd<5q`ND9fcjMwXzv^FsOa`XE zzV+~$ci*xWEKT{MeqgzhJX`zT(A+s*4DFb}k7&3jB4h>mZ zP{=;mrILJu%VEmgj-WuM56>Y|JbeY+;>-oPNP+$%c=NN#eF@6nx^+Zd5N*(~ z7F1<=z{2FfuqmjAK_}~4%_YH{BMUgT7Z@^JSCKp%#<1v(%aksm2KCvd^GjHy4Gj+I z#_$}t3e&uF5zB*4sFfXHbMGTd^`D*PZ`IU$!x*gV`=p*kZHB-yB`;Ub1CJq6FXX{~ zScU9|2#78@ zzOR0>{eKD74(SFJYr&;+*d9m)pI&%&{vy-k*Y9+Fmb!PXkwIsbWo_`+E4*Ki@;XeK z+abhwLV)o_6GKW1LrNPcuNzG|&9EkFN6yn(UuSR2$-aH@UR+jwe*W!$=brKAuZ!EK z;eVg2>eI;Q$}g1aB6GG7GVW zg*)w!mRrr!yT!R7UBX!PwWUXq4nz1Bzk3tE%6wYzw&j{j{J!FIr#KJ4J72{&Nrs!D z!90V9c_>VqU)CR(_wfM!hjck%4tn zXy8*8XT9kE)Rk*pvXmx#nXVz^V* zaPoWXo>x7wK3R-E&T3q~JHc{W_($jbE4K4C*=G6dw725Yk7T%ZcBY8T@tu3S|5wyy zS2ADXJTP^4)oQ7dYyM*E<9?qw%G?zDz4L6@^^0~FrN1!0Eo1Lh{qNr1u!FIp`s${(b1MdCkKEeY_s34EMi=UHN~iZ~BY4c>-&Go!~9IUNqhQMa=GG zw<*6DJG<{;@Okmk#jL#iqpYpDLNCLew`p!;W#b2*n{E0y_{k#6Rvj0=J+it3UuY2*L;k_A4eP>Hnb&5A|FRS^s=5*bg`+;Um zA1afVsqd^c-!5Ui^J5UV`h1(OhhFagHc#DtLKH(E*R?PEbmxl8M*W=riE(%Kt~2tV zZ+MAs*>%@vud{!_uEQ_o+_N~jo@s)XI8(u_ zvkYg-Oc|uh*V^3Tf4%3;ms76)Qz~QEPjf%}FS^mNudiINA!MgO!}(i02Xw-jFML#5 zuyf1jMSa&9{9bSUQ2N~bSH%V6^uG(gO>O_N_}1-}g-0!{+=Rhe{BPTYrCUii9B&F| zJih+@o{S__hU;HqzM0>f&-(gR-?!b3X&G;CG+=OXrh%d^_}?dtbmi@&WjchE|b zkyVCx{G=Ik!Q$PF8dJmc-hDgrZ{n%P|M%|wuQ~s2(wX~f)>>Yuz4y5O|Nd)n7uEjv zIuvLBnR!d_@e2t*hM=cT41Sv=8(zoqIq+ZBV%)LsRO$7q>Hal)kMX{LoqlHD`RmfZ zZ2#?eu0B7>$gr<3kwqa?k0qh&EW?=-{tRU@0&A*kuFn6w9o7-0r{AxNe_Oxc`-1S*F(0+xf82lm(XZs` z_Pl$Je>+m_qjv0~VGF~OE`}7b2H)hS(D=aY#{VDY%dUAPtoeE8R(H+W-MK)_t$U7yK@6xW7fpc*phIZF_U{`0G43S*p1)%yDN3;y-ZBe13Gn-OhvV z3~v7y{o5p7d3w+Dse0mnu2uhe|Mj>)_RZ7s`@XC5Ty_Pizr=UoY1;C=`jPiDUUL7v z&S(|SS+ilkA+tR9=2^{uMQ{9@mKXwd=v#(4`#yiPfACB|o#os4)%5|#BU|KdUEY25 zP{3-ckZi?tK9r%ZjR|R33qlzkLgPpRIK_Jb2D-jDh1x&Ha|G-^8;%s z-5;*`E1j=Rk(13hBlo>s_V1%l57wK+ZJ3!PBg>)?JB?|B%1H@5mII%5{yc1{9Pzze zO6S@?*8GK?-+7GEzOybo{x7WZ#jg9}8T(+C*a&Am+^@I(l|=Hg(EZE4U4Q7c^!n=i zDYFcZhwNYWTs@0vD#M@Ro?QQ&;-{M%O6|EHWd5(&a3^m+kNvmuQ`=Ac*ckHs#f`AP zeo=NeX0Tpee{;sKFQO4#4$c0{*#F&ix%z(Jtmd=tg)6tL>fh|e;McYD@5wXk&g9fJ zKfQH2o&W9c%N)+}!E!$?s%-XN_wC}vZwF75->=(iFWP(L63>AdC%*5rT>LB{crm}( zwp$i6*%FGM_9#@FT5UUR|7~;q)_k_BMZuL1Ht0*5dA?no?D}Q*`PR!a;{8h*Y-H1J zW|wtVP3K?xcjor{{5@6?_am^-A3wf<#>*fEF_H&$5D+~CV&mJE7PgcpD zDd6pkA0bzEpO=~TF7d;i_Nc;|o8zu$BJ zuZ|C&e!N!YBad)rVaW%jgk3tU5A;2c6(};y-(=S4k@w=q^W3tzt?%yc{qyU8eO0%t z)Gw3zgX(?8|Lh82Y2)9V6drM=f<;?7U5wT%GnCqOY*{e>`;Yz0MdrvWeEIyq`}AS8 zs%o>Hu=q0hQ&(lH$MS$BTX;q0%kBF=T&=FEF)M$5e#&*b>g((O9IyZI@4oq7R&~=q z{{kMYewrBHWgTe^NggZ;YZ+pq{-rM9FaNJym(H+ipYy}d=l^fKeO~+j=hFO>ho%1} zc|17%G|~L%ymg{12P&sAO?Z*-E6!A~XDjEGg4m}M|4qz0&zSd;k|5h+RI)A+j?o2yZUs*kt2a~U<1>F6%*IMq?_p-eeVaJ!sud3U8|Lb?T z|K;U757gg&aKhmKy6N>DZw~wr-llZyq9enlR80nd6;Ot$IdqF<)$iit%6DrPzdm~Z z^^PxZR&D=u{{O}2=kmm3AL!PEbbRLM(YL?bVV|fC@!>QkfoCeAraJ{1`lDw%lyaA| zJvbe!Z@2#OrQ56Tp0NM#KL7vQ!iDvd7jHL-dB{*7;_k;O_VfjZbi>u{KJ(9SXP&fK zq~ZAFo`+5heVff1U&Y;#Y{=dn7h`F>;${5XskZ-r|F3=jrgUR{+l2nmzq%9k?&Te-`hKTsRoS;52vHIx%skf;C$?L$>ESJY9Hi{p;{Ax2@wO zSCr*_IL;=yIeP1Q&Y$TVmSx$0zv^o8|Ni`o+cdUkv2qMU9yeRw&g~x;t>|W0BFymL z{6g*SGcT(i9-ex{PV(h|5Iw070HDET=Xf}xvcKra`XQ&PU_eG-d*qg zCy_n1#_NEEyZZ`;JzGBWYt3U)nPR}8t+hXY<_pF-sSLONYu{*S&iX5`-c$g{~^;ti9P`qxQ>3QLYb4;yM1siVf(VbCycxwF28ygwd9*?hj z98=F7x6N$oyFbNuXC!Vf|LOj-b>hKQ$G`WTzg1ps{Ht{C#eGlizUwYsSHIo{JjFd3|PCU)oUk7FP2+~5BvV#elmpZ?oR z%dPpaLCfFnomtxXU-zHxzwn!T;Wy(yrB9!Wb;ix?)W3L9@SSOce|e9E&d-vqf(=)g z0;*Jgh}U1|pHu#mzwX1=zUOl3A=T#9hXs}8@(gZ$XRBTPZR%5b_Ita($BV7>P-MvF zU)OWP9IW{ZQ$W@0p19{OQvWwETeGs}*vHGWjY^U=Sr%;h_sFo;eZKLb8EfL7pV?i( z7_qhB<|)(H=D9boZCku|@0EM^?rr-!_pJ22n7uWDbMjeJ1shtsr>(Dh{q}71c2K7$ z!Tt6&-PzaHNACQ>ztDfD;PFky>?O4hKC><_sb9kX#l63XFL1Vytn5TPE}O1&22a&m z=?iT>_t|`IU#s3|7z2Jdp0yLVo5l@F3rXG`Jx5} zk-(om$-I6huU2RpY=sTy2g(<-0>Ew6nzna3*7O_0ICU<|WONky!LYJZO8eTKy z&A~Oh7yof>_?~XtUD4KNb9_(!D#Jp%@+Q3)jsxr40VW1cVJ$; z^0`j!DE0QgHUGEOo_Y6LO24fthJ)cv)@S?tf`pIz)r!;E_P>g=U|CS{?3X`7-K4KN zv+^eyeznu>HQ;b~xTW{A-2Zmb|I9|^62|*}MBmI|Sx|7w-tv#bwapp3%)gsH6OZ&) z`p@BTG3WdKW^2>ektVUf)q8(NT$`-Hz!YF||Et{p!}rfriTQpPO=izee7HSV7j9jrMVHpaZQ{r7+4yPHhi z50^UYJ&&WHb2X#^-S9Nkp1!I1sd?+DYbeg=^f(vN#8`TOf#92mNi ze+M4(sWN>XsSwWLP`Jn7#2kr7<;{(LEDQo}3=D~*)MyZlrh?IoFj^Lj7KfuX!f>w* a|MTb6Mw<&;$Ud9~|cZ literal 0 HcmV?d00001 diff --git a/test/screenshotter/images/BinCancellation-firefox.png b/test/screenshotter/images/BinCancellation-firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..7376557d295f726ef65fe44500f6b040309675a6 GIT binary patch literal 6912 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 literal 0 HcmV?d00001 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index ca069065..a2d48b87 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -26,6 +26,11 @@ Arrays: | ArrayType: 1\begin{array}{c}2\\3\end{array}4 Baseline: a+b-c\cdot d/e BasicTest: a +BinCancellation: | + \begin{array}{ccc} + +1 & 1+ & 1+1 \\ + 1++1 & 3\times) & 1+, + \end{array} BinomTest: \dbinom{a}{b}\tbinom{a}{b}^{\binom{a}{b}+17} BoldSpacing: \mathbf{A}^2+\mathbf{B}_3*\mathscr{C}' Cases: | From 1a99e7a2e90517238948d7b25d4cd420bad41e84 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Sun, 27 Nov 2016 10:14:41 -0500 Subject: [PATCH 02/12] The \llap and \rlap commands always generate "mord" atoms. This is how TeX does it. --- src/buildHTML.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/buildHTML.js b/src/buildHTML.js index 32ddd792..0fc6d4f5 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -129,6 +129,8 @@ var groupToType = { leftright: "minner", sqrt: "mord", accent: "mord", + llap: "mord", + rlap: "mord", }; /** @@ -151,8 +153,6 @@ var getTypeOfGroup = function(group) { return groupToType.mathord; } else if (group.type === "supsub") { return getTypeOfGroup(group.value.base); - } else if (group.type === "llap" || group.type === "rlap") { - return getTypeOfGroup(group.value); } else if (group.type === "color" || group.type === "sizing" || group.type === "styling") { // Return type of rightmost element of group. @@ -770,7 +770,7 @@ groupTypes.llap = function(group, options) { ["inner"], [buildGroup(group.value.body, options.reset())]); var fix = makeSpan(["fix"], []); return makeSpan( - ["llap", options.style.cls()], [inner, fix], options); + ["mord", "llap", options.style.cls()], [inner, fix], options); }; groupTypes.rlap = function(group, options) { @@ -778,7 +778,7 @@ groupTypes.rlap = function(group, options) { ["inner"], [buildGroup(group.value.body, options.reset())]); var fix = makeSpan(["fix"], []); return makeSpan( - ["rlap", options.style.cls()], [inner, fix], options); + ["mord", "rlap", options.style.cls()], [inner, fix], options); }; groupTypes.op = function(group, options) { From dc79b91dbf0906e4986b4d6ff0f7dbd71faff40c Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Sun, 27 Nov 2016 10:53:53 -0500 Subject: [PATCH 03/12] Mark delimiters with the proper class (mopen or mclose). This fixes some atom spacing issues. Update the BinCancellation screenshotter test. --- src/buildHTML.js | 31 ++++++------ src/delimiter.js | 45 ++++++++++-------- .../images/BinCancellation-chrome.png | Bin 7526 -> 10141 bytes .../images/BinCancellation-firefox.png | Bin 6912 -> 9161 bytes test/screenshotter/ss_data.yaml | 4 +- 5 files changed, 42 insertions(+), 38 deletions(-) diff --git a/src/buildHTML.js b/src/buildHTML.js index 0fc6d4f5..15859ea7 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -235,12 +235,11 @@ var isCharacterBox = function(group) { baseElem.type === "punct"; }; -var makeNullDelimiter = function(options) { - return makeSpan([ +var makeNullDelimiter = function(options, classes) { + return makeSpan(classes.concat([ "sizing", "reset-" + options.size, "size5", options.style.reset(), Style.TEXT.cls(), - "nulldelimiter", - ]); + "nulldelimiter"])); }; /** @@ -562,18 +561,18 @@ groupTypes.genfrac = function(group, options) { var leftDelim; var rightDelim; if (group.value.leftDelim == null) { - leftDelim = makeNullDelimiter(options); + leftDelim = makeNullDelimiter(options, ["mopen"]); } else { leftDelim = delimiter.customSizedDelim( group.value.leftDelim, delimSize, true, - options.withStyle(style), group.mode); + options.withStyle(style), group.mode, ["mopen"]); } if (group.value.rightDelim == null) { - rightDelim = makeNullDelimiter(options); + rightDelim = makeNullDelimiter(options, ["mclose"]); } else { rightDelim = delimiter.customSizedDelim( group.value.rightDelim, delimSize, true, - options.withStyle(style), group.mode); + options.withStyle(style), group.mode, ["mclose"]); } return makeSpan( @@ -1205,11 +1204,9 @@ groupTypes.delimsizing = function(group, options) { } // Use delimiter.sizedDelim to generate the delimiter. - return makeSpan( - [groupToType[group.value.delimType]], - [delimiter.sizedDelim( - delim, group.value.size, options, group.mode)], - options); + return delimiter.sizedDelim( + delim, group.value.size, options, group.mode, + [groupToType[group.value.delimType]]); }; groupTypes.leftright = function(group, options) { @@ -1236,13 +1233,13 @@ groupTypes.leftright = function(group, options) { var leftDelim; if (group.value.left === ".") { // Empty delimiters in \left and \right make null delimiter spaces. - leftDelim = makeNullDelimiter(options); + leftDelim = makeNullDelimiter(options, ["mopen"]); } else { // Otherwise, use leftRightDelim to generate the correct sized // delimiter. leftDelim = delimiter.leftRightDelim( group.value.left, innerHeight, innerDepth, options, - group.mode); + group.mode, ["mopen"]); } // Add it to the beginning of the expression inner.unshift(leftDelim); @@ -1250,11 +1247,11 @@ groupTypes.leftright = function(group, options) { var rightDelim; // Same for the right delimiter if (group.value.right === ".") { - rightDelim = makeNullDelimiter(options); + rightDelim = makeNullDelimiter(options, ["mclose"]); } else { rightDelim = delimiter.leftRightDelim( group.value.right, innerHeight, innerDepth, options, - group.mode); + group.mode, ["mclose"]); } // Add it to the end of the expression. inner.push(rightDelim); diff --git a/src/delimiter.js b/src/delimiter.js index 3b626210..0dbc8c5f 100644 --- a/src/delimiter.js +++ b/src/delimiter.js @@ -56,9 +56,11 @@ var mathrmSize = function(value, size, mode, options) { * Puts a delimiter span in a given style, and adds appropriate height, depth, * and maxFontSizes. */ -var styleWrap = function(delim, toStyle, options) { +var styleWrap = function(delim, toStyle, options, classes) { + classes = classes || []; var span = makeSpan( - ["style-wrap", options.style.reset(), toStyle.cls()], [delim], options); + classes.concat(["style-wrap", options.style.reset(), toStyle.cls()]), + [delim], options); var multiplier = toStyle.sizeMultiplier / options.style.sizeMultiplier; @@ -74,10 +76,10 @@ var styleWrap = function(delim, toStyle, options) { * font, but is restyled to either be in textstyle, scriptstyle, or * scriptscriptstyle. */ -var makeSmallDelim = function(delim, style, center, options, mode) { +var makeSmallDelim = function(delim, style, center, options, mode, classes) { var text = buildCommon.makeSymbol(delim, "Main-Regular", mode, options); - var span = styleWrap(text, style, options); + var span = styleWrap(text, style, options, classes); if (center) { var shift = @@ -96,13 +98,12 @@ var makeSmallDelim = function(delim, style, center, options, mode) { * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2, * Size3, or Size4 fonts. It is always rendered in textstyle. */ -var makeLargeDelim = function(delim, size, center, options, mode) { +var makeLargeDelim = function(delim, size, center, options, mode, classes) { var inner = mathrmSize(delim, size, mode, options); var span = styleWrap( - makeSpan(["delimsizing", "size" + size], - [inner], options), - Style.TEXT, options); + makeSpan(["delimsizing", "size" + size], [inner], options), + Style.TEXT, options, classes); if (center) { var shift = (1 - options.style.sizeMultiplier) * @@ -142,7 +143,8 @@ var makeInner = function(symbol, font, mode) { * Make a stacked delimiter out of a given delimiter, with the total height at * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook. */ -var makeStackedDelim = function(delim, heightTotal, center, options, mode) { +var makeStackedDelim = function(delim, heightTotal, center, options, mode, + classes) { // There are four parts, the top, an optional middle, a repeated part, and a // bottom. var top; @@ -320,7 +322,7 @@ var makeStackedDelim = function(delim, heightTotal, center, options, mode) { return styleWrap( makeSpan(["delimsizing", "mult"], [inner], options), - Style.TEXT, options); + Style.TEXT, options, classes); }; // There are three kinds of delimiters, delimiters that stack when they become @@ -354,7 +356,7 @@ var sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0]; /** * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4. */ -var makeSizedDelim = function(delim, size, options, mode) { +var makeSizedDelim = function(delim, size, options, mode, classes) { // < and > turn into \langle and \rangle in delimiters if (delim === "<" || delim === "\\lt") { delim = "\\langle"; @@ -365,10 +367,10 @@ var makeSizedDelim = function(delim, size, options, mode) { // Sized delimiters are never centered. if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) { - return makeLargeDelim(delim, size, false, options, mode); + return makeLargeDelim(delim, size, false, options, mode, classes); } else if (utils.contains(stackAlwaysDelimiters, delim)) { return makeStackedDelim( - delim, sizeToMaxHeight[size], false, options, mode); + delim, sizeToMaxHeight[size], false, options, mode, classes); } else { throw new ParseError("Illegal delimiter: '" + delim + "'"); } @@ -471,7 +473,8 @@ var traverseSequence = function(delim, height, sequence, options) { * Make a delimiter of a given height+depth, with optional centering. Here, we * traverse the sequences, and create a delimiter that the sequence tells us to. */ -var makeCustomSizedDelim = function(delim, height, center, options, mode) { +var makeCustomSizedDelim = function(delim, height, center, options, mode, + classes) { if (delim === "<" || delim === "\\lt") { delim = "\\langle"; } else if (delim === ">" || delim === "\\gt") { @@ -494,11 +497,13 @@ var makeCustomSizedDelim = function(delim, height, center, options, mode) { // Depending on the sequence element we decided on, call the appropriate // function. if (delimType.type === "small") { - return makeSmallDelim(delim, delimType.style, center, options, mode); + return makeSmallDelim(delim, delimType.style, center, options, mode, + classes); } else if (delimType.type === "large") { - return makeLargeDelim(delim, delimType.size, center, options, mode); + return makeLargeDelim(delim, delimType.size, center, options, mode, + classes); } else if (delimType.type === "stack") { - return makeStackedDelim(delim, height, center, options, mode); + return makeStackedDelim(delim, height, center, options, mode, classes); } }; @@ -506,7 +511,8 @@ var makeCustomSizedDelim = function(delim, height, center, options, mode) { * Make a delimiter for use with `\left` and `\right`, given a height and depth * of an expression that the delimiters surround. */ -var makeLeftRightDelim = function(delim, height, depth, options, mode) { +var makeLeftRightDelim = function(delim, height, depth, options, mode, + classes) { // We always center \left/\right delimiters, so the axis is always shifted var axisHeight = options.style.metrics.axisHeight * options.style.sizeMultiplier; @@ -533,7 +539,8 @@ var makeLeftRightDelim = function(delim, height, depth, options, mode) { // Finally, we defer to `makeCustomSizedDelim` with our calculated total // height - return makeCustomSizedDelim(delim, totalHeight, true, options, mode); + return makeCustomSizedDelim(delim, totalHeight, true, options, mode, + classes); }; module.exports = { diff --git a/test/screenshotter/images/BinCancellation-chrome.png b/test/screenshotter/images/BinCancellation-chrome.png index 7f50bed53a0f425238bdd0f64174b545e7b5d6fb..749e2bd13bb4d4c1e33f3adfc1db58c46608f686 100644 GIT binary patch literal 10141 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 literal 7526 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 a|MTb6Mw<&;$Ud9~|cZ diff --git a/test/screenshotter/images/BinCancellation-firefox.png b/test/screenshotter/images/BinCancellation-firefox.png index 7376557d295f726ef65fe44500f6b040309675a6..021274ecf423d4dcc1fcce8faf831391723fec43 100644 GIT binary patch literal 9161 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%0D)zTY0c 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 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index a2d48b87..6c5cd88c 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -28,8 +28,8 @@ Baseline: a+b-c\cdot d/e BasicTest: a BinCancellation: | \begin{array}{ccc} - +1 & 1+ & 1+1 \\ - 1++1 & 3\times) & 1+, + +1 & 1+ & 1+1 & (,) \\ + 1++1 & 3\times) & 1+, & \left(,\right) \end{array} BinomTest: \dbinom{a}{b}\tbinom{a}{b}^{\binom{a}{b}+17} BoldSpacing: \mathbf{A}^2+\mathbf{B}_3*\mathscr{C}' From 982e7be5978e4d609e7bc8b5499de29f6f5c8d75 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Sun, 27 Nov 2016 11:20:26 -0500 Subject: [PATCH 04/12] Calculate math classes from outputs, not inputs. It's important to get spacing right that the domTree classes reflect math atom types. So use those types exclusively, rather than repeating the type mapping twice (once when building spans, once in getTypeOfGroup). * Remove getTypeOfGroup. * Add getTypeOfDomTree (simpler). * Adjust supsub type calculation. * Adjust delimsizing internals. --- src/buildHTML.js | 77 ++++++++++------------------------------------ src/buildMathML.js | 6 ++-- src/functions.js | 34 ++++++++++---------- test/katex-spec.js | 4 +-- 4 files changed, 38 insertions(+), 83 deletions(-) diff --git a/src/buildHTML.js b/src/buildHTML.js index 15859ea7..d30bbdea 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -105,66 +105,20 @@ var buildExpression = function(expression, options, isRealGroup) { return groups; }; -// List of types used by getTypeOfGroup, -// see https://github.com/Khan/KaTeX/wiki/Examining-TeX#group-types -var groupToType = { - mathord: "mord", - textord: "mord", - bin: "mbin", - rel: "mrel", - text: "mord", - open: "mopen", - close: "mclose", - inner: "minner", - genfrac: "mord", - array: "mord", - spacing: "mord", - punct: "mpunct", - ordgroup: "mord", - op: "mop", - katex: "mord", - overline: "mord", - underline: "mord", - rule: "mord", - leftright: "minner", - sqrt: "mord", - accent: "mord", - llap: "mord", - rlap: "mord", -}; - -/** - * Gets the final math type of an expression, given its group type. This type is - * used to determine spacing between elements, and affects bin elements by - * causing them to change depending on what types are around them. This type - * must be attached to the outermost node of an element as a CSS class so that - * spacing with its surrounding elements works correctly. - * - * Some elements can be mapped one-to-one from group type to math type, and - * those are listed in the `groupToType` table. - * - * Others (usually elements that wrap around other elements) often have - * recursive definitions, and thus call `getTypeOfGroup` on their inner - * elements. - */ -var getTypeOfGroup = function(group) { - if (group == null) { - // Like when typesetting $^3$ - return groupToType.mathord; - } else if (group.type === "supsub") { - return getTypeOfGroup(group.value.base); - } else if (group.type === "color" || group.type === "sizing" - || group.type === "styling") { - // Return type of rightmost element of group. - var atoms = group.value.value; - return getTypeOfGroup(atoms[atoms.length - 1]); - } else if (group.type === "font") { - return getTypeOfGroup(group.value.body); - } else if (group.type === "delimsizing") { - return groupToType[group.value.delimType]; +// Return math atom class (mclass) of a domTree. +var getTypeOfDomTree = function(node) { + if (node instanceof domTree.documentFragment) { + if (node.children.length) { + return getTypeOfDomTree( + node.children[node.children.length - 1]); + } } else { - return groupToType[group.type]; + if (utils.contains(["mord", "mop", "mbin", "mrel", "mopen", "mclose", + "mpunct", "minner"], node.classes[0])) { + return node.classes[0]; + } } + return null; }; /** @@ -437,7 +391,8 @@ groupTypes.supsub = function(group, options) { } // We ensure to wrap the supsub vlist in a span.msupsub to reset text-align - return makeSpan([getTypeOfGroup(group.value.base)], + var mclass = getTypeOfDomTree(base) || "mord"; + return makeSpan([mclass], [base, makeSpan(["msupsub"], [supsub])], options); }; @@ -1200,13 +1155,13 @@ groupTypes.delimsizing = function(group, options) { if (delim === ".") { // Empty delimiters still count as elements, even though they don't // show anything. - return makeSpan([groupToType[group.value.delimType]]); + return makeSpan([group.value.mclass]); } // Use delimiter.sizedDelim to generate the delimiter. return delimiter.sizedDelim( delim, group.value.size, options, group.mode, - [groupToType[group.value.delimType]]); + [group.value.mclass]); }; groupTypes.leftright = function(group, options) { diff --git a/src/buildMathML.js b/src/buildMathML.js index 4a75d928..5b10facb 100644 --- a/src/buildMathML.js +++ b/src/buildMathML.js @@ -358,10 +358,10 @@ groupTypes.delimsizing = function(group) { var node = new mathMLTree.MathNode("mo", children); - if (group.value.delimType === "open" || - group.value.delimType === "close") { + if (group.value.mclass === "mopen" || + group.value.mclass === "mclose") { // Only some of the delimsizing functions act as fences, and they - // return "open" or "close" delimTypes. + // return "mopen" or "mclose" mclass. node.setAttribute("fence", "true"); } else { // Explicitly disable fencing if it's not a fence, to override the diff --git a/src/functions.js b/src/functions.js index 78882424..dc8a392a 100644 --- a/src/functions.js +++ b/src/functions.js @@ -238,22 +238,22 @@ defineFunction("\\phantom", { // Extra data needed for the delimiter handler down below var delimiterSizes = { - "\\bigl" : {type: "open", size: 1}, - "\\Bigl" : {type: "open", size: 2}, - "\\biggl": {type: "open", size: 3}, - "\\Biggl": {type: "open", size: 4}, - "\\bigr" : {type: "close", size: 1}, - "\\Bigr" : {type: "close", size: 2}, - "\\biggr": {type: "close", size: 3}, - "\\Biggr": {type: "close", size: 4}, - "\\bigm" : {type: "rel", size: 1}, - "\\Bigm" : {type: "rel", size: 2}, - "\\biggm": {type: "rel", size: 3}, - "\\Biggm": {type: "rel", size: 4}, - "\\big" : {type: "textord", size: 1}, - "\\Big" : {type: "textord", size: 2}, - "\\bigg" : {type: "textord", size: 3}, - "\\Bigg" : {type: "textord", size: 4}, + "\\bigl" : {mclass: "mopen", size: 1}, + "\\Bigl" : {mclass: "mopen", size: 2}, + "\\biggl": {mclass: "mopen", size: 3}, + "\\Biggl": {mclass: "mopen", size: 4}, + "\\bigr" : {mclass: "mclose", size: 1}, + "\\Bigr" : {mclass: "mclose", size: 2}, + "\\biggr": {mclass: "mclose", size: 3}, + "\\Biggr": {mclass: "mclose", size: 4}, + "\\bigm" : {mclass: "mrel", size: 1}, + "\\Bigm" : {mclass: "mrel", size: 2}, + "\\biggm": {mclass: "mrel", size: 3}, + "\\Biggm": {mclass: "mrel", size: 4}, + "\\big" : {mclass: "mord", size: 1}, + "\\Big" : {mclass: "mord", size: 2}, + "\\bigg" : {mclass: "mord", size: 3}, + "\\Bigg" : {mclass: "mord", size: 4}, }; var delimiters = [ @@ -472,7 +472,7 @@ defineFunction([ return { type: "delimsizing", size: delimiterSizes[context.funcName].size, - delimType: delimiterSizes[context.funcName].type, + mclass: delimiterSizes[context.funcName].mclass, value: delim.value, }; } diff --git a/test/katex-spec.js b/test/katex-spec.js index 122c8dbd..b2fa955c 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -883,8 +883,8 @@ describe("A delimiter sizing parser", function() { var leftParse = getParsed(normalDelim)[0]; var rightParse = getParsed(bigDelim)[0]; - expect(leftParse.value.delimType).toEqual("open"); - expect(rightParse.value.delimType).toEqual("close"); + expect(leftParse.value.mclass).toEqual("mopen"); + expect(rightParse.value.mclass).toEqual("mclose"); }); it("should parse the correct size delimiter", function() { From 6bb62b11b4eadf8039fa98b75e642e6fe47da2fd Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Wed, 23 Nov 2016 08:52:10 -0500 Subject: [PATCH 05/12] Support \mathop, \mathrel, \mathbin, \mathpunct, etc. class commands. These commands set their arguments in a given TeX math class. Use the existing "op" type for \mathop (to support \limits); introduce a new "mclass" type for the other classes. Fixes #482. Tests borrowed from #485 (cbreeden). --- src/buildHTML.js | 11 +++ src/buildMathML.js | 11 ++- src/functions.js | 78 ++++++++++-------- test/screenshotter/images/MathAtom-chrome.png | Bin 0 -> 7736 bytes .../screenshotter/images/MathAtom-firefox.png | Bin 0 -> 7720 bytes .../screenshotter/images/MathAtom2-chrome.png | Bin 0 -> 7893 bytes .../images/MathAtom2-firefox.png | Bin 0 -> 7846 bytes test/screenshotter/ss_data.yaml | 2 + 8 files changed, 65 insertions(+), 37 deletions(-) create mode 100644 test/screenshotter/images/MathAtom-chrome.png create mode 100644 test/screenshotter/images/MathAtom-firefox.png create mode 100644 test/screenshotter/images/MathAtom2-chrome.png create mode 100644 test/screenshotter/images/MathAtom2-firefox.png diff --git a/src/buildHTML.js b/src/buildHTML.js index d30bbdea..253b0eb0 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -786,6 +786,11 @@ groupTypes.op = function(group, options) { // The slant of the symbol is just its italic correction. slant = base.italic; + } else if (group.value.value) { + // If this is a list, compose that list. + var inner = buildExpression(group.value.value, options, true); + + base = makeSpan(["mop"], inner, options); } else { // Otherwise, this is a text operator. Build the text from the // operator's name. @@ -1399,6 +1404,12 @@ groupTypes.phantom = function(group, options) { return new buildCommon.makeFragment(elements); }; +groupTypes.mclass = function(group, options) { + var elements = buildExpression(group.value.value, options, true); + + return makeSpan([group.value.mclass], elements, options); +}; + /** * buildGroup is the function that takes a group and calls the correct groupType * function for it. It also handles the interaction of size and style changes diff --git a/src/buildMathML.js b/src/buildMathML.js index 5b10facb..11a088f9 100644 --- a/src/buildMathML.js +++ b/src/buildMathML.js @@ -316,7 +316,7 @@ groupTypes.spacing = function(group) { return node; }; -groupTypes.op = function(group) { +groupTypes.op = function(group, options) { var node; // TODO(emily): handle big operators using the `largeop` attribute @@ -325,6 +325,10 @@ groupTypes.op = function(group) { // This is a symbol. Just add the symbol. node = new mathMLTree.MathNode( "mo", [makeText(group.value.body, group.mode)]); + } else if (group.value.value) { + // This is an operator with children. Add them. + node = new mathMLTree.MathNode( + "mo", buildExpression(group.value.value, options)); } else { // This is a text operator. Add all of the characters from the // operator's name. @@ -475,6 +479,11 @@ groupTypes.phantom = function(group, options) { return new mathMLTree.MathNode("mphantom", inner); }; +groupTypes.mclass = function(group, options) { + var inner = buildExpression(group.value.value, options); + return new mathMLTree.MathNode("mstyle", inner); +}; + /** * Takes a list of nodes, builds them, and returns a list of the generated * MathML nodes. A little simpler than the HTML version because we don't do any diff --git a/src/functions.js b/src/functions.js index dc8a392a..deaf4f74 100644 --- a/src/functions.js +++ b/src/functions.js @@ -100,6 +100,16 @@ function defineFunction(names, props, handler) { } } +// Since the corresponding buildHTML/buildMathML function expects a +// list of elements, we normalize for different kinds of arguments +var ordargument = function(arg) { + if (arg.type === "ordgroup") { + return arg.value; + } else { + return [arg]; + } +}; + // A normal square root defineFunction("\\sqrt", { numArgs: 1, @@ -121,19 +131,9 @@ defineFunction("\\text", { greediness: 2, }, function(context, args) { var body = args[0]; - // Since the corresponding buildHTML/buildMathML function expects a - // list of elements, we normalize for different kinds of arguments - // TODO(emily): maybe this should be done somewhere else - var inner; - if (body.type === "ordgroup") { - inner = body.value; - } else { - inner = [body]; - } - return { type: "text", - body: inner, + body: ordargument(body), }; }); @@ -146,18 +146,10 @@ defineFunction("\\color", { }, function(context, args) { var color = args[0]; var body = args[1]; - // Normalize the different kinds of bodies (see \text above) - var inner; - if (body.type === "ordgroup") { - inner = body.value; - } else { - inner = [body]; - } - return { type: "color", color: color.value, - value: inner, + value: ordargument(body), }; }); @@ -223,16 +215,24 @@ defineFunction("\\phantom", { numArgs: 1, }, function(context, args) { var body = args[0]; - var inner; - if (body.type === "ordgroup") { - inner = body.value; - } else { - inner = [body]; - } - return { type: "phantom", - value: inner, + value: ordargument(body), + }; +}); + +// Math class commands except \mathop +defineFunction([ + "\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", + "\\mathclose", "\\mathpunct", "\\mathinner", +], { + numArgs: 1, +}, function(context, args) { + var body = args[0]; + return { + type: "mclass", + mclass: "m" + context.funcName.substr(5), + value: ordargument(body), }; }); @@ -298,17 +298,10 @@ defineFunction([ greediness: 3, }, function(context, args) { var body = args[0]; - var atoms; - if (body.type === "ordgroup") { - atoms = body.value; - } else { - atoms = [body]; - } - return { type: "color", color: "katex-" + context.funcName.slice(1), - value: atoms, + value: ordargument(body), }; }); @@ -378,6 +371,19 @@ defineFunction([ }; }); +// \mathop class command +defineFunction("\\mathop", { + numArgs: 1, +}, function(context, args) { + var body = args[0]; + return { + type: "op", + limits: false, + symbol: false, + value: ordargument(body), + }; +}); + // Fractions defineFunction([ "\\dfrac", "\\frac", "\\tfrac", diff --git a/test/screenshotter/images/MathAtom-chrome.png b/test/screenshotter/images/MathAtom-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..175c72a74bda2bba51c82e6c350ffdd14df96590 GIT binary patch literal 7736 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 literal 0 HcmV?d00001 diff --git a/test/screenshotter/images/MathAtom2-firefox.png b/test/screenshotter/images/MathAtom2-firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..cc0b69629c87e3e9e81aa72ffb58aff39d544d3b GIT binary patch literal 7846 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 literal 0 HcmV?d00001 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index 6c5cd88c..6c596c9a 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -79,6 +79,8 @@ LeftRightStyleSizing: | LimitControls: | \displaystyle\int\limits_2^3 3x^2\,dx + \sum\nolimits^n_{i=1}i + \textstyle\int\limits_x^y z +MathAtom: a\mathrel{\mathop{=}\limits^{\blue ?}}b +MathAtom2: \mathop{\overline\mathrm{lim}}\limits_{x\to\infty}f(x) MathDefaultFonts: Ax2k\breve{a}\omega\Omega\imath+\KaTeX MathBb: \mathbb{Ax2k\breve{a}\omega\Omega\imath+\KaTeX} MathBf: \mathbf{Ax2k\breve{a}\omega\Omega\imath+\KaTeX} From f8e0c91de464af514479d53521d77036494145ce Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Sat, 26 Nov 2016 23:00:01 -0500 Subject: [PATCH 06/12] Support \stackrel (#468). --- src/functions.js | 30 ++++++++++++++++++ test/screenshotter/images/StackRel-chrome.png | Bin 0 -> 6103 bytes .../screenshotter/images/StackRel-firefox.png | Bin 0 -> 6045 bytes test/screenshotter/ss_data.yaml | 1 + 4 files changed, 31 insertions(+) create mode 100644 test/screenshotter/images/StackRel-chrome.png create mode 100644 test/screenshotter/images/StackRel-firefox.png diff --git a/src/functions.js b/src/functions.js index deaf4f74..b3f875ac 100644 --- a/src/functions.js +++ b/src/functions.js @@ -1,5 +1,7 @@ var utils = require("./utils"); var ParseError = require("./ParseError"); +var parseData = require("./parseData"); +var ParseNode = parseData.ParseNode; /* This file contains a list of functions that we parse, identified by * the calls to defineFunction. @@ -236,6 +238,34 @@ defineFunction([ }; }); +// Build a relation by placing one symbol on top of another +defineFunction("\\stackrel", { + numArgs: 2, +}, function(context, args) { + var top = args[0]; + var bottom = args[1]; + + var bottomop = new ParseNode("op", { + type: "op", + limits: true, + alwaysHandleSupSub: true, + symbol: false, + value: ordargument(bottom), + }, bottom.mode); + + var supsub = new ParseNode("supsub", { + base: bottomop, + sup: top, + sub: null, + }, top.mode); + + return { + type: "mclass", + mclass: "mrel", + value: [supsub], + }; +}); + // Extra data needed for the delimiter handler down below var delimiterSizes = { "\\bigl" : {mclass: "mopen", size: 1}, diff --git a/test/screenshotter/images/StackRel-chrome.png b/test/screenshotter/images/StackRel-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc2456fb93749705dd73e61b510045de39ac36f GIT binary patch literal 6103 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 OV(;nd=d#Wzp$P!L(ZF^9 literal 0 HcmV?d00001 diff --git a/test/screenshotter/images/StackRel-firefox.png b/test/screenshotter/images/StackRel-firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..9a861c143a131cd4dc424732c1a3dca96ee6a4e9 GIT binary patch literal 6045 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 BkwgFh literal 0 HcmV?d00001 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index 6c596c9a..77799122 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -116,6 +116,7 @@ Sqrt: | ^{\sqrt{\sqrt{\sqrt{x}}}}} SqrtRoot: | 1+\sqrt[3]{2}+\sqrt[1923^234]{2^{2^{2^{2^{2^{2^{2^{2^{2^{2^{2^2}}}}}}}}}}} +StackRel: a \stackrel{?}{=} b \stackrel{\text{def}}{=} c StyleSwitching: a\cdot b\scriptstyle a\cdot ba\textstyle\cdot ba\scriptstyle\cdot b SupSubCharacterBox: a_2f_2{f}_2{aa}_2{af}_2\mathbf{y}_Ay_A SupSubHorizSpacing: | From e0407a19a09bc1ed6dada3c90f533f49c32ce478 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Wed, 23 Nov 2016 09:28:09 -0500 Subject: [PATCH 07/12] Support \atop. Add Jasmine test and update screenshotter test. --- src/functions.js | 9 ++++++++- test/katex-spec.js | 9 +++++++++ .../images/FractionTest-chrome.png | Bin 8081 -> 8261 bytes .../images/FractionTest-firefox.png | Bin 7298 -> 7487 bytes test/screenshotter/ss_data.yaml | 2 +- 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/functions.js b/src/functions.js index b3f875ac..24cf245e 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 b2fa955c..de326d65 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 b365f94253306af022536b11d32d6b624bcbe034..a54e5b316e8f74bf96877e2927cb67b3b5121a5e 100644 GIT binary patch literal 8261 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 literal 7298 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 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index 77799122..a37a6920 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 From 4297eb127621a64957d10ac29cb5d453e1f90f61 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Fri, 25 Nov 2016 18:20:39 -0500 Subject: [PATCH 08/12] Unicode punctuation works. --- src/symbols.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/symbols.js b/src/symbols.js index 55301a4e..477824e0 100644 --- a/src/symbols.js +++ b/src/symbols.js @@ -652,3 +652,11 @@ for (i = 0x0410; i <= 0x044F; i++) { ch = String.fromCharCode(i); defineSymbol(text, main, textord, ch, ch); } + +// Unicode versions of existing characters +defineSymbol(text, main, textord, "\u2013", "–"); +defineSymbol(text, main, textord, "\u2014", "—"); +defineSymbol(text, main, textord, "\u2018", "‘"); +defineSymbol(text, main, textord, "\u2019", "’"); +defineSymbol(text, main, textord, "\u201c", "“"); +defineSymbol(text, main, textord, "\u201d", "”"); From b88bc7723d2d7695d38e0c9cb11be3edac1a28f2 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Mon, 28 Nov 2016 09:59:28 -0500 Subject: [PATCH 09/12] Italic correction should not be applied to characters in text mode. This requires changes to screenshotter tests that assumed italic correction was applied in text mode. --- src/buildCommon.js | 6 +++++- test/screenshotter/images/Cases-chrome.png | Bin 19968 -> 19962 bytes test/screenshotter/images/Cases-firefox.png | Bin 18776 -> 18774 bytes .../images/DashesAndQuotes-chrome.png | Bin 8466 -> 8472 bytes .../images/DashesAndQuotes-firefox.png | Bin 8203 -> 8202 bytes test/screenshotter/images/StackRel-chrome.png | Bin 6103 -> 6106 bytes .../screenshotter/images/StackRel-firefox.png | Bin 6045 -> 6041 bytes test/screenshotter/images/Unicode-chrome.png | Bin 25212 -> 24821 bytes test/screenshotter/images/Unicode-firefox.png | Bin 24792 -> 24791 bytes .../images/UnsupportedCmds-chrome.png | Bin 24429 -> 24650 bytes .../images/UnsupportedCmds-firefox.png | Bin 21957 -> 21950 bytes 11 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/buildCommon.js b/src/buildCommon.js index 4e22fb1f..a045ad36 100644 --- a/src/buildCommon.js +++ b/src/buildCommon.js @@ -49,8 +49,12 @@ var makeSymbol = function(value, fontFamily, mode, options, classes) { var symbolNode; if (metrics) { + var italic = metrics.italic; + if (mode === "text") { + italic = 0; + } symbolNode = new domTree.symbolNode( - value, metrics.height, metrics.depth, metrics.italic, metrics.skew, + value, metrics.height, metrics.depth, italic, metrics.skew, classes); } else { // TODO(emily): Figure out a good way to only print this in development diff --git a/test/screenshotter/images/Cases-chrome.png b/test/screenshotter/images/Cases-chrome.png index 775a3d9246634a146821106d6c12cfc70c230974..d6b1382fc2b9b25e40236c77e3445ad2bb82bf62 100644 GIT binary patch delta 16546 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 delta 18168 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 R2nGfQ22WQ%mvv4FO#q;uCCUH* diff --git a/test/screenshotter/images/Cases-firefox.png b/test/screenshotter/images/Cases-firefox.png index 4f77c85e00d5248250f296b539fe67aa159810be..901f2b6cdac54b0fd836cd8190339b3b45f8013e 100644 GIT binary patch literal 18774 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 literal 18776 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 PoW$Vi>gTe~DWM4f1kv|C diff --git a/test/screenshotter/images/DashesAndQuotes-chrome.png b/test/screenshotter/images/DashesAndQuotes-chrome.png index 14fdba805131952184af00f006b1a9588a5019c9..122e38151d12a874b5342b606a592c7d9ee21ab4 100644 GIT binary patch delta 6093 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 G&;$U6Gl$Ip delta 6086 zcmbQ?G|6d#O8rew7srr_IdAV)&Jlk4@c74c@ra0or*B`*5* z{Nkv!?yntfD>AcJx@&Lq(muL4U}KhT)>_?r>|29YS1elL`r46El#x;M`nzY-&lsQd zTj!f*H2KY^zkB`%sO>&^Ms2dc(aAH$YHSYER(@e(SRup2z@f}g-(Ucy$)dIt^~aY# zKlNwwS!D)?*JW*nX{Vom_7!trXb5{7I{89=@Vk>v91Kyb+br$xtX{qH)xP)n*Tbs< zwO%eiXMFF>dD}>jd-V)HavM)r?|gV>qK_` zpD#Z%m*-V4-yfM5W>#la{wvctZ}kHqo!hVHxZMx0D)`6@K9oF1w&*$l=#53p_r-h$?a?H8c^78#6+4|=?9^1w5 zo;1B}ec9Pgw`A|)Ut7FwH!QuQzxMja+S%_KqqVn7%v!&&hrNvAxJ&Y>G95{#MhpMd`n; z{b;)XIDh9cweW|UWma3m&TAGN_4~y5;-V5$!9K&e@j8F9U+Q`3eg7D!6ExX+&IO;Y z|F55y)z{s2vEE-`BN2ZgbEbHnRPLD#N%uEAPk8@n?WU4F2IWSGCv1zh3dA==zimUgF=pejl;v z^Zrw8ZoPk1Z{Rt7nfXWKS@h5C`f~i(mme!yqGg}{`5XSEex{B_I>S2Sv%($WV*EV6IpQr7sdfxh( zL1vcg_5Oyd{@a`Un)5*9u{ZO+zP)q&qx!KoLU|>vpR)r07QQ=qsE9Se_s`4kOVWS! zY6WlCIR4)B^`|SVJ~SBD*9K(mnsLW=g>1u){b6Pd<bzh%FV=H

np~N($y&pab{`19l~SkJd##E&cEo-QQ2wp@8KQe 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 diff --git a/test/screenshotter/images/DashesAndQuotes-firefox.png b/test/screenshotter/images/DashesAndQuotes-firefox.png index bf62c8511c75c3f084816f62687677dba7f1035f..760759e4b784599fd468025a928968bb075fe771 100644 GIT binary patch delta 5779 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 delta 5783 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 WF0FdqLk0{C3=E#GelF{r5}E+S4FKE# diff --git a/test/screenshotter/images/StackRel-chrome.png b/test/screenshotter/images/StackRel-chrome.png index 6dc2456fb93749705dd73e61b510045de39ac36f..f848e2f648b86332296207c6d9e8f12218cedf4b 100644 GIT binary patch delta 4010 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 K&t;ucLK6TNE=@21 diff --git a/test/screenshotter/images/Unicode-chrome.png b/test/screenshotter/images/Unicode-chrome.png index 6d7472f4a94d7566034152468d5a4ca4d9aa6a8a..4dbd96599b45d39aa85697618b047e2eb7bac432 100644 GIT binary patch literal 24821 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
%o&>Ur*Y- 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 E0COnelmGw# delta 13614 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 diff --git a/test/screenshotter/images/UnsupportedCmds-chrome.png b/test/screenshotter/images/UnsupportedCmds-chrome.png index 4d8a1151eb30d906dd625608fb78ab2fe1749b90..32735c78c927160606088c4679797622ffe3d208 100644 GIT binary patch literal 24650 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 o2BYa&np!A2CAAoUHx3vIVCg!0MWazhX4Qo literal 24429 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 Wv3KpkkQQc8sp0AB=d#Wzp$PzxK(U(u From 576380c11ce369feb663b00f90b8cbbb1d284ad4 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Mon, 28 Nov 2016 11:24:12 -0500 Subject: [PATCH 10/12] Text mode: Combine adjacent spans when possible for cleaner HTML. So `\text{Hi}` becomes one Hi, rather than two Hi. This allows the font renderer to apply kerning, which changes some test output. --- src/buildHTML.js | 24 +++++++++---- src/domTree.js | 32 ++++++++++++++++++ .../images/DashesAndQuotes-chrome.png | Bin 8472 -> 8373 bytes .../images/DashesAndQuotes-firefox.png | Bin 8202 -> 8201 bytes test/screenshotter/images/Unicode-chrome.png | Bin 24821 -> 24823 bytes .../images/UnsupportedCmds-chrome.png | Bin 24650 -> 24632 bytes 6 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/buildHTML.js b/src/buildHTML.js index 253b0eb0..9e191889 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -249,9 +249,15 @@ groupTypes.ordgroup = function(group, options) { }; groupTypes.text = function(group, options) { + var inner = buildExpression(group.value.body, options, true); + for (var i = 0; i < inner.length - 1; i++) { + if (inner[i].tryCombine(inner[i + 1])) { + inner.splice(i + 1, 1); + i--; + } + } return makeSpan(["mord", "text", options.style.cls()], - buildExpression(group.value.body, options.reset(), true), - options); + inner, options); }; groupTypes.color = function(group, options) { @@ -706,16 +712,20 @@ groupTypes.spacing = function(group, options) { // Spaces are generated by adding an actual space. Each of these // things has an entry in the symbols table, so these will be turned // into appropriate outputs. - return makeSpan( - ["mspace"], - [buildCommon.mathsym(group.value, group.mode)] - ); + if (group.mode === "text") { + return buildCommon.makeOrd(group, options, "textord"); + } else { + return makeSpan(["mspace"], + [buildCommon.mathsym(group.value, group.mode, options)], + options); + } } else { // Other kinds of spaces are of arbitrary width. We use CSS to // generate these. return makeSpan( ["mspace", - buildCommon.spacingFunctions[group.value].className]); + buildCommon.spacingFunctions[group.value].className], + [], options); } }; diff --git a/src/domTree.js b/src/domTree.js index 0517b812..f09ff4e2 100644 --- a/src/domTree.js +++ b/src/domTree.js @@ -57,6 +57,10 @@ span.prototype.setAttribute = function(attribute, value) { this.attributes[attribute] = value; }; +span.prototype.tryCombine = function(sibling) { + return false; +}; + /** * Convert the span into an HTML node */ @@ -220,6 +224,34 @@ function symbolNode(value, height, depth, italic, skew, classes, style) { } } +symbolNode.prototype.tryCombine = function(sibling) { + if (!sibling + || !(sibling instanceof symbolNode) + || this.italic > 0 + || createClass(this.classes) !== createClass(sibling.classes) + || this.skew !== sibling.skew + || this.maxFontSize !== sibling.maxFontSize) { + return false; + } + for (var style in this.style) { + if (this.style.hasOwnProperty(style) + && this.style[style] !== sibling.style[style]) { + return false; + } + } + for (style in sibling.style) { + if (sibling.style.hasOwnProperty(style) + && this.style[style] !== sibling.style[style]) { + return false; + } + } + this.value += sibling.value; + this.height = Math.max(this.height, sibling.height); + this.depth = Math.max(this.depth, sibling.depth); + this.italic = sibling.italic; + return true; +}; + /** * Creates a text node or span from a symbol node. Note that a span is only * created if it is needed. diff --git a/test/screenshotter/images/DashesAndQuotes-chrome.png b/test/screenshotter/images/DashesAndQuotes-chrome.png index 122e38151d12a874b5342b606a592c7d9ee21ab4..ea21f6981d143515e7f7c4b8fe8796f3e7f65924 100644 GIT binary patch literal 8373 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 II;Vst0BN~q0ssI2 diff --git a/test/screenshotter/images/DashesAndQuotes-firefox.png b/test/screenshotter/images/DashesAndQuotes-firefox.png index 760759e4b784599fd468025a928968bb075fe771..ca308aee28ed16ab311b958082a5b15ad17bb46e 100644 GIT binary patch delta 5675 zcmeBj=yaH%Qh&kI#WAE}&fB|{e?&?j9{+fL`g`$xcQ`oe4l?r!1#0#m+Oz3OyqHi{ zR_CmzA1`0=sSiu*va6C7vRa$_%F2{w6-(0|)q2NiGF7UcQsg=`{r$hR=f=CO zcU%Ad`z~hpef{^>Kl7)S?cZ!{z5DmAn>S}hPG(d%eWjX>;R-+F#C4_<4{+D-TCjV0 z+}Z?8J< zIrq<{+M~0@o7fMpkZ911*8jv`S9Rh?zw^B>d;YS2lPNDv{PFJYuP?V>H)^@({eJN@ z`uvU0#fs`X`y&3{yED^0ug>-EGW+Z+n-|s}k2Egz=}&amfAxd^arJxkTAy?O=3hzb z+Q_1RR^#-Jgz)d@%ly{38fce7_R3by}=h%aBqcb4~j)(Ji{pZ6Ji zER%ngoVMMgeAsu>>)BT>+5W$?Z%>@D;pT%|)^J+-y}tL(hQCg0s->3E?)}y)ecjB{ z|8I}~C0yU5UXke*d5l&2&E^!R4+$EgOa^Cn+Wz-0on&bHPwrLQ^}L6+{rZ~^zyG$a z*|)#U;897if_THieb({o8ScFJ@_oq$<=7Wzzlde-SKcl=d#=xRVez!MH!uA@o|~dB z5&Yp&&z2tUcN@5W>mO`h$in`hQ!Ux=BX9gWolo|yyB{7eu0Q`+arK>t-bIJw-zFT1 z*Je*B_{+TEKxOmXD`I79^q)MdN|XBhq&TEZ>Fjpv|5Ewt6&0t1!ETN|#%f>q{^y5l z4-N(}F>fg9F=YSM_WZl?vpW;aYij>>*7REcx%}tD>9_qBYXdD9q)W8#{QSkT;O**T zZ)ECd&Z z{k>23J!I~cl;0L!{K@}`@|}m8KOcHq$&~*LZtr4Km>jwHMZfbaNe1;h&Hse!wwx{M z&)fb~_J3i?`rY$?@1ObixzS}-CV@RB%6gCY@Za6unaADCewdT%fctCd`r`HZKYp@Z z*8lSCZtC7*|IUr?J}CcW2-$q@+P1Y>3^LoV8!}{XH+go7qR&Od`2>ZSwp5b54nQeh~bM#K+*YDk-__0!}V)Mc8^XeDZmL09s_Kp5If|vxdjs1f0DQ+{!#b zGGaeN&E*-hm3n`?d3N(^z;pZk-W7d+-aJ1MU*){LH~ZcG_p3Gi^tL@%Dp@J{JZEk! zmva5JFbN)Y1%~s|o9EX5@JjCME4kghZr6)-rn6_g+xbvDJ?`6!-^boWoZazUn?1qf zF4Kk`yCuawzJ6(19{;1gHC$ryvwz-?@30ofb_IKce7MxJv1je~yI&V*in2L#aU59R zGxL@FziEcwUH6o_-@oI|@cOBiJ(Ev3-vPE#?gORAWa{P9{}f;T%duhN?u2)5fACwk zKUgYRE}3rcBysugT&`wCR+a;i&XvdPZSH*eXYy!mx{Iucs}PczhP>co^~g7&d&=nNDd9t;^#7 z)?mo~vwd#p@6W62CG*>g7}~DtGMuw2Thp7hTjFzE&}X3ob!JtXM>SQnDl(779{Xne zzji8{vljn>O_RRA`Ms*vOoKI_81|%}dH3((e$n@$GMBy`+w(#?=Hl`CFY8}@W?@|6 z&TviQ^Gu7!_k~`cU6lOy4(sKa`+t1qj+<3DedFIV_IocSL_B4zxIRNxz5mt5hlTfc z-FbUVrs~TFx!Lo#Y8^VeKjDnV{|{>>`Ll?6vL_s_VttUDY-XGPdY&_Xo$jq4zmNQF zTFv~;;K7R9yR&q`e!7{MVv#Zyz+sLMVnJ#^H!;9P9t1oN?<)&o4_Hue@KZ+f@Cjj9oOIBD9d{YSPkc6?7O0>#zTZC||K)9cuGzc0=}+>~Z6#kzbY-pGm*suG*0|Zfw?M^3L;j3a&TYrLzkBaI zP5-_tI_kA}gZiiMyJ~{Z-sx;@-*bLr{yzId;~yBa?*o znB0y&HZ#;*-f&xf|HH@W&+Y|_``@o@meYN_{>*;f-1IXH_g`9iv(-Cub2z+~$p6=N zQ~Xc#-#rgM{)u6 zoVc_+?{LTL>{XvnmCxp$ELHXHQx%)S=H2GrMuJx%R@BHt}pPt+OsCacz&;Neva(T?Fc{36oG+kNt z{bhaT&gyIF9lL*)e(3$mb3mH;&6${hqMyz0K60LIzq7aC>3+ZM^~D7jHCLQ7T$b*> zyt-#$Hk(34W?0m*nXJ|~)SK?|)ZdWGe_P#9UGal0e@A_B|7WvbUWrpC9sIy_o};Ax zo8*n%8`{3^eq-g}oyfm$^BdV8&E`8!&3m^x{G?u;dj0IVe{Zve{q470_3P&*Mu|__ z>5)8^UlY@1)89%zzfu0IE_A)C%f_Nby60o>eR%xs#-G2JXWfhbW|(jDMgQFM9@F#l z_ii*Ucyi$vtHS4+GU{r@ko|MI)vZXeg)3Hx*N$>nIL8mB!L-!;muP3yJS zF5jJhjyHU}d6LcAZ(r@L>Y0}8-LvyYzSZUGyLzYQe%`%({k%#4#kTpWv&Pm}-&fu2 zb^gD}@wqG4e!lHAZP)Ml;_{b2{krqz`Pn>{J%)cdRn;;w!*-PHyZkrsUgp*3yT5^Pp_Dc4AI_)6;WZt4yUdM0AXWzZ;5ea&ya%k_n5Aju-t6vlcFIl@h z)bi%s7Ym$D7TG&~><>}7e73xulmaC&=7vt_#^+k_#ICqzxT{}?fz4> z%VJj?!>a8?YYcBczhBD#eIASbdA^GK(tiwlPr7j)m=wdnB{(}<|3`Y#=clX-3jIDF zP2V;BoA+zwpL6pP&a644y3<%X?02`@!Zq7gU-~V!Uh?eQt0$Q*WSJipdz)W3q59$# zufD{S`dj_KQ}^%Ku%ehXq1Be_|Aa-{*KhGo zHMO%mZza=U+w-$A|HJWjwz+W=|9&_7_Va@BRP%)y`}zLdcz4$Jd(EBtla*y^i)9QY zRs=EFZPK4r=;?cWeQEOdZPH!!-!guzE>3)J9DMWlgM{*;-lf_Mb9EV}-?}+7v}UF4 z$>NsHuE#gNV>|GZ=k6Q(GdJI5B=;Y?dDxEO_%fr1OX}qQl$WUqTg&<^Wq9&!Nu5%{ zoE`7Bn8$vad?Y)*%53ia-PNbxF??9MN!u!t;mu47-;>+Ve(Ro}f2Az!+Fb^j#4`u$ z_Z{4JaNktt>VKaLU&^FS3}M)Fer>*bN%79@b3ZZ2B(Lw-`aPJ{{nqThGOi~d_VCNt z>+D`s%=#dAcjA`nlgIzQzT+Ki``>?OsX2qR_fJB(oClSwv&)Q6t<&IixKwVu#Qx?^ z$p7FCNK_wM-{DSTUU zPZGl$>;BBBhi9rMtvff5`)sNA*W$>#zVbpAdD-#Rxj(%(sW5QfKf7U%{=(|IeK*qI z9(^hIFM8D}hCTIrL+1-by<2~`H}v#h!MTs_Klk$NVbIz8MEbAS{P>sb5A^cA`qlrP z+HwE)^}|=srvjO#fe3y`OLP4LK`O<_W(iUbL>CJS!;f9s613 zxyuyy?600&z3h#YKEuj4-#!A2 zueo(MV(P!t{55}8PTbSM7*R9l`|CHnkNtK%o6kMHrfR0FjRn9EuGbf8SdrH->qgk z*MjjyY%0U9UCeiW@66X#6V+t+UU7SUpWYm;=ij$-9k_f?Sox~XV{nb{~5QZZ#zTDinH&kBmeyk;9A7;VClba8$ZsU^wO*P;-8kZ)kO?)U*}1j zd@oVEx%{;0t-W8_@{7(-jeX3TkR}z(E8p<`*8ZET_U`92mSwuI@VU0Fagcx_!`k_q zKbJ52f9U>oEr#zE{ypi;Ze7Q3f0|@}-t*MIm%i)%IMhEjVHUV&S(bP0{SW=i*S(b) zzIC@dnp!fZwJ^lI+p8)vSNHp-DAohF`4b#INqgMdV{Cf#hvF84uuAnfZTtQ{@rEbc zi(DSbzRZ0zr_xAMiSfs>YV+((oC;nH+qU|5Xm{()3FJ5+Djp~Cf5*};#u-`bCFBkK zVt(J4z3%G2x4UoDpY+wLtY(k!+tNKDR#clVbW3-E*Stnv5xE&r!{?o_Cs`?8Jyz}~WN zUUgg2i`FtFoVU58-y0h+y;|D*e^A+3zrE3u{^vHBzg;Kt)L!5z>w`x}mP?$q*IFmh zYgU_89kk(DsVPJ5x9b&t#q56N|LlR-zP}H9-nqU$a&J1rySy#F$NnrowBzb$ zrVZIA87FpEE#Fo4Cim2znvZht^1tflJ1O-QE#KyO^52)W_bluEm$CPUu&eL*eECPk z$EE&eGvqqo{s@)*y-@S#-UF}CTK~D0{g#`mKBZ*?V8(ca+GcOp)*DKdv`J>g|d^=kjX)%5OTSSDS79ulMJ|uSb*Z zgeB{D_uRDjS96oWLR09LY zkpOx?`lpAcHPBj@xW_2 zL;ExTSvw2-cb}SbBeR|9&-L493x6Nq!#&Mf|3u!(zb~%ZzAJm%rup-p&91d4Z)s2~%?EyedU}25`@he6i#PoU+WlDN)vcS;{q2vQYk66BVyE%{g0EL!{q7?5_6V*aTjO&-;z9TX?5E==8T(-|sJHbFS{+eZ9H74VLn?$9Idz&--`awEnrD z8#kw2);;%reR)FP-Kt$jm)@MEw?k`pO7+~l8mp7#jNbba)0h8WB3XWJ@B6O$zq95X ze>zdhZ~w(9lCg(RF4z67dh6qQtM~Tm<`TtDWsBz<&c64U<>AfAbHWe&(v%Ywc$sk^ z)c(~oTaMcH6#1EX%dOX62xqUF&g=cCS5dlQ@|^$nkJi&#N)Iul+)AtG(~8rHK6?MAa!aWV!~31~9JW{Ps+Ih> z4MII4uvN2nz_}{_AXUp>!btS^(1xbI_GZ^JD{Mz+g;(x`d z2ZxgHJ>C$trc`hKuE4}ed;4^)^XoU=%KNnT>ulS+?9(Nu7*dSneQs_rh-ND0T$zrJTkR$o|}_u4v>Va`#b?`t?0|1w*<|LVid*|ixLl&#k9-Th|r)wQ{~Gq-KK zc2#@&{{1gnmuJ~yWCgvASn?H&% haZX+!mL~R3UZ|E!t55mcLIwr~22WQ%mvv4FO#oRX*V+I8 delta 5677 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 diff --git a/test/screenshotter/images/Unicode-chrome.png b/test/screenshotter/images/Unicode-chrome.png index 4dbd96599b45d39aa85697618b047e2eb7bac432..6c4f1ffd0d5869294b5bca5968c7e47c33ab2bc4 100644 GIT binary patch literal 24823 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 literal 24821 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%0DcqlD(?-uGfc!@xc8X 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 literal 24650 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 o2BYa&np!A2CAAoUHx3vIVCg!0MWazhX4Qo From e1c5f5db1c699e650990b4be52d95b62029cf83b Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Mon, 28 Nov 2016 11:39:28 -0500 Subject: [PATCH 11/12] Add support for \text{rm,it,bf,tt,sf,normal}. And allow \text to nest inside \text. --- src/Options.js | 2 +- src/buildCommon.js | 4 ++++ src/buildHTML.js | 7 ++++--- src/functions.js | 15 +++++++++++++-- static/katex.less | 8 ++++++++ test/katex-spec.js | 37 +++++++++++++++++++++++++++++++++++++ 6 files changed, 67 insertions(+), 6 deletions(-) diff --git a/src/Options.js b/src/Options.js index e6e09962..e5de594e 100644 --- a/src/Options.js +++ b/src/Options.js @@ -99,7 +99,7 @@ Options.prototype.withPhantom = function() { */ Options.prototype.withFont = function(font) { return this.extend({ - font: font, + font: font || this.font, }); }; diff --git a/src/buildCommon.js b/src/buildCommon.js index a045ad36..bbd174d3 100644 --- a/src/buildCommon.js +++ b/src/buildCommon.js @@ -430,6 +430,10 @@ var fontMap = { variant: "normal", fontName: "Main-Regular", }, + "textit": { + variant: "italic", + fontName: "Main-Italic", + }, // "mathit" is missing because it requires the use of two fonts: Main-Italic // and Math-Italic. This is handled by a special case in makeOrd which ends diff --git a/src/buildHTML.js b/src/buildHTML.js index 9e191889..dccf161a 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -249,15 +249,16 @@ groupTypes.ordgroup = function(group, options) { }; groupTypes.text = function(group, options) { - var inner = buildExpression(group.value.body, options, true); + var newOptions = options.withFont(group.value.style); + var inner = buildExpression(group.value.body, newOptions, true); for (var i = 0; i < inner.length - 1; i++) { if (inner[i].tryCombine(inner[i + 1])) { inner.splice(i + 1, 1); i--; } } - return makeSpan(["mord", "text", options.style.cls()], - inner, options); + return makeSpan(["mord", "text", newOptions.style.cls()], + inner, newOptions); }; groupTypes.color = function(group, options) { diff --git a/src/functions.js b/src/functions.js index 24cf245e..6966ea7f 100644 --- a/src/functions.js +++ b/src/functions.js @@ -126,16 +126,27 @@ defineFunction("\\sqrt", { }; }); -// Some non-mathy text -defineFunction("\\text", { +// Non-mathy text, possibly in a font +var textFunctionStyles = { + "\\text": undefined, "\\textrm": "mathrm", "\\textsf": "mathsf", + "\\texttt": "mathtt", "\\textnormal": "mathrm", "\\textbf": "mathbf", + "\\textit": "textit", +}; + +defineFunction([ + "\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", + "\\textbf", "\\textit", +], { numArgs: 1, argTypes: ["text"], greediness: 2, + allowedInText: true, }, function(context, args) { var body = args[0]; return { type: "text", body: ordargument(body), + style: textFunctionStyles[context.funcName], }; }); diff --git a/static/katex.less b/static/katex.less index 7b8c293a..764e4463 100644 --- a/static/katex.less +++ b/static/katex.less @@ -49,6 +49,14 @@ display: inline-block; } + .mathrm { + font-style: normal; + } + + .textit { + font-style: italic; + } + .mathit { font-family: KaTeX_Math; font-style: italic; diff --git a/test/katex-spec.js b/test/katex-spec.js index de326d65..2018b916 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -1382,6 +1382,43 @@ describe("An HTML font tree-builder", function() { expect(markup).toContain("R"); }); + it("should render \\text{R} with the correct font", function() { + var markup = katex.renderToString("\\text{R}"); + expect(markup).toContain("R"); + }); + + it("should render \\textit{R} with the correct font", function() { + var markup = katex.renderToString("\\textit{R}"); + expect(markup).toContain("R"); + }); + + it("should render \\text{\\textit{R}} with the correct font", function() { + var markup = katex.renderToString("\\text{\\textit{R}}"); + expect(markup).toContain("R"); + }); + + it("should render \\text{R\\textit{S}T} with the correct fonts", function() { + var markup = katex.renderToString("\\text{R\\textit{S}T}"); + expect(markup).toContain("R"); + expect(markup).toContain("S"); + expect(markup).toContain("T"); + }); + + it("should render \\textbf{R} with the correct font", function() { + var markup = katex.renderToString("\\textbf{R}"); + expect(markup).toContain("R"); + }); + + it("should render \\textsf{R} with the correct font", function() { + var markup = katex.renderToString("\\textsf{R}"); + expect(markup).toContain("R"); + }); + + it("should render \\texttt{R} with the correct font", function() { + var markup = katex.renderToString("\\texttt{R}"); + expect(markup).toContain("R"); + }); + it("should render a combination of font and color changes", function() { var markup = katex.renderToString("\\color{blue}{\\mathbb R}"); var span = "R"; From 81f9a410a0183458140129efd78eae53fbf009c9 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Mon, 28 Nov 2016 11:54:37 -0500 Subject: [PATCH 12/12] Add text-mode definitions of symbols like \$. --- src/symbols.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/symbols.js b/src/symbols.js index 477824e0..92fbef04 100644 --- a/src/symbols.js +++ b/src/symbols.js @@ -87,7 +87,9 @@ defineSymbol(math, main, punct, "\u22c5", "\\cdotp"); // Misc Symbols defineSymbol(math, main, textord, "\u0023", "\\#"); +defineSymbol(text, main, textord, "\u0023", "\\#"); defineSymbol(math, main, textord, "\u0026", "\\&"); +defineSymbol(text, main, textord, "\u0026", "\\&"); defineSymbol(math, main, textord, "\u2135", "\\aleph"); defineSymbol(math, main, textord, "\u2200", "\\forall"); defineSymbol(math, main, textord, "\u210f", "\\hbar"); @@ -394,8 +396,11 @@ defineSymbol(math, ams, rel, "\u21be", "\\restriction"); defineSymbol(math, main, textord, "\u2018", "`"); defineSymbol(math, main, textord, "$", "\\$"); +defineSymbol(text, main, textord, "$", "\\$"); defineSymbol(math, main, textord, "%", "\\%"); +defineSymbol(text, main, textord, "%", "\\%"); defineSymbol(math, main, textord, "_", "\\_"); +defineSymbol(text, main, textord, "_", "\\_"); defineSymbol(math, main, textord, "\u2220", "\\angle"); defineSymbol(math, main, textord, "\u221e", "\\infty"); defineSymbol(math, main, textord, "\u2032", "\\prime"); @@ -534,7 +539,9 @@ defineSymbol(math, main, bin, "\u22c6", "\\star"); defineSymbol(math, main, bin, "\u25c3", "\\triangleleft"); defineSymbol(math, main, bin, "\u25b9", "\\triangleright"); defineSymbol(math, main, open, "{", "\\{"); +defineSymbol(text, main, textord, "{", "\\{"); defineSymbol(math, main, close, "}", "\\}"); +defineSymbol(text, main, textord, "}", "\\}"); defineSymbol(math, main, open, "{", "\\lbrace"); defineSymbol(math, main, close, "}", "\\rbrace"); defineSymbol(math, main, open, "[", "\\lbrack");