Office Math RTF and OMML Documentation

The RTF 2007 specification is now available. Word 2007 added as many control words as Word 2000, XP and 2003 combined! The .doc spec is 4.4 MB, while the .docx is only 881KB. Admittedly a zipped version of the .doc spec is somewhat smaller than the .docx version. The math section starts on p. 124. It includes all of the material in my math RTF post as well as many examples, the BNF syntax, and much additional documentation.

For the Office Open XML formats, go to Ecma-376, where you can download ECMA-376.pdf. This is a large file containing several parts that explain Microsoft Office's Open XML formats. The main reference part starts on p. 778 of ECMA-376.pdf and is titled Office Open XML, Ecma TC45, Final Draft, Part 4: Markup Language Reference. Chapter 2 is WordProcessingML Reference Material and starts on p. 5 of this part.

Chapter 7 is the Shared MLs Reference Material and Section 7.1 documents Office math XML (OMML), starting on p. 5744 of ECMA-376.pdf.

For easy reference, the following table summarizes the sections of this document that define the OMML math elements. The section and page numbers refer to Part 4, not to ECMA-376.pdf. The math objects described in my math RTF post have "Function" in the corresponding Purpose entry, and the arguments (like numerator and denominator) have "argument" in their Purpose entry.

Section Element Purpose Page acc Accent 4964 accPr Accent Properties 4965 aln Alignment 4966 alnScr Align Scripts 4967 argPr Argument Properties 4968 argSz Argument Size 4969 bar Bar 4970 barPr Bar Properties 4971 baseJc Matrix Base Justification 4972 begChr Delimiter Beginning Character 4975 borderBox Border-Box Function 4975 borderBoxPr Border Box Properties 4976 box Box Function 4977 boxPr Box Properties 4978 brk Break 4979 brkBin Break on Binary Operators 4980 brkBinSub Break on Binary Subtraction 4981 cGp Matrix Column Gap 4982 cGpRule Matrix Column Gap Rule 4983 chr Accent Character 4984 count Matrix Column Count 4985 cSp Matrix Column Spacing 4986 ctrlPr Control Properties 4987 d Delimiter Function 4988 defJc Default Justification 4989 deg Degree argument 4990 degHide Hide Degree 4993 den Denominator argument 4994 diff Differential 4996 dispDef Use Display Math Defaults 4998 dPr Delimiter Properties 4999 e Base argument 4999 endChr Delimiter Ending Character 5002 eqArr Equation-Array Function 5003 eqArrPr Equation Array Properties 5004 f Fraction Function 5005 fName Function Name argument 5006 fPr Fraction Properties 5009 func Function Apply Function 5010 funcPr Function Properties 5011 groupChr Group-Character Function 5011 groupChrPr Group-Character Properties 5012 grow n-ary Grow 5013 hideBot Hide Bottom Edge 5014 hideLeft Hide Left Edge 5015 hideRight Hide Right Edge 5015 hideTop Hide Top Edge 5016 interSp Inter-Equation Spacing 5017 intLim Integral Limit Locations 5018 intraSp Intra-Equation Spacing 5019 jc Justification 5019 lim Limit argument 5020 limLoc n-ary Limit Location 5022 limLow Lower-Limit Function 5023 limLowPr Lower Limit Properties 5024 limUpp Upper-Limit Function 5024 limUppPr Upper Limit Properties 5025 lit Literal 5026 lMargin Left Margin 5027 m Matrix Function 5027 mathFont Math Font 5029 mathPr Math Properties 5030 maxDist Maximum Distribution 5031 mc Matrix Column 5032 mcJc Matrix Column Justification 5034 mcPr Matrix Column Properties 5036 mcs Matrix Columns 5036 mPr Matrix Properties 5038 mr Matrix Row 5039 nary n-ary Operator Function 5041 naryLim n-ary Limit Location 5042 naryPr n-ary Properties 5043 noBreak No Break 5044 nor Normal Text 5045 num Numerator argument 5046 objDist Object Distribution 5048 oMath Office Math 5049 oMathPara Math Paragraph 5051 oMathParaPr Office Math Paragraph Properties 5052 opEmu Operator Emulator 5052 phant Phantom Function 5053 phantPr Phantom Properties 5054 plcHide Hide Placeholders (matrix) 5054 pos Position (Bar) 5055 postSp Post-Equation Spacing 5056 preSp Pre-Equation Spacing 5057 r Run 5057 rad Radical Function 5059 radPr Radical Properties 5060 rMargin Right Margin 5060 rPr Run Properties 5061 rSp Row Spacing (Equation Array) 5062 rSpRule Row Spacing Rule 5063 scr Script 5064 sepChr Delimiter Separator Character 5065 show Phantom Show 5066 shp Shape (Delimiters) 5067 smallFrac Small Fraction 5067 sPre Pre-Sub-Superscript Function 5068 sPrePr Pre-Sub-Superscript Properties 5069 sSub Subscript Function 5070 sSubPr Subscript Properties 5071 sSubSup Sub-Superscript Function 5071 sSubSupPr Sub-Superscript Properties 5072 sSup Superscript Function 5073 sSupPr Superscript Properties 5074 strikeBLTR Border Box Strikethrough Bottom-Left to Top-Right 5074 strikeH Border Box Strikethrough Horizontal 5075 strikeTLBR Border Box Strikethrough Top-Left to Bottom-Right 5076 strikeV Border Box Strikethrough Vertical 5077 sty style 5078 sub Subscript argument 5079 subHide Hide Subscript (n-ary) 5081 sup Superscript argument 5082 supHide Hide Superscript (n-ary) 5084 t Text 5084 transp Transparent (Phantom) 5085 type Fraction type 5086 vertJc Vertical Justification 5087 wrapIndent Wrap Indent 5087 wrapRight Wrap Right 5088 zeroAsc Phantom Zero Ascent 5089 zeroDesc Phantom Zero Descent 5090 zeroWid Phantom Zero Width 5091