Skip NavigationDesign Science: How Science Communicates
Products Solutions Store Support Reference Company View Cart
 
 

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 &quot;
rquote character &quot;

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.

- top of page -
Copyright © 1996-2018 Design Science. All rights reserved. | Privacy statement