<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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome No support NoEdge ? Firefox Full support 1IE No support NoOpera No support NoSafari Full support 6WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
dirChrome No support NoEdge ? Firefox Full support 12IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 14Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
hrefChrome No support NoEdge ? Firefox Full support 7IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 7Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
mathsizeChrome No support NoEdge ? Firefox Full support 1IE No support NoOpera No support NoSafari Full support 6WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
mathcolorChrome No support NoEdge ? Firefox Full support 28IE No support NoOpera No support NoSafari Full support 6WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 28Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

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: ExE-Boss, fscholz, fred.wang, Sheppy
Last updated by: ExE-Boss,