Presentation Element Descriptions
1. Token Elements
| Name: |
mi |
| Usage: |
<mi> cdata </mi> |
Description:
An identifier, i.e. a variable name, function name, constant, etc. The
character data in the mi can either be ASCII characters, or entity
references. By default, if an mi contains a single character, it is
displayed in italics. Multi-character strings are displayed in an upright
font.
Attributes:
| Name |
Values |
Default |
| mathvariant |
normal | bold | italic | bold-italic | double-struck
| bold-fraktur | script | bold-script |
fraktur | sans-serif | bold-sans-serif | sans-serif-italic
| sans-serif-bold-italic | monospace |
depends on content |
| mathsize |
small | normal | big | number v-unit |
inherited |
| mathbackground |
rgb | #rrggbb | html-color-name |
inherited |
| mathcolor |
rgb | #rrggbb | html-color-name |
inherited |
| fontstyle (deprecated) |
normal | italic |
depends on content |
| fontsize (deprecated) |
number v-unit |
inherited |
| fontweight (deprecated) |
normal | bold |
inherited |
| fontfamily (deprecated) |
string |
inherited |
| color (deprecated) |
#rrggbb | #rgb | html-color-name |
inherited |
Notes:
MathML 2.0 deprecates the fontfamily, fontstyle, fontsize,
fontweight and color attributes. Instead, style
properties should be set using mathvariant, mathsize,
mathcolor and mathbackground attributes. WebEQ 3
will render both kinds of attributes, but only generates the new MathML 2.0
attributes.
The fontfamily attribute is quite system dependent. Safe,
widely recognized values are "TimesRoman" and "Helvetica".
The value of the color, mathcolor and mathbackground
attributes may be specified in one of three ways: Using two hexadecimal digits
for the red, blue and green color components, using one digit for each color
component, or using an HTML 4.0 color name. Allowed color names are Black,
Green, Silver, Lime, Gray, Olive, White, Yellow, Maroon, Navy, Red, Blue,
Purple, Teal, Fuchsia, and Aqua. Hex digits and color
names are not case sensitive.
| Name: |
mn |
| Usage: |
<mn> cdata </mn> |
Description:
A numeric literal, i.e., a string representing a number. By default, the
character data contained in an mn is displayed in an upright font. Note
that as a consequence, negative or complex numbers, or fractions should not be
represented with mns. For example, to properly render, -1
should be marked up as <mrow><mo>-<mo><mn>1<mn><mrow>.
Attributes:
| Name |
Values |
Default |
| mathvariant |
normal | bold | italic | bold-italic | double-struck
| bold-fraktur | script | bold-script |
fraktur | sans-serif | bold-sans-serif | sans-serif-italic
| sans-serif-bold-italic | monospace |
depends on content |
| mathsize |
small | normal | big | number v-unit |
inherited |
| mathbackground |
rgb | #rrggbb | html-color-name |
inherited |
| mathcolor |
rgb | #rrggbb | html-color-name |
inherited |
| fontstyle (deprecated) |
normal | italic |
depends on content |
| fontsize (deprecated) |
number v-unit |
inherited |
| fontweight (deprecated) |
normal | bold |
inherited |
| fontfamily (deprecated) |
string |
inherited |
| color (deprecated) |
#rrggbb | #rgb | html-color-name |
inherited |
Notes:
For font related attributes, see the notes for mi.
| Name: |
mo |
| Usage: |
<mo> cdata </mo> |
Description:
An operator, fence, separator, or some accents. The distinguishing feature of
an mo is that it has a much richer set of attributes than other token
elements. WebEQ looks the content of an mo element up in a built-in
operator dictionary in order to set default attribute values on a case-by-case
basis.
Attributes:
| Name |
Values |
Default |
| mathvariant |
normal | bold | italic | bold-italic | double-struck
| bold-fraktur | script | bold-script |
fraktur | sans-serif | bold-sans-serif | sans-serif-italic
| sans-serif-bold-italic | monospace |
depends on content |
| mathsize |
small | normal | big | number v-unit |
inherited |
| mathbackground |
rgb | #rrggbb | html-color-name |
inherited |
| mathcolor |
rgb | #rrggbb | html-color-name |
inherited |
| fontstyle (deprecated) |
normal | italic |
depends on content |
| fontsize (deprecated) |
number v-unit |
inherited |
| fontweight (deprecated) |
normal | bold |
inherited |
| fontfamily (deprecated) |
string |
inherited |
| color (deprecated) |
#rrggbb | #rgb | html-color-name |
inherited |
| form |
prefix |infix | postfix |
determined by position in mrow |
| fence |
true | false |
false |
| separator |
true | false |
false |
| accent |
true | false |
set by dictionary |
| lspace |
number h-unit |
set by dictionary |
| rspace |
number h-unit |
set by dictionary |
| stretchy |
true | false |
set by dictionary |
| symmetric |
true | false |
true |
| maxsize |
number [h-unit | v-unit] | infinity |
infinity |
| minsize |
number [h-unit | v-unit] |
0 |
| largeop |
true | false |
set by dictionary |
| movablelimits |
true | false |
set by dictionary |
Notes:
For the font related attributes, see the notes for mi.
The form attribute can be used to determine which entry in the
operator dictionary WebEQ should use for an operator with several forms. For
example, the '-' sign has both a prefix and an infix form, with different
spacing around them. By default, WebEQ will use the position of an mo
in an mrow to guess the form -- if it is first, it is prefix, if it is
last, it is postfix, and otherwise it is infix.
The fence, and separator attributes do not affect
the rendering of the mo in WebEQ.
The accent attribute determines whether the operator should be
treated by default as an accent when used as an underscript or overscript. The
value of this attribute is passed to the accent attribute in munder,
mover, and munderover.
The lspace and rspace attributes specify the
spacing to add to the left and right of an operator. The recommended unit for
these attributes is "em", which is the width of an 'M' in the
current font.
The attributes stretchy, symmetric, minszie
and maxsize determines how an operator may stretch. If symmetric='true',
a delimiter character like a parenthesis will remain symmetric around the
axis. You might set this false if you wanted the parentheses to float with a
top-aligned matrix, for example. The size attributes are specified as
multiples of the normal size of the character. Thus, setting maxsize='2'
would limit the stretching of a parenthesis to twice its normal size.
The characters which WebEQ can stretch vertically are (, ), [, ], {, }, |,
angle brackets, norm bars, and the floor and ceiling characters. The
characters WebEQ can stretchy horizontally are the mathematical accents bar,
vector, hat, check, upper and lower curly braces, and tilde and
The largeop and movablelimits attributes control
how sums, products, and similar notations are displayed. The largeop
attribute instructs WebEQ to use a large version of an operator when it is
rendered in display style (see mstyle).
The operators which WebEQ has a large version of are sum, prod,
int, iint, iiint, oint, otimes,
oplus, cup, cap, wedge,
and coprod.
The movablelimits attribute determines whether WebEQ should
render limits attached to an operator using the munderover element in
different positions depending on whether the expression is in display style or
in-line style. If movablelimits='true' and an expression is
in-line, the limits are rendered as subscripts and superscripts.
| Name: |
mtext |
| Usage: |
<mtext> cdata </mtext> |
Description:
Plain text. All characters appear in an upright font. Internal whitespace is
collapsed, so you must use entity
references to spaces if you want addition space.
Attributes:
| Name |
Values |
Default |
| mathvariant |
normal | bold | italic | bold-italic | double-struck
| bold-fraktur | script | bold-script |
fraktur | sans-serif | bold-sans-serif | sans-serif-italic
| sans-serif-bold-italic | monospace |
depends on content |
| mathsize |
small | normal | big | number v-unit |
inherited |
| mathbackground |
rgb | #rrggbb | html-color-name |
inherited |
| mathcolor |
rgb | #rrggbb | html-color-name |
inherited |
| fontstyle (deprecated) |
normal | italic |
depends on content |
| fontsize (deprecated) |
number v-unit |
inherited |
| fontweight (deprecated) |
normal | bold |
inherited |
| fontfamily (deprecated) |
string |
inherited |
| color (deprecated) |
rgb | #rrggbb | html-color-name |
inherited |
Notes:
For font related attributes, see the notes for mi.
| Name: |
mspace |
| Usage: |
<mspace/> |
Description:
Displays as blank space. The dimensions of an mspace box must be set
using attributes. One can also set the dsi:filled attribute to true
to fill the space with the color set by the color attribute.
Attributes:
| Name |
Values |
Default |
| width |
number h-unit |
0 |
| height |
number v-unit |
0 |
| depth |
number v-unit |
0 |
| color (*) |
rgb | #rrggbb | html-color-name |
inherited |
| filled (*) |
true | false |
false |
Notes:
(*) The attributes color and filled are specific to
WebEQ and are not part of the MathML 1.0 specification.
The height is distance from the baseline to the top of the
space, and the depth is the distance that the space extends below
the baseline. The attribute values can be negative.
| Name: |
ms |
| Usage: |
<ms> cdata </ms> |
Description:
The string of characters and entity references in the cdata is rendered
with quotation characters around it. These quotation characters are determined
by the values of the lquote and rquote attributes.
The ms element is intended for representing string literals in computer
languages and computer algebra systems.
Attributes:
| Name |
Values |
Default |
| mathvariant |
normal | bold | italic | bold-italic | double-struck
| bold-fraktur | script | bold-script |
fraktur | sans-serif | bold-sans-serif | sans-serif-italic
| sans-serif-bold-italic | monospace |
depends on content |
| mathsize |
small | normal | big | number v-unit |
inherited |
| mathbackground |
rgb | #rrggbb | html-color-name |
inherited |
| mathcolor |
rgb | #rrggbb | html-color-name |
inherited |
| fontstyle (deprecated) |
normal | italic |
depends on content |
| fontsize (deprecated) |
number v-unit |
inherited |
| fontweight (deprecated) |
normal | bold |
inherited |
| fontfamily (deprecated) |
string |
inherited |
| color (deprecated) |
rgb | #rrggbb | html-color-name |
inherited |
| lquote |
character |
" |
| rquote |
character |
" |
Notes:
For font related attributes, see the notes for mi.
| Name: |
mglyph |
| Usage: |
<mglyph alt="..." fontfamily="..."
index="..."/> |
Description:
The mglyph element is used to directly access glyphs in a font. You
must supply the fontfamily name and glyph index within the font, as well as an
alternative text name to display if the fontfamily or glyph is not available
on a particular system.
Attributes:
| Name |
Values |
Default |
| alt |
string |
required |
| fontfamily |
string | CSS font descriptor |
required |
| index |
integer |
required |
Notes:
mglyph is not supported by WebEQ.
2. General Layout
| Name: |
mrow |
| Usage: |
<mrow> [ <child_1> <child_2>...
] </mrow> |
Description:
Horizontal row of expressions aligned on the baseline. Wrapping an mrow
around an element or elements is always permissible, and often necessary in
order to group terms together, for example, for use in a script, etc. An empty
mrow element may occasionally be useful as a placeholder in other
layout elements.
Attributes:
None.
| Name: |
mfrac |
| Usage: |
<mfrac> <numerator> <denominator>
</mfrac> |
Description:
Displays as a fractions. By setting the linethickness attribute
to zero, mfrac can also be used for binomial coefficients, Legendre
symbols, etc.
Attributes:
| Name |
Values |
Default |
| linethickness |
number |
1 |
Notes:
In WebEQ, the units of for the linethickness attribute are pixels, adjusted
slightly for current fontsize. Setting linethickness='0' turns the line off.
| Name: |
msqrt |
| Usage: |
<msqrt> [ <child_1> <child_2>
... ] </msqrt> |
Description:
Encloses its children in an implied mrow and renders them under a radical,
i.e. the square root sign. It is valid to create an msqrt with no
children, but it will display badly in WebEQ.
Attributes:
None.
| Name: |
mroot |
| Usage: |
<mroot> <base> <index> </mroot> |
Description:
Displays as an nth root (i.e. cube root). Requires exactly two
children. The first child element appears under the radical sign, and the
second child renders in front and above, in the n position. The index
element can be any schema, not just a number.
Attributes:
None.
| Name: |
mstyle |
| Usage: |
<mstyle> [ <child_1> <child_2>...
] </mstyle> |
Description:
The mstyle element displays its children in a horizontal row aligned on
the baseline, just like an mrow. The main difference is that any MathML
attribute can be set with an mstyle element.
When an attribute is set using mstyle, the default value of the
attribute in the mstyle element's environment is also changed.
Since the environment is inherited by the mstyle's children, the change
affects all of the elements contained in the mstyle, including both
it's direct children, and all the elements which they might contain
indirectly.
In addition to the attributes of other MathML elements, there are a handful
of attributes, listed below, which can only be set using an mstyle
element. The color and background attributes are
included because mstyle is the only way to set these values for most
elements, even though they can be set directly on tokens.
Attributes:
| Name |
Values |
Default |
| scriptlevel |
['+' | '-'] integer |
inherited |
| displaystyle |
true | false |
inherited |
| scriptsizemultiplier |
number |
inherited |
| scriptminsize |
number v-unit |
8 pt |
| color |
rgb | #rrggbb | html-color-name |
inherited |
| background |
rgb | #rrggbb | html-color-name |
inherited |
Notes:
In WebEQ, two parameters control the dominant rendering style for
expressions. In a WebEQ equation, three point sizes are used, a plain text size,
a sub/superscript size, and a smaller size for scripts on scripts, etc. The scriptlevel
attribute sets which of these sizes will be the base size for an expression
(0=text, 1=script, 2=scriptscript). The script level mostly determines the font,
but is also determines some other minor spacing properties.
Independently of the script level, the displaystyle attribute
determines whether the typesetting conventions for in-line formulas or displayed
formulas should be used for an expression. In display style, expressions are
generally laid out with a little more vertical space. However, the main effect
is that large versions for operators like sums and integrals are used. Another
important effect is that in in-line style, movable limits attached with munderover
elements display in the sub/superscript positions to save vertical space.
The scriptsizemultiplier and scriptminsize
attributes are ignored by WebEQ.
The color and background attributes function in the
same way they do with token elements, such as mi.
The MathML 1.0 specification allows the attribute background to
have the value transparent. This is not implemented in WebEQ.
| Name: |
merror |
| Usage: |
<merror> [ <child_1> <child_2>...
] </merror> |
Description:
Displays as an error. In WebEQ, the contents of an merror are rendered
in red. This element is intended for the use of software generating MathML
automatically from other input, and authors should never need to use it.
Attributes:
None.
| Name: |
mpadded |
| Usage: |
<mpadded> [ <child_1> <child_2>...
] </mpadded> |
Description:
Displays an expression with "padding" around it. The amount of space
padding the expression is set using attributes. The primary use of this
element is in connection with alignment and spacing of captions, labels, etc.
If an mpadded element has more than one child, the children are
treated the same as children of an mrow.
Attributes:
| Name |
Values |
Default |
| width |
[+ | -] unsigned-number (% [pseudo-unit]
| pseudo-unit | h-unit) |
same as content |
| height |
[+ | -] unsigned-number (% [pseudo-unit]
| pseudo-unit | v-unit) |
same as content |
| depth |
[+ | -] unsigned-number (% [pseudo-unit]
| pseudo-unit | v-unit) |
same as content |
| lspace |
[+ | -] unsigned-number (% [pseudo-unit]
| pseudo-unit | h-unit) |
0 |
Notes:
A pseudo-unit may be one of the four attribute names, width,
lspace, height, or depth.
The values of the padding dimensions can either be expressed as a multiple
or a percentage of one of the "unpadded" dimensions of the content.
Thus height='200% width' and height='2 width' set the height to twice the
width. If a percentage is specified without a unit at the end, the percentage
applies to the dimension being set. If no percentage or unit is specified, the
attribute value is taken to be in 'ems' for horizontal dimensions, and 'exs'
for vertical dimensions.
By default, the contents of an mpadded are rendered flush with the
left edge of the mpadded box. Therefore, increasing the width
attribute by itself adds padding on the right edge of an expression. Thus, to
pad an expression on both sides, a construction like lspace='10% width' and
width='+20% width' is necessary.
Bug:
WebEQ uses attribute values beginning with a + or - sign incorrectly. WebEQ
sets the value of the padding dimension directly to the amount of the
attribute value. According to the MathML 1.0 specification, the value should
increase or decrease the current dimension by the amount given in the
attribute value.
| Name: |
mphantom |
| Usage: |
<mphantom> [ <child_1> <child_2>...
] </mphantom> |
Description:
Turns its children invisible. In other words, mphantom renders as a
space of the same size as its contents. Its main purpose is to help with
alignment and centering. For example, an arrow with a label should usually
center on the arrow. One way to accomplish this is to put an invisible label
in an mphantom on the other side of the arrow to balance it, for
centering purposes.
In WebEQ, the mphantom can also be used in another way. When the dsi:overlap
attribute is set, WebEQ overlaps the content of the mphantom on top of
the surrounding expressions. The content is displayed in this case. The
surrounding expressions render as if the mphantom were not there.
Attributes:
| Name |
Values |
Default |
| overlap (*) |
l | r | u | d |
Children are invisible. |
Notes:
(*) The attribute overlap is specific to WebEQ and is not part of the
MathML 1.0 specification.
The values of the overlap attribute are 'l', 'r', 'u' or 'd', and
specify which direction the mphantom should overlap.
| Name: |
mfenced |
| Usage: |
<mfenced> [ <child_1> <child_2>...
] </mfenced> |
Description:
Displays contents in parentheses, separated by commas. Note that you may have
to group several expressions together into a single mrow if you just
want stretchy parens around them.
The delimiter characters and separator characters can be changed with
attributes.
Attributes:
| Name |
Values |
Default |
| open |
cdata |
( |
| close |
cdata |
) |
| separators |
cdata (one or more) |
, |
Note:
The value of the separators attribute is a list of characters.
They are used in order between the children of the mfenced. If there
are extra separators in the list they are ignored, and if there are too few,
the last is repeated. Thus, if separators=';,' and there are three children x,
y, and z, they would be displayed as (x; y, z).
If there was a fourth child w, it would render as (x; y, z,
w).
| Name: |
menclose |
| Usage: |
<menclose> <child> </menclose> |
Description:
The menclose element renders its content inside the enclosing notation
specified by its notation attribute.
Attributes:
| Name |
Values |
Default |
| notation |
longdiv | actuarial | radical |
longdiv |
Note:
Not implmented in WebEQ.
3. Scripts and Limits
| Name: |
msub |
| Usage: |
<msub> <base> <subscript>
</msub> |
Description:
Displays a base with a subscript. By default, the msub element
increments the scriptlevel attribute and sets displaystyle
to false in the subscript element's environment.
Attributes:
| Name |
Values |
Default |
| subscriptshift |
number v-unit |
computed automatically |
Notes:
The subscriptshift attribute specifies the minimum amount to
lower the subscript. In WebEQ, subscriptshift cannot be decreased
below a minimum value automatically computed from the context.
| Name: |
msup |
| Usage: |
<msup> <base> <superscript>
</msup> |
Description:
Displays a base with a superscript. By default, the msup element
increments the scriptlevel attribute and sets displaystyle
to false in the superscript element's environment.
Attributes:
| Name |
Values |
Default |
| superscriptshift |
number v-unit |
computed automatically |
Notes:
The superscriptshift attribute specifies the minimum amount to
raise the superscript. In WebEQ, superscriptshift cannot be
decreased below a minimum value automatically computed from the context.
| Name: |
msubsup |
| Usage: |
<msubsup>
<base> <subscript> <superscript>
</msubsup> |
Description:
Displays a base with both a subscript and a superscript. Note that the
subscript and superscript will be vertically aligned (subject to an italic
correction if necessary). Scripts will not be vertically aligned when attached
by nested msub/msup constructions.
By default, the msubsup element increments the scriptlevel
attribute and sets displaystyle to false in the script elements'
environments.
Attributes:
| Name |
Values |
Default |
| subscriptshift |
number v-unit |
computed automatically |
| superscriptshift |
number v-unit |
computed automatically |
Notes:
The subscriptshift attribute specifies the minimum amount to
lower the subscript, and the superscriptshift attribute specifies
the minimum amount to raise the superscript. In WebEQ, the subscriptshift
and superscriptshift values cannot be decreased below a minimum
value automatically computed from the context.
| Name: |
munder |
| Usage: |
<munder> <base> <underscript>
</munder> |
Description:
Displays a base with an underscript. By default, the munder element
increments the scriptlevel attribute and sets displaystyle
to false in the underscript element's environment.
An underscript attached to an mo whose movablelimits
attribute is set to true will display as a subscript if displaystyle
is false.
When accentunder is set to true, the script element is
rendered closer to the base element, and does not increment the scriptlevel.
Attributes:
| Name |
Values |
Default |
| accentunder |
true | false |
false |
| Name: |
mover |
| Usage: |
<mover> <base> <overscript>
</mover> |
Description:
Displays a base with an overscript. By default, the mover element
increments the scriptlevel attribute and sets displaystyle
to false in the overscript element's environment.
An overscript attached to an mo whose movablelimits
attribute is set to true will display as a superscript if displaystyle
is false.
When accent is set to true, the script element is rendered
closer to the base element, and does not increment the scriptlevel.
Attributes:
| Name |
Values |
Default |
| accent |
true | false |
false |
| Name: |
munderover |
| Usage: |
<munderover>
<base> <underscript> <overscript>
</munderover> |
Description:
Displays a base with both an underscript and overscript. Note that the scripts
will be vertically aligned, subject to an italic correction if necessary. If
nested munder / mover elements are used, the italic correction
of the outer script is based on the inner construction as a whole, and may not
give the desired result.
By default, the munderover element increments the scriptlevel
attribute and sets displaystyle to false in the script elements'
environments.
The munderover element is commonly used to attach limits to things
like sum and product operators. Scripts attached to an mo whose movablelimits
attribute is set to true will display as sub/superscripts if displaystyle
is false.
When accent or accentunder is set to true, the
corresponding script element is rendered closer to the base element, and does
not increment the scriptlevel.
Attributes:
| Name |
Values |
Default |
| accent |
true | false |
false |
| accentunder |
true | false |
false |
| Name: |
mmultiscripts |
| Usage: |
<mmultiscripts>
<base>
[ <sub1> <sup1> ... ]
[<mprescripts/> <presub1> <presup1>
... ]
</mmultiscripts> |
Description:
Displays as a base with "tensor indices". Tensor indices are pairs
of vertically aligned scripts, both in front of the base and in the normal
scripts positions following the base. Normally, with nested msubsup
elements, the superscripts creep upward and subscripts creep downward, since
each new msubsup will try to position the new scripts to extend
slightly above and below the base. By using a mmultiscripts element,
one can attach as many sub/superscript pairs as necessary while keeping the
subscripts and superscripts aligned along the same baselines.
Subscripts and superscript must be given in pairs in an mmultiscripts.
If some script position should be left blank, the special empty element <none/>
can be used as a place holder.
If prescripts are to be attached to the base, they must be given in
pre-subscript and pre-superscript pairs following the special empty element <mprescripts/>.
Columns of prescripts are specified from left to right. Again, <none/>
can be used as a place holder in script positions that should be left blank.
The special empty elements <mprescripts/> and <none/>
are only used inside the <mmultiscripts> tag. WebEQ will generate
an error if they appear elsewhere.
Note that prescripts come after the postscripts because they are used
relatively infrequently, and they are easy to omit this way.
Attributes:
| Name |
Values |
Default |
| subscriptshift |
number v-unit |
computed automatically |
| superscriptshift |
number v-unit |
computed automatically |
Notes:
In WebEQ, the subscriptshift and superscriptshift
values cannot be decreased beyond a minimum value automatically computed from
the context.
Bug:
WebEQ does not recognize the subscriptshift and superscriptshift
attributes at this time.
4. Tables
| Name: |
mtable |
| Usage: |
<mtable> [ <child_1> <child_2>
... ] </mtable> |
Description:
Displays as a table. All the children elements of an mtable element
are expected to be mtr elements. Any elements which aren't mtr's
are internally wrapped in an "inferred" mtr by WebEQ.
MathML tables accept a number of attributes which control the alignment
properties of rows and cells, and the drawing of separator lines between
rows and columns and frames around the table. The mtable element also
accepts several parameters related to a specialized MathML alignment
mechanism which is not currently implemented in WebEQ.
The MathML table model is quite rich. Rows and columns do not all need to
have the same number of entries, and individual cells can span several rows
and columns. For details about how MathML tables are laid out in WebEQ, see
the notes for the mtd
element.
Attributes:
| Name |
Values |
Default |
| align |
(top | bottom | center | baseline | axis) [rownumber] |
axis |
| rowalign |
(top | bottom | center | baseline | axis)+ |
baseline |
| columnalign |
(left | center | right)+ |
center |
| rowspacing |
(number v-unit)+ |
1 ex |
| columnspacing |
(number h-unit)+ |
.8 em |
| rowlines |
(none | solid | dashed)+ |
none |
| columnlines |
(none | solid | dashed)+ |
none |
| frame |
none | solid | dashed |
none |
| framespacing |
number h-unit number v-unit |
0.4em 0.5ex |
| equalrows |
true | false |
true |
| equalcolumns |
true | false |
true |
| groupalign |
group-alignment-list-list |
{left} |
| alignmentscope |
(true | false)+ |
true |
| displaystyle |
true | false |
false |
| side |
left | right | leftoverlap |
rightoverlap |
right |
| minlabelspacing |
number h-unit |
0.8em |
Notes:
The align attribute specifies the alignment of the table as a
whole relative to the surrounding baseline. The value specifies what part of
the table should align with the baseline. Thus align='top' puts the top of
the table on the baseline. If a row number is given, that part of the
specified row is aligned with the baseline. Thus align='baseline 4' aligns
the baseline of the 4th row with the baseline of the surrounding text.
The rowalign and columnalign attributes specify
the default alignment for cells within rows or columns respectively. These
attribute values can be given as lists, with each entry in the list setting
the value for the corresponding row. If there are fewer entries in a list
that rows/columns in a table, the last value is repeated. Thus columnalign="left
center" aligns the cells of the first column on the left, and centers
all the others.
The rowlines, columnlines, rowspacing
and columnspacing attributes may all be given lists for values.
The list entries in the line-related attribute values specify whether a
solid, dashed, or no separator line should be drawn in the corresponding
position. Similarly, the list entries in the space-related attributes set
the size of the corresponding inter-row and inter-column spaces. If there
are fewer list entries than are needed, the last value is repeated.
The frame and framespacing attributes are
analogous the row/column line and spacing attributes. The value of the frame
attribute determines what kind of a frame will be drawn around the table.
The value of the framespacing attribute is a pair of numbers
giving the spacing between the frame and the sides, and top and bottom of
the table.
The equalrows and equalcolumns attributes
determine whether WebEQ pads rows and columns as needed to insure they all
have the same width and height.
The groupalign and alignmentscope attributes
are ignored by WebEQ. For more information about how these attributes are
used in MathML, see the notes for the maligngroup
element.
WebEQ also ignores the displaystyle attribute, which is
intended as an easy way to set this attribute on all the entries in the
table. In WebEQ, this must be accomplished in the usual way with an mstyle
element.
The side and minlabelspacing attributes are
also unimplemented.
| Name: |
mtr |
| Usage: |
<mtr> [ <child_1> <child_2>
... ] </mtr> |
Description:
Displays as a table row. All children of an mtr element are expected
to be mtd elements. If WebEQ encounters an element which is not,
internally it will wrap the element in an "inferred" mtd.
An mtr is only allowed to appear within an mtable. If WebEQ
encounters one elsewhere, it will generate an error.
The attributes on an mtd are used to override values inherited
from the surrounding mtable.
Attributes:
| Name |
Values |
Default |
| rowalign |
(top | bottom | center | baseline | axis)+ |
inherited |
| columnalign |
(left | center | right)+ |
inherited |
| groupalign |
group-alignment-list-list |
inherited |
Notes:
See the notes for mtable
and mgroupalign
for more details about attribute values.
| Name: |
mtd |
| Usage: |
<mtd> [ <child_1> <child_2>
... ] </mtd> |
Description:
Displays as a cell in a table. The mtd element is only allowed to
appear within mtr elements. If WebEQ encounters one elsewhere, an
error is generated.
By setting attributes for an individual mtd element, the values
inherited from mtable and mtr can be overridden. Attributes
can also be used to specify that a table cell should span multiple rows or
columns. This is useful for table headings.
Attributes:
| Name |
Values |
Default |
| rowspan |
number |
1 |
| columnspan |
number |
1 |
| rowalign |
(top | bottom | center | baseline | axis)+ |
baseline |
| columnalign |
(left | center | right)+ |
center |
| groupalign |
group-alignment-list |
{left} |
Notes:
The rowspan and columnspan attributes determine
how many rows and columns a table cell should occupy. What the attribute
values mean is fairly self-explanatory. This difficulty lies in
understanding what happens to the surrounding cells.
WebEQ lays out tables by placing table cells in a large, imaginary grid.
The cells are placed in a single, sequential pass, working through the cells
in the first mtr from left to right, then through the cells in the
second mtr, and so on.
WebEQ places cells from the ith mtr in the ithe row
of the imaginary grid. As it works through an mtrs children, it
places each cell in the first available space on the corresponding
imaginary grid row. Note that because cells can span multiple rows and
columns, cells from the previous grid rows can protrude into the current
one, making some cells in the current row unavailable.
When WebEQ places a cell which spans multiple rows or columns, it
interprets those dimensions as extending to the right an down. In other
words, WebEQ actually places the upper left corner of a spanning cell in the
first available grid cell of the current grid row.
When WebEQ finishes placing cells, it goes around padding the right and
bottom edges with empty cells as necessary, so that the final result is
rectangular.
See the notes for mtable
and mgroupalign
for more details about the other attribute values.
| Name: |
maligngroup |
| Usage: |
<maligngroup/> |
Description:
Indicates the start of a new alignment group in a table column.
MathML contains a mechanism for vertical alignment of groups of terms in a
table columns. The individual groups can be aligned left, center, right, or
to an arbitrarily positioned malignmark element within the group.
The centering information for each alignment group can be specified with
the groupalign attribute. The allowed values are
"left", "center", "decimalpoint", and
"right". If there is an malignmark in the group, that is
the alignment point and the attribute value is ignored.
For convenience, groupalign can also be set on mtd, mtr
and mtable as well. However, an mtd needs a list of
attributes, one for each alignment group, and a list of such lists on mtr
and mtable, one for each column of mtd's. The syntax for
specifying these meta lists is the obvious one. For example:
{{"right", "center"},{"decimalpoint"}}
One last technicality involves the alignmentscope attribute
on the mtable element. If you want to use alignment groups to align
nested tables, you need to tell the inner table not to process the alignment
information intended for the outer table. You can turn off alignment
processing within an mtable by setting alignmentscope to
false.
Attributes:
| Name |
Values |
Default |
| groupalign |
left | center | decimalpoint |
right |
inherited |
Notes:
WebEQ ignores the maligngroup element.
| Name: |
malignmark |
| Usage: |
<malignmark/> |
Description:
Serves as an alignment point within an alignment group. See maligngroup.
Attributes:
None.
Notes:
WebEQ ignores the malignmark element.
| Name: |
mlabeledtr |
| Usage: |
<mlabeledtr> <label> [<mtd1>,
<mtd2>... ] </mlabeledtr> |
Description:
Displays as a table row with a label. One of the important uses of mlabeledtr
is for numbered equations. In a mlabeledtr, the label represents the
equation number and the elements in the row are the equation being numbered.
The side and minlabelspacing attributes of mtable
determine the placement of the equation number.
Attributes:
Same as those for mtr.
Notes:
Not implemented in WebEQ.
5. Actions
| Name: |
maction |
| Usage: |
<maction> [ <child_1> <child_2>
... ] </maction> |
Description:
Display an active expression. In WebEQ, the maction element can be
used to make an expression interactive in one of four ways.
- It can change the foreground and background colors on a mouse over.
- It can bring up a status line message on a mouse over.
- It can act as a link.
- It can toggle between expressions.
Attributes:
| Name |
Values |
Default |
| actiontype |
highlight | link | statusline
| toggle |
none |
| selection |
number |
1 |
| dsi:cue1 |
string |
|
| dsi:cue2 |
string |
|
| dsi:color |
rgb | #rrggbb | html-color-name |
|
| dsi:background |
rgb | #rrggbb | html-color-name |
|
| dsi:href |
URL |
|
Notes:
When the actiontype is set to 'highlight', use dsi:color
and dsi:background attributes on the maction to pass in
the appropriate values. You may simultaneously specify a statusline message
for mouse over events by setting dsi:cue1. Similarly, when actiontype
is 'link', the URL is specified with an dsi:href attribute on
the maction, and when actiontype is 'statusline', the
message text is specified using dsi:cue1.
When actiontype is set to 'toggle', the maction
element should contain two children. The maction will alternate
between the first two of them when left-clicked. A prompt message can be
displayed on the statusline with each child expression. The message text for
each child should be set using the dsi:cue1 and dsi:cue2
attributes.
WebEQ ignores the selection attribute.
|