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:
<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 ofsubscriptshift
andsuperscriptshift
attributes has been fixed (see bug 827713 for details).