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).