We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

<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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support No ?1 No No6
dir No ?12 No No No
href No ?7 No No No
mathsize No ?1 No No6
mathcolor No ?28 No No6
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No No ?4 No No ?
dir No No ?14 No No ?
href No No ?7 No No ?
mathsize No No ?4 No No ?
mathcolor No No ?28 No No ?

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,