mstack is used to lay out rows of numbers that are aligned on each digit.
This is common in many elementary math notations such as 2D addition, subtraction, and multiplication.
The children of an
mstack represent rows, or groups of them,
to be stacked each below the previous row; there can be any number of rows.
msrow represents a row;
msgroup groups a set of rows together
so that their horizontal alignment can be adjusted together;
mscarries represents a set of carries to be
applied to the following row;
msline represents a line separating rows.
Any other element is treated as if implicitly surrounded by
Each row contains ‘digits’ that are placed into columns.
stackalign attribute together with
shift attributes of
to which column a character belongs.
The width of a column is the maximum of the widths of each ‘digit’ in that
column — carries do not participate in the
width calculation; they are treated as having zero width.
If an element is too wide to fit into a column, it overflows into the adjacent
column(s) as determined by the
If there is no character in a column, its width is taken to be the width of a 0
in the current language (in many fonts, all digits have the same width).
mstack elements accept the attributes listed
below in addition to those specified in Section 3.1.10 Mathematics style attributes common to presentation elements.
|align||("top" | "bottom" | "center" | "baseline" | "axis"), rownumber?||axis|
specifies the vertical alignment of the
|stackalign||"left" | "center" | "right" | "decimalpoint"||decimalpoint|
specifies which column is used to horizontally align the rows.
For "left", rows are aligned flush on the left;
similarly for "right", rows are flush on the right;
for "center", the middle column (or to the right of the middle, for an even number of columns)
is used for alignment.
Rows with non-zero
|charalign||"left" | "center" | "right"||center|
|specifies the horizontal alignment of digits within a column. If the content is larger than the column width, then it overflows the opposite side from the alignment. For example, for "right", the content will overflow on the left side; for center, it overflows on both sides.|
|charspacing||length | "loose" | "medium" | "tight"||1|
|specifies the amount of space to put between each column.|
|free components MathML flex GWT LaTeX Editor Air plugin MathML flash math Mathematics Equation Widget Mobile flash LaTeX Mathematics FREE Apple iOS OMML Android iPad iPhone Microsoft Word Latex MathML OMML Free|