UNPKG

katex

Version:

Fast math typesetting for the web.

35 lines (30 loc) 1.21 kB
// @flow import {defineFunctionBuilders} from "../defineFunction"; import buildCommon from "../buildCommon"; import mathMLTree from "../mathMLTree"; import * as mml from "../buildMathML"; // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js. defineFunctionBuilders({ type: "atom", htmlBuilder(group, options) { return buildCommon.mathsym( group.text, group.mode, options, ["m" + group.family]); }, mathmlBuilder(group, options) { const node = new mathMLTree.MathNode( "mo", [mml.makeText(group.text, group.mode)]); if (group.family === "bin") { const variant = mml.getVariant(group, options); if (variant === "bold-italic") { node.setAttribute("mathvariant", variant); } } else if (group.family === "punct") { node.setAttribute("separator", "true"); } else if (group.family === "open" || group.family === "close") { // Delims built here should not stretch vertically. // See delimsizing.js for stretchy delims. node.setAttribute("stretchy", "false"); } return node; }, });