Skip to content

<msub>, <msup>, <msubsup>, and <mmultiscripts> #96

Description

@Lisahartun

Compared with MathML Core, the layout algorithms for <msub>, <msup>, <msubsup>, and <mmultiscripts> have not been fundamentally redesigned.

Instead, MathML 4 refines the specification by clarifying the application of the existing algorithms, expanding the accompanying explanations, and adding examples that cover more complex notations.

Tensor notation (<mmultiscripts>)

MathML 4 expands the documentation of tensor notation by providing more examples of simultaneous pre-scripts and post-scripts.

<mmultiscripts>
  <mi>T</mi>
  <mi>c</mi> <mi>d</mi>
  <mprescripts/>

  <mi>a</mi> <mi>b</mi>
</mmultiscripts>

Compared with MathML Core: the rendering algorithm is unchanged, but MathML 4 gives clearer guidance and additional examples

Chemical notation
<msubsup>
  <mi>C</mi>
  <mn>6</mn>
  <mn>14</mn>
</msubsup>
rendering as
¹⁴₆C

or

<msubsup>
  <mi>SO</mi>
  <mn>4</mn>
  <mrow><mn>2</mn><mo></mo></mrow>
</msubsup>
rendering as
SO₄²⁻

Compared with MathML Core: the layout algorithm is identical.

Nested superscripts
<msup>
  <msub>
    <mi>x</mi>
    <mi>i</mi>
  </msub>
  <mi>μ</mi>
</msup>```
or
```html<msup>
  <mi>ψ</mi>
  <mrow>
    <mo>(</mo>
    <mn>1</mn>
    <mo>)</mo>
  </mrow>
</msup>

Compared with MathML Core: MathML 4 provides more explanatory text and examples for cases involving nested or visually tall scripts, making the intended application of the Core algorithm clearer. The positioning rules themselves do not change. 

Multiple scripts
<msubsup>
  <mi>A</mi>
  <mi>i</mi>
  <mi>j</mi>
</msubsup>

Compared with MathML Core: MathML 4 explains more clearly how the minimum gap between the subscript and superscript should be maintained in complex situations, but the algorithm is inherited directly from MathML Core.

Metadata

Metadata

Assignees

No one assigned

    Labels

    MathML 4 updatesThings we should add from MathML 4. Issues related to MathML 4.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions