E Schema

§ Module LaTeXML-math

Inline.class

The math module defines LaTeXML's internal representation of mathematical content, including the basic math container Math. This element is considered inline, as it will be contained within some other block-level element, eg. equation for display-math.

|= Math

Math.class

This class defines the content of the Math element. Additionally, it could contain MathML or OpenMath, after postprocessing.

==XMath

XMath.class

These elements comprise the internal math representation, being the content of the XMath element.

== (XMApp  |  XMTok  |  XMRef  |  XMHint  |  XMArg  |  XMWrap  |  XMDual  |  XMText  |  XMArray)

Math

Outer container for all math. This holds the internal XMath representation, as well as image data and other representations.

attributes:

Common.attributes, Imageable.attributes

included

mode

display or inline mode.

= (`display'  |  `inline')

tex

reconstruction of the TeX that generated the math.

content-tex

more semantic version of tex.

text

a textified representation of the math.

content: Math.class*

XMath.attributes

== Attributes:

role

The role that this item plays in the Grammar.

open

an open delimiter to enclose the object;

close

an close delimiter to enclose the object;

argopen

an open delimiter to enclose the argument list, when this token is applied to arguments with XMApp.

argclose

a close delimiter to enclose the argument list, when this token is applied to arguments with XMApp.

separators

characters to separate arguments, when this token is applied to arguments with XMApp. Can be multiple characters for different argument positions; the last character is repeated if there aren't enough.

punctuation

trailing (presumably non-semantic) punctuation.

possibleFunction

an annotation placed by the parser when it suspects this token may be used as a function.

XMath

Internal representation of mathematics.

attributes: Common.attributes

content: XMath.class*

XMTok

General mathematical token.

attributes:

Common.attributes, XMath.attributes, ID.attributes

included

name

The name of the token, typically the control sequence that created it.

meaning

A more semantic name corresponding to the intended meaning, such as the OpenMath name.

omcd

The OpenMath CD for which meaning is a symbol.

style

Various random styling information. NOTE This needs to be made consistent.

font

The font, size a used for the symbol.

size

The size for the symbol, not presumed to be meaningful(?)

color

The color (CSS format) for the symbol, not presumed to be meaningful(?)

scriptpos

An encoding of the position of this token as a sub/superscript, used to handle aligned and nested scripts, both pre and post. It is a concatenation of (pre|mid|post), which indicates the horizontal positioning of the script with relation to it's base, and a counter indicating the level. These are used to position the scripts, and to pair up aligned sub- and superscripts. NOTE: Clarify where this appears: token, base, script operator, apply?

thickness

NOTE: How is this used?

content: #PCDATA*

XMApp

Generalized application of a function, operator, whatever (the first child) to arguments (the remaining children). The attributes are a subset of those for XMTok.

attributes:

Common.attributes, XMath.attributes, ID.attributes

included

name

The name of the token, typically the control sequence that created it.

meaning

A more semantic name corresponding to the intended meaning, such as the OpenMath name.

scriptpos

An encoding of the position of this token as a sub/superscript, used to handle aligned and nested scripts, both pre and post.

content: XMath.class*

XMDual

Parallel markup of content (first child) and presentation (second child) of a mathematical object. Typically, the arguments are shared between the two branches: they appear in the content branch, with id's, and XMRef is used in the presentation branch

attributes: Common.attributes, XMath.attributes, ID.attributes

content: XMath.classXMath.class

XMHint

Various spacing items, generally ignored in parsing. The attributes are a subset of those for XMTok.

attributes:

Common.attributes, XMath.attributes, ID.attributes

included

name
meaning
style

content: empty

XMText

Text appearing within math.

attributes: Common.attributes, XMath.attributes, ID.attributes

content: (#PCDATA  |  Inline.class  |  Misc.class)*

XMWrap

Wrapper for a sequence of tokens used to assert the role of the contents in its parent. This element generally disappears after parsing. The attributes are a subset of those for XMTok.

attributes:

Common.attributes, XMath.attributes, ID.attributes

included

name
meaning

A more semantic name corresponding to the intended meaning, such as the OpenMath name.

style

content: XMath.class*

XMArg

Wrapper for an argument to a structured macro. It implies that its content can be parsed independently of its parent, and thus generally disappears after parsing.

attributes:

Common.attributes, XMath.attributes, ID.attributes

included

rule

content: XMath.class*

XMRef

Structure sharing element typically used in the presentation branch of an XMDual to refer to the arguments present in the content branch.

attributes: Common.attributes, XMath.attributes, ID.attributes, IDREF.attributes

content: empty

XMArray

Math Array/Alignment structure.

attributes:

Common.attributes, XMath.attributes, ID.attributes

included

name
meaning
style
vattach

= (`top'  |  `bottom')

width

content: XMRow*

XMRow

A row in a math alignment.

attributes: Common.attributes

content: XMCell*

XMCell

A cell in a row of a math alignment.

attributes:

Common.attributes

included

colspan

indicates how many columns this cell spans or covers.

=nonNegativeInteger

rowpan

indicates how many rows this cell spans or covers.

=nonNegativeInteger

align

specifies the alignment of the content.

width

specifies the desired width for the column.

border

records a sequence of t or tt, r or rr, b or bb and l or ll for borders or doubled borders on any side of the cell.

thead

whether this cell corresponds to a table head or foot.

=boolean

content: XMath.class*