<mmultiscripts>

The MathML <mmultiscripts> element allows you to create tensor-like objects. In a descriptive way tensors are multidimensional matrices (mathematical imprecise but exemplified). The degree of a tensor depends on the dimensionality of a representative array. For example, a number is a 0-dimensional array, or a 0th-order tensor. A 1-dimensional array (e.g. vectors) is a 1st-order tensor and so 2nd-order tensors are needed to represent square matrices. To learn more about the mathematical background of tensors refer to the entry on Wikipedia.

MathML uses a special syntax to describe subscripts and superscripts for both, postscripts and prescripts, attached to a base expression:

<mmultiscripts>
    base
     (subscript superscript)*
     [ <mprescripts/> (presubscript presuperscript)* ]
</mmultiscripts>

After the base expression you can specify a postsubscript and a postsuperscript. Prescripts are optional and are separated by the empty tag <mprescripts/> (only one <mprescripts /> element is allowed, otherwise you will get an DuplicateMprescripts error in the Error Console and "invalid-markup" in your rendering). In addition you are able to use <none/> as a placeholder for empty scripts (not for the base). See the examples section for a correct usage.

Attributes

class, id, style
Provided for use with stylesheets.
href
Used to set a hyperlink to a specified URI.
mathbackground
The background color. You can use #rgb, #rrggbb and HTML color names.
mathcolor
The text color. You can use #rgb, #rrggbb and HTML color names.
subscriptshift
The minimum space by which to shift the subscript below the baseline of the expression, as a CSS length.
superscriptshift
The minimum space by which to shift the superscript above the baseline of the expression, as a CSS length.

Examples

Using <mprescripts/>

Sample rendering:

Rendering in your browser: X d c b a

<math>  
    <mmultiscripts>
        <mi>X</mi>      <!-- base expression -->  
        <mi>d</mi>      <!-- postsubscript -->
        <mi>c</mi>      <!-- postsuperscript -->
        <mprescripts />
        <mi>b</mi>      <!-- presubscript -->
        <mi>a</mi>      <!-- presuperscript -->
    </mmultiscripts>
</math>

Using <none/>

Sample rendering:

Rendering in your browser: X c b

<math>  
    <mmultiscripts>
        <mi>X</mi>      <!-- base expression -->
        <none />        <!-- postsubscript -->
        <mi>c</mi>      <!-- postsuperscript -->
        <mprescripts />
        <mi>b</mi>      <!-- presubscript -->
        <none />        <!-- presuperscript -->
    </mmultiscripts>
</math>

Specifications

Specification Status Comment
MathML 3.0
The definition of 'mmultiscripts' in that specification.
Recommendation Current specification
MathML 2.0
The definition of 'mmultiscripts' in that specification.
Recommendation Initial specification

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support Not supported 1.0 (1.7 or earlier) Not supported Not supported Not supported
href Not supported 7.0 (7.0) Not supported Not supported Not supported
mathbackground Not supported 4.0 (2.0) Not supported Not supported Not supported
mathcolor Not supported 4.0 (2.0) Not supported Not supported Not supported
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Not supported Not supported 1.0 (1.0) Not supported Not supported Not supported
href Not supported Not supported 7.0 (7.0) Not supported Not supported Not supported
mathbackground Not supported Not supported 4.0 (2.0) Not supported Not supported Not supported
mathcolor Not supported Not supported 4.0 (2.0) Not supported Not supported Not supported

Gecko-specific notes

  • Starting with Gecko 26.0 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) it is no longer possible to use <none /> as the base element. The rendering has been made more consistent with equivalent configurations of <msup> and <msubsup>. A bug with the incorrect application of subscriptshift and superscriptshift attributes has been fixed (see bug 827713 for details).

See also

Document Tags and Contributors

 Contributors to this page: fscholz, fred.wang, Sheppy
 Last updated by: fscholz,