OMML — advanced math constructs (
eqArr,groupChr,mathPr,borderBox,phantom).
Module mathAdvanced | Source packages/front/office/ooxml/src/extra/math-advanced.js | Deps xml | Worker-safe yes
Extends the core math module with the harder OMML elements: equation arrays, group characters, character boxes, phantoms, and the document-level <m:mathPr>.
Resolve
const ext = mathAdvanced.factory(xml);
API
| Method | Signature | Returns |
|---|---|---|
parseEqArr / renderEqArr |
— | aligned equation arrays |
parseEqArrPr / renderEqArrPr |
— | <m:eqArrPr> (maxDist, objDist, rSp, rSpRule, baseJc, ctrlPr) |
parseGroupChr / renderGroupChr |
— | <m:groupChr> (over/under brace) |
parseGroupChrPr / renderGroupChrPr |
— | <m:groupChrPr> (chr, pos, vertJc, ctrlPr) |
parseLimLow / renderLimLow |
— | <m:limLow> (limLowPr + e + lim) |
parseLimUpp / renderLimUpp |
— | <m:limUpp> (limUppPr + e + lim) |
renderLimLowPr / renderLimUppPr |
(p) => xmlNode |
bare <m:limLowPr>/<m:limUppPr> renderers (ctrlPr only) |
parseIntLim / renderIntLim |
— | <m:intLim> val element |
parseBorderBox / renderBorderBox |
— | <m:borderBox> |
parseBorderBoxPr / renderBorderBoxPr |
— | <m:borderBoxPr> (BB_FLAGS hide/strike flags + ctrlPr) |
parseBox / renderBox |
— | invisible alignment box |
parseBoxPr / renderBoxPr |
— | <m:boxPr> (opEmu, noBreak, diff, brk, aln, ctrlPr) |
parsePhant / renderPhant |
— | <m:phant> (sizing-only) |
parsePhantPr / renderPhantPr |
— | <m:phantPr> (show, zeroAsc, zeroDesc, zeroWid, transp, ctrlPr) |
parseMathPr / renderMathPr |
— | document <m:mathPr> |
parseOMathParaPr / renderOMathParaPr |
— | <m:oMathParaPr> (jc) |
parseCtrlPr / renderCtrlPr |
— | <m:ctrlPr> (wraps w:rPr) |
parseArgPr / renderArgPr |
— | <m:argPr> (argSz, ctrlPr) |
parseMc / renderMc |
— | <m:mc> (one matrix-column entry, wraps mcPr) |
parseMcs / renderMcs |
— | <m:mcs> (list of <m:mc>) |
parseMcPr / renderMcPr |
— | <m:mcPr> (count, mcJc) |
parseMPr / renderMPr |
— | <m:mPr> matrix properties (baseJc, plcHide, rSpRule, cGpRule, rSp, cSp, cGp, mcs, ctrlPr) |
parseAln/renderAln, parseAlnScr/renderAlnScr, parseLit/renderLit, parseNor/renderNor, parseScr/renderScr, parseShow/renderShow, parseShp/renderShp, parseSubHide/renderSubHide, parseSupHide/renderSupHide, parseTransp/renderTransp |
(el) => {val} |
bare val-only leaf-element pairs (coverage helpers) |
parseMathElement |
(el) => {kind, value} |
dispatcher across every element this module + its val-only children handle |
MATHPR_VAL |
string[] |
<m:mathPr>'s val-only child names |
BB_FLAGS |
string[] |
<m:borderBoxPr>'s hide*/strike* flag names |
Elements typed
eqArr, eqArrPr, maxDist, objDist, rSp, rSpRule, groupChr, groupChrPr, chr, vertJc, pos, borderBox, borderBoxPr, hideTop, hideBot, hideLeft, hideRight, strikeH, strikeV, strikeBLTR, strikeTLBR, box, boxPr, aln, diff, phant, phantPr, show, zeroAsc, zeroDesc, zeroWid, mathPr, mathFont, brkBin, brkBinSub, smallFrac, dispDef, lMargin, rMargin, defJc, preSp, postSp, interSp, intraSp, wrapIndent, wrapRight.
Notes
mathPrbelongs toword/settings.xml— wire it via the wml-settings extension to surface it onresult.settings.mathPr.- Equation arrays drop into
m:eqArrrows that align around the=sign by default.
See also
- math (core) — base typed model