layout/mathml/doc/operator.txt
author kaie@kuix.de
Mon, 14 Jan 2008 08:04:00 -0800
changeset 10259 f8d82e8fe534cb2c3a858391f285bc8bca1ba5fa
parent 1 9b2a99adc05e53cd4010de512f50118594756650
permissions -rw-r--r--
Bug 408432, Add Exception fails for certs with no DNS names (no CN, no SAN) r=rrelyea, blocking1.9=dsicore

 Up: Table of Contents               REC-MathML-19980407; revised 19990707
  ------------------------------------------------------------------------

Operator Dictionary

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.

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); the rule described there is especially relevant to the automatic
generation of MathML by conversion from other formats for displayed math,
such as TeX, which don't 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.

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.

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 "Default value of form attribute" in Section
3.2.4.

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.

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. 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. If this is not true, it is an error in this specification. If such an
error exists, Chapter 6 should be taken as definitive, rather than this
appendix.

Notes on lspace and rspace attributes

The values for lspace and rspace given here range from 0 to 6/18 em in
units of 1/18 em. 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 0; for <mo>&InvisibleTimes;</mo>, the total
spacing should be greater than 0 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), as is
the case in TeX.
  ------------------------------------------------------------------------

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=".33333em"

"&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=".27777em"
";"                                  form="postfix" separator="true"  lspace="0em" rspace="0em"

":="                                 form="infix"    lspace=".27777em" rspace=".27777em"
"&Assign;"                           form="infix"    lspace=".27777em" rspace=".27777em"

"&Because;"                          form="infix"    lspace=".27777em" rspace=".27777em"
"&Therefore;"                        form="infix"    lspace=".27777em" rspace=".27777em"

"&VerticalSeparator;"                form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"

"//"                                 form="infix"    lspace=".27777em" rspace=".27777em"

"&Colon;"                            form="infix"    lspace=".27777em" rspace=".27777em"

"&amp;"                              form="prefix"   lspace="0em" rspace=".27777em"
"&amp;"                              form="postfix"  lspace=".27777em" rspace="0em"

"*="                                 form="infix"    lspace=".27777em" rspace=".27777em"
"-="                                 form="infix"    lspace=".27777em" rspace=".27777em"
"+="                                 form="infix"    lspace=".27777em" rspace=".27777em"
"/="                                 form="infix"    lspace=".27777em" rspace=".27777em"

"->"                                 form="infix"    lspace=".27777em" rspace=".27777em"

":"                                  form="infix"    lspace=".27777em" rspace=".27777em"

".."                                 form="postfix"  lspace=".22222em" rspace="0em"
"..."                                form="postfix"  lspace=".22222em" rspace="0em"

"&SuchThat;"                         form="infix"    lspace=".27777em" rspace=".27777em"

"&DoubleLeftTee;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&DoubleRightTee;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&DownTee;"                          form="infix"    lspace=".27777em" rspace=".27777em"
"&LeftTee;"                          form="infix"    lspace=".27777em" rspace=".27777em"
"&RightTee;"                         form="infix"    lspace=".27777em" rspace=".27777em"

"&Implies;"                          form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RoundImplies;"                     form="infix"    lspace=".27777em" rspace=".27777em"

"|"                                  form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"||"                                 form="infix"    lspace=".22222em" rspace=".22222em"
"&Or;"                               form="infix"   stretchy="true"  lspace=".22222em" rspace=".22222em"

"&amp;&amp;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&And;"                              form="infix"   stretchy="true"  lspace=".22222em" rspace=".22222em"

"&amp;"                              form="infix"    lspace=".27777em" rspace=".27777em"

"!"                                  form="prefix"   lspace="0em" rspace=".27777em"
"&Not;"                              form="prefix"   lspace="0em" rspace=".27777em"

"&Exists;"                           form="prefix"   lspace="0em" rspace=".27777em"
"&ForAll;"                           form="prefix"   lspace="0em" rspace=".27777em"
"&NotExists;"                        form="prefix"   lspace="0em" rspace=".27777em"

"&Element;"                          form="infix"    lspace=".27777em" rspace=".27777em"
"&NotElement;"                       form="infix"    lspace=".27777em" rspace=".27777em"
"&NotReverseElement;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSquareSubset;"                  form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSquareSubsetEqual;"             form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSquareSuperset;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSquareSupersetEqual;"           form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSubset;"                        form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSubsetEqual;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSuperset;"                      form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSupersetEqual;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&ReverseElement;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&SquareSubset;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&SquareSubsetEqual;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&SquareSuperset;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&SquareSupersetEqual;"              form="infix"    lspace=".27777em" rspace=".27777em"
"&Subset;"                           form="infix"    lspace=".27777em" rspace=".27777em"
"&SubsetEqual;"                      form="infix"    lspace=".27777em" rspace=".27777em"
"&Superset;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&SupersetEqual;"                    form="infix"    lspace=".27777em" rspace=".27777em"

"&DoubleLeftArrow;"                  form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DoubleLeftRightArrow;"             form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DoubleRightArrow;"                 form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DownLeftRightVector;"              form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DownLeftTeeVector;"                form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DownLeftVector;"                   form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DownLeftVectorBar;"                form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DownRightTeeVector;"               form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DownRightVector;"                  form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&DownRightVectorBar;"               form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftArrow;"                        form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftArrowBar;"                     form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftArrowRightArrow;"              form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftRightArrow;"                   form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftRightVector;"                  form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftTeeArrow;"                     form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftTeeVector;"                    form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftVector;"                       form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LeftVectorBar;"                    form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LowerLeftArrow;"                   form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&LowerRightArrow;"                  form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightArrow;"                       form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightArrowBar;"                    form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightArrowLeftArrow;"              form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightTeeArrow;"                    form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightTeeVector;"                   form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightVector;"                      form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightVectorBar;"                   form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&ShortLeftArrow;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&ShortRightArrow;"                  form="infix"    lspace=".27777em" rspace=".27777em"
"&UpperLeftArrow;"                   form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&UpperRightArrow;"                  form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"

"="                                  form="infix"    lspace=".27777em" rspace=".27777em"
"&lt;"                               form="infix"    lspace=".27777em" rspace=".27777em"
">"                                  form="infix"    lspace=".27777em" rspace=".27777em"
"!="                                 form="infix"    lspace=".27777em" rspace=".27777em"
"=="                                 form="infix"    lspace=".27777em" rspace=".27777em"
"&lt;="                              form="infix"    lspace=".27777em" rspace=".27777em"
">="                                 form="infix"    lspace=".27777em" rspace=".27777em"
"&Congruent;"                        form="infix"    lspace=".27777em" rspace=".27777em"
"&CupCap;"                           form="infix"    lspace=".27777em" rspace=".27777em"
"&DotEqual;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&DoubleVerticalBar;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&Equal;"                            form="infix"    lspace=".27777em" rspace=".27777em"
"&EqualTilde;"                       form="infix"    lspace=".27777em" rspace=".27777em"
"&Equilibrium;"                      form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&GreaterEqual;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&GreaterEqualLess;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&GreaterFullEqual;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&GreaterGreater;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&GreaterLess;"                      form="infix"    lspace=".27777em" rspace=".27777em"
"&GreaterSlantEqual;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&GreaterTilde;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&HumpDownHump;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&HumpEqual;"                        form="infix"    lspace=".27777em" rspace=".27777em"
"&LeftTriangle;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&LeftTriangleBar;"                  form="infix"    lspace=".27777em" rspace=".27777em"
"&LeftTriangleEqual;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&le;"                               form="infix"    lspace=".27777em" rspace=".27777em"
"&LessEqualGreater;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&LessFullEqual;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&LessGreater;"                      form="infix"    lspace=".27777em" rspace=".27777em"
"&LessLess;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&LessSlantEqual;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&LessTilde;"                        form="infix"    lspace=".27777em" rspace=".27777em"
"&NestedGreaterGreater;"             form="infix"    lspace=".27777em" rspace=".27777em"
"&NestedLessLess;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&NotCongruent;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&NotCupCap;"                        form="infix"    lspace=".27777em" rspace=".27777em"
"&NotDoubleVerticalBar;"             form="infix"    lspace=".27777em" rspace=".27777em"
"&NotEqual;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&NotEqualTilde;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&NotGreater;"                       form="infix"    lspace=".27777em" rspace=".27777em"
"&NotGreaterEqual;"                  form="infix"    lspace=".27777em" rspace=".27777em"
"&NotGreaterFullEqual;"              form="infix"    lspace=".27777em" rspace=".27777em"
"&NotGreaterGreater;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&NotGreaterLess;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&NotGreaterSlantEqual;"             form="infix"    lspace=".27777em" rspace=".27777em"
"&NotGreaterTilde;"                  form="infix"    lspace=".27777em" rspace=".27777em"
"&NotHumpDownHump;"                  form="infix"    lspace=".27777em" rspace=".27777em"
"&NotHumpEqual;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLeftTriangle;"                  form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLeftTriangleBar;"               form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLeftTriangleEqual;"             form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLess;"                          form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLessEqual;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLessFullEqual;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLessGreater;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLessLess;"                      form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLessSlantEqual;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&NotLessTilde;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&NotNestedGreaterGreater;"          form="infix"    lspace=".27777em" rspace=".27777em"
"&NotNestedLessLess;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&NotPrecedes;"                      form="infix"    lspace=".27777em" rspace=".27777em"
"&NotPrecedesEqual;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&NotPrecedesSlantEqual;"            form="infix"    lspace=".27777em" rspace=".27777em"
"&NotPrecedesTilde;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&NotRightTriangle;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&NotRightTriangleBar;"              form="infix"    lspace=".27777em" rspace=".27777em"
"&NotRightTriangleEqual;"            form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSucceeds;"                      form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSucceedsEqual;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSucceedsSlantEqual;"            form="infix"    lspace=".27777em" rspace=".27777em"
"&NotSucceedsTilde;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&NotTilde;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&NotTildeEqual;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&NotTildeFullEqual;"                form="infix"    lspace=".27777em" rspace=".27777em"
"&NotTildeTilde;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&NotVerticalBar;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&Precedes;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&PrecedesEqual;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&PrecedesSlantEqual;"               form="infix"    lspace=".27777em" rspace=".27777em"
"&PrecedesTilde;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&Proportion;"                       form="infix"    lspace=".27777em" rspace=".27777em"
"&Proportional;"                     form="infix"    lspace=".27777em" rspace=".27777em"
"&ReverseEquilibrium;"               form="infix"   stretchy="true"  lspace=".27777em" rspace=".27777em"
"&RightTriangle;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&RightTriangleBar;"                 form="infix"    lspace=".27777em" rspace=".27777em"
"&RightTriangleEqual;"               form="infix"    lspace=".27777em" rspace=".27777em"
"&Succeeds;"                         form="infix"    lspace=".27777em" rspace=".27777em"
"&SucceedsEqual;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&SucceedsSlantEqual;"               form="infix"    lspace=".27777em" rspace=".27777em"
"&SucceedsTilde;"                    form="infix"    lspace=".27777em" rspace=".27777em"
"&Tilde;"                            form="infix"    lspace=".27777em" rspace=".27777em"
"&TildeEqual;"                       form="infix"    lspace=".27777em" rspace=".27777em"
"&TildeFullEqual;"                   form="infix"    lspace=".27777em" rspace=".27777em"
"&TildeTilde;"                       form="infix"    lspace=".27777em" rspace=".27777em"
"&UpTee;"                            form="infix"    lspace=".27777em" rspace=".27777em"
"&VerticalBar;"                      form="infix"    lspace=".27777em" rspace=".27777em"

"&SquareUnion;"                      form="infix"   stretchy="true"  lspace=".22222em" rspace=".22222em"
"&Union;"                            form="infix"   stretchy="true"  lspace=".22222em" rspace=".22222em"
"&UnionPlus;"                        form="infix"   stretchy="true"  lspace=".22222em" rspace=".22222em"

"-"                                  form="infix"    lspace=".22222em" rspace=".22222em"
"+"                                  form="infix"    lspace=".22222em" rspace=".22222em"
"&Intersection;"                     form="infix"   stretchy="true"  lspace=".22222em" rspace=".22222em"
"&MinusPlus;"                        form="infix"    lspace=".22222em" rspace=".22222em"
"&PlusMinus;"                        form="infix"    lspace=".22222em" rspace=".22222em"
"&SquareIntersection;"               form="infix"   stretchy="true"  lspace=".22222em" rspace=".22222em"

"&Vee;"                              form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"
"&CircleMinus;"                      form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace=".16666em"
"&CirclePlus;"                       form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace=".16666em"
"&Sum;"                              form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"
"&Union;"                            form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"
"&UnionPlus;"                        form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"
"lim"                                form="prefix"  movablelimits="true"  lspace="0em" rspace=".16666em"
"max"                                form="prefix"  movablelimits="true"  lspace="0em" rspace=".16666em"
"min"                                form="prefix"  movablelimits="true"  lspace="0em" rspace=".16666em"

"&CircleMinus;"                      form="infix"    lspace=".16666em" rspace=".16666em"
"&CirclePlus;"                       form="infix"    lspace=".16666em" rspace=".16666em"

"&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=".16666em" rspace=".16666em"

"&Cap;"                              form="infix"    lspace=".16666em" rspace=".16666em"

"&VerticalTilde;"                    form="infix"    lspace=".16666em" rspace=".16666em"

"&Wedge;"                            form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"
"&CircleTimes;"                      form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace=".16666em"
"&Coproduct;"                        form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"
"&Product;"                          form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"
"&Intersection;"                     form="prefix"  largeop="true" movablelimits="true" stretchy="true"  lspace="0em" rspace=".16666em"

"&Coproduct;"                        form="infix"    lspace=".16666em" rspace=".16666em"

"&Star;"                             form="infix"    lspace=".16666em" rspace=".16666em"

"&CircleDot;"                        form="prefix"  largeop="true" movablelimits="true"  lspace="0em" rspace=".16666em"

"*"                                  form="infix"    lspace=".16666em" rspace=".16666em"
"&InvisibleTimes;"                   form="infix"    lspace="0em" rspace="0em"

"&CenterDot;"                        form="infix"    lspace=".16666em" rspace=".16666em"

"&CircleTimes;"                      form="infix"    lspace=".16666em" rspace=".16666em"

"&Vee;"                              form="infix"    lspace=".16666em" rspace=".16666em"

"&Wedge;"                            form="infix"    lspace=".16666em" rspace=".16666em"

"&Diamond;"                          form="infix"    lspace=".16666em" rspace=".16666em"

"&Backslash;"                        form="infix"   stretchy="true"  lspace=".16666em" rspace=".16666em"

"/"                                  form="infix"   stretchy="true"  lspace=".16666em" rspace=".16666em"

"-"                                  form="prefix"   lspace="0em" rspace=".05555em"
"+"                                  form="prefix"   lspace="0em" rspace=".05555em"
"&MinusPlus;"                        form="prefix"   lspace="0em" rspace=".05555em"
"&PlusMinus;"                        form="prefix"   lspace="0em" rspace=".05555em"

"."                                  form="infix"    lspace="0em" rspace="0em"

"&Cross;"                            form="infix"    lspace=".11111em" rspace=".11111em"

"**"                                 form="infix"    lspace=".11111em" rspace=".11111em"

"&CircleDot;"                        form="infix"    lspace=".11111em" rspace=".11111em"

"&SmallCircle;"                      form="infix"    lspace=".11111em" rspace=".11111em"

"&Square;"                           form="prefix"   lspace="0em" rspace=".11111em"

"&Del;"                              form="prefix"   lspace="0em" rspace=".11111em"
"&PartialD;"                         form="prefix"   lspace="0em" rspace=".11111em"

"&CapitalDifferentialD;"             form="prefix"   lspace="0em" rspace=".11111em"
"&DifferentialD;"                    form="prefix"   lspace="0em" rspace=".11111em"

"&Sqrt;"                             form="prefix"  stretchy="true"  lspace="0em" rspace=".11111em"

"&DoubleDownArrow;"                  form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DoubleLongLeftArrow;"              form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DoubleLongLeftRightArrow;"         form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DoubleLongRightArrow;"             form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DoubleUpArrow;"                    form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DoubleUpDownArrow;"                form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DownArrow;"                        form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DownArrowBar;"                     form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DownArrowUpArrow;"                 form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&DownTeeArrow;"                     form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LeftDownTeeVector;"                form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LeftDownVector;"                   form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LeftDownVectorBar;"                form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LeftUpDownVector;"                 form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LeftUpTeeVector;"                  form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LeftUpVector;"                     form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LeftUpVectorBar;"                  form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LongLeftArrow;"                    form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LongLeftRightArrow;"               form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&LongRightArrow;"                   form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&ReverseUpEquilibrium;"             form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&RightDownTeeVector;"               form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&RightDownVector;"                  form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&RightDownVectorBar;"               form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&RightUpDownVector;"                form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&RightUpTeeVector;"                 form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&RightUpVector;"                    form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&RightUpVectorBar;"                 form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&ShortDownArrow;"                   form="infix"    lspace=".11111em" rspace=".11111em"
"&ShortUpArrow;"                     form="infix"    lspace=".11111em" rspace=".11111em"
"&UpArrow;"                          form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&UpArrowBar;"                       form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&UpArrowDownArrow;"                 form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&UpDownArrow;"                      form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&UpEquilibrium;"                    form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"
"&UpTeeArrow;"                       form="infix"   stretchy="true"  lspace=".11111em" rspace=".11111em"

"^"                                  form="infix"    lspace=".11111em" rspace=".11111em"

"&lt;>"                              form="infix"    lspace=".11111em" rspace=".11111em"

"'"                                  form="postfix"  lspace=".11111em" rspace="0em"

"!"                                  form="postfix"  lspace=".11111em" rspace="0em"
"!!"                                 form="postfix"  lspace=".11111em" rspace="0em"

"~"                                  form="infix"    lspace=".11111em" rspace=".11111em"

"@"                                  form="infix"    lspace=".11111em" rspace=".11111em"

"--"                                 form="postfix"  lspace=".11111em" rspace="0em"
"--"                                 form="prefix"   lspace="0em" rspace=".11111em"
"++"                                 form="postfix"  lspace=".11111em" rspace="0em"
"++"                                 form="prefix"   lspace="0em" rspace=".11111em"

"&ApplyFunction;"                    form="infix"    lspace="0em" rspace="0em"

"?"                                  form="infix"    lspace=".11111em" rspace=".11111em"

"_"                                  form="infix"    lspace=".11111em" rspace=".11111em"

"&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"

  ------------------------------------------------------------------------
Up: Table of Contents