B Operator Dictionary

Mathematical Markup Language (MathML) Version 2.0
A Parsing MathML
B Operator Dictionary
B.1 Format of operator dictionary entries
B.2 Indexing of operator dictionary
B.3 Choice of entity names
B.4 Notes on lspace and rspace attributes
B.5 Operator dictionary entries
C Content Markup Validation Grammar

The following table gives the suggested dictionary of rendering properties for operators, fences, separators, and accents in MathML, all of which are represented by mo elements. For brevity, all such elements will be called simply `operators' in this Appendix.

B.1 Format of operator dictionary entries

The operators are divided into groups, which are separated by blank lines in the listing below. The grouping, and the order of the groups, is significant for the proper grouping of subexpressions using <mrow> (section 3.3.1 [Horizontally Group Any Number of Subexpressions]); the rule described there is especially relevant to the automatic generation of MathML by conversion from other formats for displayed mathematics, such as TEX, which do not always specify how subexpressions nest.

The format of the table entries is: the <mo> element content between double quotes (start and end tags not shown), followed by the attribute list in XML format, starting with the form attribute, followed by the default rendering attributes which should be used for mo elements with the given content and form attribute.

Any attribute not listed for some entry has its default value, which is given in parentheses in the table of attributes in section 3.2.4 [Operator, Fence, Separator or Accent].

Note that the characters & and < are represented in the following table entries by the entity references &amp; and &lt; respectively, as would be necessary if they appeared in the content of an actual mo element (or any other MathML or XML element).

For example, the first entry,

"(" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"

could be expressed as an mo element by:

<mo form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"> ( </mo>

(note the lack of double quotes around the content, and the whitespace added around the content for readability, which is optional in MathML).

This entry means that, for MathML renderers which use this suggested operator dictionary, giving the element <mo form="prefix"> ( </mo> alone, or simply <mo> ( </mo> in a position for which form="prefix" would be inferred (see below), is equivalent to giving the element with all attributes as shown above.

B.2 Indexing of operator dictionary

Note that the dictionary is indexed not just by the element content, but by the element content and form attribute value, together. Operators with more than one possible form have more than one entry. The MathML specification describes how the renderer chooses (`infers') which form to use when no form attribute is given; see section 3.2.4.7.2 [Default value of the form attribute].

Having made that choice, or with the form attribute explicitly specified in the <mo> element's start tag, the MathML renderer uses the remaining attributes from the dictionary entry for the appropriate single form of that operator, ignoring the entries for the other possible forms.

B.3 Choice of entity names

Extended characters in MathML (and in the operator dictionary below) are represented by XML-style entity references using the syntax &character-name; the complete list of characters and character names is given in chapter 6 [Entities, Characters and Fonts]. Many characters can be referred to by more than one name; often, memorable names composed of full words have been provided in MathML, as well as one or more names used in other standards, such as Unicode. The characters in the operators in this dictionary are generally listed under their full-word names when these exist. For example, the integral operator is named below by the one-character sequence &Integral;, but could equally well be named &int;. The choice of name for a given character in MathML has no effect on its rendering.

It is intended that every entity named below appears somewhere in chapter 6 [Entities, Characters and Fonts]. If this is not true, it is an error in this specification. If such an error exists, the abovementioned chapter should be taken as definitive, rather than this appendix.

B.4 Notes on lspace and rspace attributes

The values for lspace and rspace given here range from 0 to (verythickmathspace which has a default value of 6/18em. For the invisible operators whose content is &InvisibleTimes; or &ApplyFunction;, it is suggested that MathML renderers choose spacing in a context-sensitive way (which is an exception to the static values given in the following table). For <mo>&ApplyFunction;</mo>, the total spacing (lspace+rspace) in expressions such as `sin x' (where the right operand doesn't start with a fence) should be greater than zero; for <mo>&InvisibleTimes;</mo>, the total spacing should be greater than zero when both operands (or the nearest tokens on either side, if on the baseline) are identifiers displayed in a non-slanted font (i.e. under the suggested rules, when both operands are multi-character identifiers).

Some renderers may wish to use no spacing for most operators appearing in scripts (i.e. when scriptlevel is greater than 0; see section 3.3.4 [Style Change]), as is the case in TEX.

B.5 Operator dictionary entries

"("                                  form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
")"                                  form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"["                                  form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"]"                                  form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"{"                                  form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"}"                                  form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&CloseCurlyDoubleQuote;"            form="postfix" fence="true"  lspace="0em" rspace="0em"
"&CloseCurlyQuote;"                  form="postfix" fence="true"  lspace="0em" rspace="0em"
"&LeftAngleBracket;"                 form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&LeftBracketingBar;"                form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&LeftCeiling;"                      form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&LeftDoubleBracket;"                form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&LeftDoubleBracketingBar;"          form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&LeftFloor;"                        form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&OpenCurlyDoubleQuote;"             form="prefix"  fence="true"  lspace="0em" rspace="0em"
"&OpenCurlyQuote;"                   form="prefix"  fence="true"  lspace="0em" rspace="0em"
"&RightAngleBracket;"                form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&RightBracketingBar;"               form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&RightCeiling;"                     form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&RightDoubleBracket;"               form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&RightDoubleBracketingBar;"         form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&RightFloor;"                       form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"&LeftSkeleton;"                     form="prefix"  fence="true"  lspace="0em" rspace="0em"
"&RightSkeleton;"                    form="postfix" fence="true"  lspace="0em" rspace="0em"
"&InvisibleComma;"                   form="infix"   separator="true"  lspace="0em" rspace="0em"
","                                  form="infix"   separator="true"  lspace="0em" rspace="verythickmathspace"
"&HorizontalLine;"                   form="infix"   stretchy="true" minsize="0"  lspace="0em" rspace="0em"
"&VerticalLine;"                     form="infix"   stretchy="true" minsize="0"  lspace="0em" rspace="0em"
";"                                  form="infix"   separator="true"  lspace="0em" rspace="thickmathspace"
";"                                  form="postfix" separator="true"  lspace="0em" rspace="0em"
":="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Assign;"                           form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Because;"                          form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Therefore;"                        form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&VerticalSeparator;"                form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"//"                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Colon;"                            form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&"                              form="prefix"   lspace="0em" rspace="thickmathspace"
"&"                              form="postfix"  lspace="thickmathspace" rspace="0em"
"*="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"-="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"+="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"/="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"->"                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
":"                                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
".."                                 form="postfix"  lspace="mediummathspace" rspace="0em"
"..."                                form="postfix"  lspace="mediummathspace" rspace="0em"
"&SuchThat;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&DoubleLeftTee;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&DoubleRightTee;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&DownTee;"                          form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LeftTee;"                          form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&RightTee;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Implies;"                          form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RoundImplies;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"|"                                  form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"||"                                 form="infix"    lspace="mediummathspace" rspace="mediummathspace"
"&Or;"                               form="infix"   stretchy="true"  lspace="mediummathspace" rspace="mediummathspace"
"&&"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&And;"                              form="infix"   stretchy="true"  lspace="mediummathspace" rspace="mediummathspace"
"&"                              form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"!"                                  form="prefix"   lspace="0em" rspace="thickmathspace"
"&Not;"                              form="prefix"   lspace="0em" rspace="thickmathspace"
"&Exists;"                           form="prefix"   lspace="0em" rspace="thickmathspace"
"&ForAll;"                           form="prefix"   lspace="0em" rspace="thickmathspace"
"&NotExists;"                        form="prefix"   lspace="0em" rspace="thickmathspace"
"&Element;"                          form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotElement;"                       form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotReverseElement;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSquareSubset;"                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSquareSubsetEqual;"             form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSquareSuperset;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSquareSupersetEqual;"           form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSubset;"                        form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSubsetEqual;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSuperset;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSupersetEqual;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&ReverseElement;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SquareSubset;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SquareSubsetEqual;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SquareSuperset;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SquareSupersetEqual;"              form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Subset;"                           form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SubsetEqual;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Superset;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SupersetEqual;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&DoubleLeftArrow;"                  form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DoubleLeftRightArrow;"             form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DoubleRightArrow;"                 form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DownLeftRightVector;"              form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DownLeftTeeVector;"                form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DownLeftVector;"                   form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DownLeftVectorBar;"                form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DownRightTeeVector;"               form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DownRightVector;"                  form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&DownRightVectorBar;"               form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftArrow;"                        form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftArrowBar;"                     form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftArrowRightArrow;"              form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftRightArrow;"                   form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftRightVector;"                  form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftTeeArrow;"                     form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftTeeVector;"                    form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftVector;"                       form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LeftVectorBar;"                    form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LowerLeftArrow;"                   form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&LowerRightArrow;"                  form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightArrow;"                       form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightArrowBar;"                    form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightArrowLeftArrow;"              form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightTeeArrow;"                    form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightTeeVector;"                   form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightVector;"                      form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightVectorBar;"                   form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&ShortLeftArrow;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&ShortRightArrow;"                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&UpperLeftArrow;"                   form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&UpperRightArrow;"                  form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"="                                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"<"                               form="infix"    lspace="thickmathspace" rspace="thickmathspace"
">"                                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"!="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"=="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"<="                              form="infix"    lspace="thickmathspace" rspace="thickmathspace"
">="                                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Congruent;"                        form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&CupCap;"                           form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&DotEqual;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&DoubleVerticalBar;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Equal;"                            form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&EqualTilde;"                       form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Equilibrium;"                      form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&GreaterEqual;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&GreaterEqualLess;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&GreaterFullEqual;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&GreaterGreater;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&GreaterLess;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&GreaterSlantEqual;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&GreaterTilde;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&HumpDownHump;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&HumpEqual;"                        form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LeftTriangle;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LeftTriangleBar;"                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LeftTriangleEqual;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&le;"                               form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LessEqualGreater;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LessFullEqual;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LessGreater;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LessLess;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LessSlantEqual;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&LessTilde;"                        form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NestedGreaterGreater;"             form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NestedLessLess;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotCongruent;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotCupCap;"                        form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotDoubleVerticalBar;"             form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotEqual;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotEqualTilde;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotGreater;"                       form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotGreaterEqual;"                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotGreaterFullEqual;"              form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotGreaterGreater;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotGreaterLess;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotGreaterSlantEqual;"             form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotGreaterTilde;"                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotHumpDownHump;"                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotHumpEqual;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLeftTriangle;"                  form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLeftTriangleBar;"               form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLeftTriangleEqual;"             form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLess;"                          form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLessEqual;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLessFullEqual;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLessGreater;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLessLess;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLessSlantEqual;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotLessTilde;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotNestedGreaterGreater;"          form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotNestedLessLess;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotPrecedes;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotPrecedesEqual;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotPrecedesSlantEqual;"            form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotPrecedesTilde;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotRightTriangle;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotRightTriangleBar;"              form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotRightTriangleEqual;"            form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSucceeds;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSucceedsEqual;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSucceedsSlantEqual;"            form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotSucceedsTilde;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotTilde;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotTildeEqual;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotTildeFullEqual;"                form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotTildeTilde;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&NotVerticalBar;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Precedes;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&PrecedesEqual;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&PrecedesSlantEqual;"               form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&PrecedesTilde;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Proportion;"                       form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Proportional;"                     form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&ReverseEquilibrium;"               form="infix"   stretchy="true"  lspace="thickmathspace" rspace="thickmathspace"
"&RightTriangle;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&RightTriangleBar;"                 form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&RightTriangleEqual;"               form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Succeeds;"                         form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SucceedsEqual;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SucceedsSlantEqual;"               form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SucceedsTilde;"                    form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&Tilde;"                            form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&TildeEqual;"                       form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&TildeFullEqual;"                   form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&TildeTilde;"                       form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&UpTee;"                            form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&VerticalBar;"                      form="infix"    lspace="thickmathspace" rspace="thickmathspace"
"&SquareUnion;"                      form="infix"   stretchy="true"  lspace="mediummathspace" rspace="mediummathspace"
"&Union;"                            form="infix"   stretchy="true"  lspace="mediummathspace" rspace="mediummathspace"
"&UnionPlus;"                        form="infix"   stretchy="true"  lspace="mediummathspace" rspace="mediummathspace"
"-"                                  form="infix"    lspace="mediummathspace" rspace="mediummathspace"
"+"                                  form="infix"    lspace="mediummathspace" rspace="mediummathspace"
"&Intersection;"                     form="infix"   stretchy="true"  lspace="mediummathspace" rspace="mediummathspace"
"&MinusPlus;"                        form="infix"    lspace="mediummathspace" rspace="mediummathspace"
"&PlusMinus;"                        form="infix"    lspace="mediummathspace" rspace="mediummathspace"
"&SquareIntersection;"               form="infix"   stretchy="true"  lspace="mediummathspace" rspace="mediummathspace"
"&Vee;"                              form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"&CircleMinus;"                      form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace="thinmathspace"
"&CirclePlus;"                       form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace="thinmathspace"
"&Sum;"                              form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"&Union;"                            form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"&UnionPlus;"                        form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"lim"                                form="prefix"  movablelimits="true"  lspace="0em" rspace="thinmathspace"
"max"                                form="prefix"  movablelimits="true"  lspace="0em" rspace="thinmathspace"
"min"                                form="prefix"  movablelimits="true"  lspace="0em" rspace="thinmathspace"
"&CircleMinus;"                      form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&CirclePlus;"                       form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&ClockwiseContourIntegral;"         form="prefix"  largeop="true" stretchy="true"  lspace="0em" rspace="0em"
"&ContourIntegral;"                  form="prefix"  largeop="true" stretchy="true"  lspace="0em" rspace="0em"
"&CounterClockwiseContourIntegral;"  form="prefix"  largeop="true" stretchy="true"  lspace="0em" rspace="0em"
"&DoubleContourIntegral;"            form="prefix"  largeop="true" stretchy="true"  lspace="0em" rspace="0em"
"&Integral;"                         form="prefix"  largeop="true" stretchy="true"  lspace="0em" rspace="0em"
"&Cup;"                              form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&Cap;"                              form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&VerticalTilde;"                    form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&Wedge;"                            form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"&CircleTimes;"                      form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace="thinmathspace"
"&Coproduct;"                        form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"&Product;"                          form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"&Intersection;"                     form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace="thinmathspace"
"&Coproduct;"                        form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&Star;"                             form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&CircleDot;"                        form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace="thinmathspace"
"*"                                  form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&InvisibleTimes;"                   form="infix"    lspace="0em" rspace="0em"
"&CenterDot;"                        form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&CircleTimes;"                      form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&Vee;"                              form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&Wedge;"                            form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&Diamond;"                          form="infix"    lspace="thinmathspace" rspace="thinmathspace"
"&Backslash;"                        form="infix"   stretchy="true"  lspace="thinmathspace" rspace="thinmathspace"
"/"                                  form="infix"   stretchy="true"  lspace="thinmathspace" rspace="thinmathspace"
"-"                                  form="prefix"   lspace="0em" rspace="veryverythinmathspace"
"+"                                  form="prefix"   lspace="0em" rspace="veryverythinmathspace"
"&MinusPlus;"                        form="prefix"   lspace="0em" rspace="veryverythinmathspace"
"&PlusMinus;"                        form="prefix"   lspace="0em" rspace="veryverythinmathspace"
"."                                  form="infix"    lspace="0em" rspace="0em"
"&Cross;"                            form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"**"                                 form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"&CircleDot;"                        form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"&SmallCircle;"                      form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"&Square;"                           form="prefix"   lspace="0em" rspace="verythinmathspace"
"&Del;"                              form="prefix"   lspace="0em" rspace="verythinmathspace"
"&PartialD;"                         form="prefix"   lspace="0em" rspace="verythinmathspace"
"&CapitalDifferentialD;"             form="prefix"   lspace="0em" rspace="verythinmathspace"
"&DifferentialD;"                    form="prefix"   lspace="0em" rspace="verythinmathspace"
"&Sqrt;"                             form="prefix"  stretchy="true"  lspace="0em" rspace="verythinmathspace"
"&DoubleDownArrow;"                  form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DoubleLongLeftArrow;"              form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DoubleLongLeftRightArrow;"         form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DoubleLongRightArrow;"             form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DoubleUpArrow;"                    form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DoubleUpDownArrow;"                form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DownArrow;"                        form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DownArrowBar;"                     form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DownArrowUpArrow;"                 form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&DownTeeArrow;"                     form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LeftDownTeeVector;"                form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LeftDownVector;"                   form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LeftDownVectorBar;"                form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LeftUpDownVector;"                 form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LeftUpTeeVector;"                  form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LeftUpVector;"                     form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LeftUpVectorBar;"                  form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LongLeftArrow;"                    form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LongLeftRightArrow;"               form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&LongRightArrow;"                   form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&ReverseUpEquilibrium;"             form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&RightDownTeeVector;"               form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&RightDownVector;"                  form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&RightDownVectorBar;"               form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&RightUpDownVector;"                form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&RightUpTeeVector;"                 form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&RightUpVector;"                    form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&RightUpVectorBar;"                 form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&ShortDownArrow;"                   form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"&ShortUpArrow;"                     form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"&UpArrow;"                          form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&UpArrowBar;"                       form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&UpArrowDownArrow;"                 form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&UpDownArrow;"                      form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&UpEquilibrium;"                    form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"&UpTeeArrow;"                       form="infix"   stretchy="true"  lspace="verythinmathspace" rspace="verythinmathspace"
"^"                                  form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"<>"                              form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"'"                                  form="postfix"  lspace="verythinmathspace" rspace="0em"
"!"                                  form="postfix"  lspace="verythinmathspace" rspace="0em"
"!!"                                 form="postfix"  lspace="verythinmathspace" rspace="0em"
"~"                                  form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"@"                                  form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"--"                                 form="postfix"  lspace="verythinmathspace" rspace="0em"
"--"                                 form="prefix"   lspace="0em" rspace="verythinmathspace"
"++"                                 form="postfix"  lspace="verythinmathspace" rspace="0em"
"++"                                 form="prefix"   lspace="0em" rspace="verythinmathspace"
"&ApplyFunction;"                    form="infix"    lspace="0em" rspace="0em"
"?"                                  form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"_"                                  form="infix"    lspace="verythinmathspace" rspace="verythinmathspace"
"&Breve;"                            form="postfix" accent="true"  lspace="0em" rspace="0em"
"&Cedilla;"                          form="postfix" accent="true"  lspace="0em" rspace="0em"
"&DiacriticalGrave;"                 form="postfix" accent="true"  lspace="0em" rspace="0em"
"&DiacriticalDot;"                   form="postfix" accent="true"  lspace="0em" rspace="0em"
"&DiacriticalDoubleAcute;"           form="postfix" accent="true"  lspace="0em" rspace="0em"
"&DiacriticalLeftArrow;"             form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&DiacriticalLeftRightArrow;"        form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&DiacriticalLeftRightVector;"       form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&DiacriticalLeftVector;"            form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&DiacriticalAcute;"                 form="postfix" accent="true"  lspace="0em" rspace="0em"
"&DiacriticalRightArrow;"            form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&DiacriticalRightVector;"           form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&DiacriticalTilde;"                 form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&DoubleDot;"                        form="postfix" accent="true"  lspace="0em" rspace="0em"
"&DownBreve;"                        form="postfix" accent="true"  lspace="0em" rspace="0em"
"&Hacek;"                            form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&Hat;"                              form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&OverBar;"                          form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&OverBrace;"                        form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&OverBracket;"                      form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&OverParenthesis;"                  form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&TripleDot;"                        form="postfix" accent="true"  lspace="0em" rspace="0em"
"&UnderBar;"                         form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&UnderBrace;"                       form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&UnderBracket;"                     form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"
"&UnderParenthesis;"                 form="postfix" accent="true" stretchy="true"  lspace="0em" rspace="0em"