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,#rrggbband HTML color names. - mathcolor
- The text color. You can use
#rgb,#rrggbband 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:
<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:
<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 ofsubscriptshiftandsuperscriptshiftattributes has been fixed (see bug 827713 for details).