recursal/MDN huggingface dataset:
<maction>
=========

**Deprecated:** This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The **`<maction>`** MathML element allows to bind actions to mathematical expressions. By default, only the first child is rendered but some browsers may take into account `actiontype` and `selection` attributes to implement custom behaviors.

**Note:** Historically, this element provided a mechanism to make MathML formulas interactive. Nowadays, it is recommended to rely on JavaScript and other Web technologies to implement this use case.

Attributes
----------

This element's attributes include the global MathML attributes as well as the following attributes:

`actiontype` 
Deprecated

Non-standard

 The action which specifies what happens for this element. Special behavior
 for the following values were implemented by some browsers:


* `statusline`: If there is a click on the *expression* or the reader moves the pointer over it, the *message* is sent to the browser's status line. The syntax is: `<maction actiontype="statusline"> expression message </maction>`.
* `toggle`: When there is a click on the subexpression, the rendering alternates the display of selected subexpressions. Therefore each click increments the `selection` value.
 The syntax is: `<maction actiontype="toggle" selection="positive-integer" > expression1 expression2 expressionN </maction>`.

`selection` 
Deprecated

Non-standard

The child element currently visible, only taken into account for `actiontype="toggle"` or non-standard `actiontype` values. The default value is `1`, which is the first child element.

Examples
--------

The following example uses the "toggle" `actiontype`:


```html
<p>
  Try clicking this formula several times:

  <math display="block">
    <maction actiontype="toggle">
      <mfrac>
        <mn>6</mn>
        <mn>8</mn>
      </mfrac>

      <mfrac>
        <mrow>
          <mn>3</mn>
          <mo>×</mo>
          <mn>2</mn>
        </mrow>
        <mrow>
          <mn>4</mn>
          <mo>×</mo>
          <mn>2</mn>
        </mrow>
      </mfrac>

      <mfrac>
        <mn>3</mn>
        <mn>4</mn>
      </mfrac>
    </maction>
  </math>
</p>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # dfn-maction |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
<msqrt>
=======

The **`<msqrt>`** MathML element is used to display square roots (no index is displayed). The square root accepts only one argument, which leads to the following syntax: `<msqrt> base </msqrt>`.

Attributes
----------

This element accepts the global MathML attributes.

Examples
--------


```html
<math display="block">
  <msqrt>
    <mi>x</mi>
  </msqrt>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # radicals-msqrt-mroot |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<mroot>` (Radical with an index)
<mn>
====

The **`<mn>`** MathML element represents a **numeric** literal which is normally a sequence of digits with a possible separator (a dot or a comma). However, it is also allowed to have arbitrary text in it which is actually a numeric quantity, for example "eleven".

Attributes
----------

This element accepts the global MathML attributes.

Examples
--------


```html
<math display="block">
  <mn>0</mn>
</math>

<math display="block">
  <mn>1.337</mn>
</math>

<math display="block">
  <mn>twelve</mn>
</math>

<math display="block">
  <mn>XVI</mn>
</math>

<math display="block">
  <mn>2e10</mn>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # number-mn |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
<mtd>
=====

The **`<mtd>`** MathML element represents a cell in a table or a matrix. It may only appear in a `<mtr>` element. This element is similar to the `<td>` element of HTML.

Attributes
----------

This element's attributes include the global MathML attributes as well as the following attributes:

`columnspan`

A non-negative integer value that indicates on how many columns does the cell extend.

`rowspan`

A non-negative integer value that indicates on how many rows does the cell extend.

Some browsers may also support the following attributes:

`columnalign` 
Non-standard

 Specifies the horizontal alignment of this cell and overrides values specified by `<mtable>` or `<mtr>`.
 Possible values are: `left`, `center` and `right`.


`rowalign` 
Non-standard

 Specifies the vertical alignment of this cell and overrides values specified by `<mtable>` or `<mtr>`.
 Possible values are: `axis`, `baseline`, `bottom`, `center` and `top`.


Specifications
--------------

| Specification |
| --- |
| MathML Core # entry-in-table-or-matrix-mtd |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<mtable>`
* `<mtr>`
<mphantom>
==========

The **`<mphantom>`** MathML element is rendered invisibly, but dimensions (such as height, width, and baseline position) are still kept.

Attributes
----------

This element accepts the global MathML attributes.

Examples
--------


```html
<math display="block">
  <mrow>
    <mi>x</mi>
    <mo>+</mo>
    <mphantom>
      <mi>y</mi>
      <mo>+</mo>
    </mphantom>
    <mi>z</mi>
  </mrow>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # making-sub-expressions-invisible-mphantom |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<mspace>`
* `<mpadded>`
<msup>
======

The **`<msup>`** MathML element is used to attach a superscript to an expression.

It uses the following syntax: `<msup> base superscript </msup>`.

Attributes
----------

This element's attributes include the global MathML attributes as well as the following deprecated attribute:

`superscriptshift` 
Deprecated

Non-standard

A `<length-percentage>` indicating the minimum amount to shift the baseline of the superscript up.


**Note:** For the `superscriptshift` attribute, some browsers may also accept legacy MathML lengths.

Examples
--------


```html
<math display="block">
  <msup>
    <mi>X</mi>
    <mn>2</mn>
  </msup>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # subscripts-and-superscripts-msub-msup-msubsup |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<msub>` (Subscript)
* `<msubsup>` (Subscript-superscript pair)
* `<mmultiscripts>` (Prescripts and tensor indices)
<mstyle>
========

The **`<mstyle>`** MathML element is used to change the style of its children.

**Note:** Historically, this element accepted almost all the MathML attributes and it was used to override the default attribute values of its descendants. It was later restricted to only a few relevant styling attributes that were used in existing web pages. Nowadays, these styling attributes are common to all MathML elements and so `<mstyle>` is really just equivalent to an `<mrow>` element. However, `<mstyle>` may still be relevant for compatibility with MathML implementations outside browsers.

Attributes
----------

This element's attributes include the global MathML attributes as well as the following deprecated attributes:

`background` 
Deprecated

Non-standard

Use `background-color` instead.

`color` 
Deprecated

Non-standard

Use `color` instead.

`fontsize` 
Deprecated

Non-standard

Use `font-size` instead.

`fontstyle` 
Deprecated

Non-standard

Use `font-style` instead.

`fontweight` 
Deprecated

Non-standard

Use `font-weight` instead.

`scriptminsize` 
Deprecated

Non-standard

Specifies a minimum font size allowed due to changes in `scriptlevel`. The default value is `8pt`.

`scriptsizemultiplier` 
Deprecated

Non-standard

Specifies the multiplier to be used to adjust font size due to changes in `scriptlevel`. The default value is `0.71`.

Examples
--------

### Attributes mapped to CSS

The following example uses global attributes `displaystyle` and `mathcolor` to respectively override the `math-style` and `color` of the `<munder>` and `<munderover>` children:


```html
<math display="block">
  <mstyle displaystyle="false" mathcolor="teal">
    <munder>
      <mo>∑</mo>
      <mi>I</mi>
    </munder>
    <munderover>
      <mo>∏</mo>
      <mrow>
        <mi>i</mi>
        <mo>=</mo>
        <mn>1</mn>
      </mrow>
      <mi>N</mi>
    </munderover>
  </mstyle>
</math>
```

### Legacy script attributes

The following example shows a formula with `font-size` set to `128pt`. It contains numbers that are placed in nested superscripts as well as an `<mstyle>` element with legacy attributes `scriptsizemultiplier` and `scriptminsize`. The `font-size` is multiplied by `0.5` when entering each superscript as long as that does not make it smaller than `16pt`.


```html
<math display="block" style="font-size: 128pt">
  <mstyle scriptsizemultiplier="0.5" scriptminsize="16pt">
    <msup>
      <mn>2</mn>
      <msup>
        <mn>2</mn>
        <msup>
          <mn>2</mn>
          <msup>
            <mn>2</mn>
            <msup>
              <mn>2</mn>
              <msup>
                <mn>2</mn>
                <mn>2</mn>
              </msup>
            </msup>
          </msup>
        </msup>
      </msup>
    </msup>
  </mstyle>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # style-change-mstyle |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
<merror>
========

The **`<merror>`** MathML element is used to display contents as error messages. The intent of this element is to provide a standard way for programs that generate MathML from other input to report syntax errors.

Attributes
----------

This element accepts the global MathML attributes.

Examples
--------

In the following example, `<merror>` is used to indicate a parsing error for some LaTeX-like input:


```html
<math display="block">
  <mfrac>
    <merror>
      <mtext>Syntax error: \frac{1}</mtext>
    </merror>
    <mn>3</mn>
  </mfrac>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # error-message-merror |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
<mrow>
======

The **`<mrow>`** MathML element is used to group sub-expressions, which usually contain one or more operators with their respective operands (such as `<mi>` and `<mn>`). This element renders as a horizontal row containing its arguments.

When writing a MathML expression, you should group elements within an `<mrow>` in the same way as they are grouped in the mathematical interpretation of the expression. Proper grouping helps the rendering of the expression in several ways:

* It can improve the display by possibly affecting spacing and preventing line breaks.
* It simplifies the interpretation of the expression by automated systems such as computer algebra systems and audio renderers.
Attributes
----------

This element accepts the global MathML attributes.

Examples
--------


```html
<math display="block">
  <mfrac>
    <mrow>
      <!-- numerator content grouped in one mrow -->
      <mn>1</mn>
      <mo>+</mo>
      <mi>K</mi>
    </mrow>
    <mrow>
      <!-- denominator content grouped in one mrow -->
      <mn>3</mn>
      <mrow>
        <!-- fenced expression grouped in one mrow -->
        <mo>(</mo>
        <mrow>
          <!-- fenced content grouped in one mrow -->
          <mi>x</mi>
          <mo>+</mo>
          <mi>y</mi>
        </mrow>
        <mo>)</mo>
      </mrow>
    </mrow>
  </mfrac>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # horizontally-group-sub-expressions-mrow |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Grouping HTML elements: `<div>`
<mo>
====

The **`<mo>`** MathML element represents an **operator** in a broad sense. Besides operators in strict mathematical meaning, this element also includes "operators" like parentheses, separators like comma and semicolon, or "absolute value" bars.

Attributes
----------

In addition to the global MathML attributes, this element accepts the following attributes whose default values depend on the operator's form and content:

`accent` 
Non-standard

A `<boolean>` indicating whether the operator should be treated as an accent when used as an under- or overscript (i.e. drawn bigger and closer to the base expression).

`fence`

A `<boolean>` indicating whether the operator is a fence (such as parentheses). There is no visual effect for this attribute.

`largeop`

A `<boolean>` indicating whether the operator should be drawn bigger when `math-style` is set to `normal`.

`lspace`

A `<length-percentage>` indicating the amount of space before the operator.

`maxsize`

A `<length-percentage>` indicating the maximum size of the operator when it is stretchy.

`minsize`

A `<length-percentage>` indicating the minimum size of the operator when it is stretchy.

`movablelimits`

A `<boolean>` indicating whether attached under- and overscripts move to sub- and superscript positions when `math-style` is set to `compact`.

`rspace`

A `<length-percentage>` indicating the amount of space after the operator.

`separator`

A `<boolean>` indicating whether the operator is a separator (such as commas). There is no visual effect for this attribute.

`stretchy`

A `<boolean>` indicating whether the operator stretches to the size of the adjacent element.

`symmetric`

A `<boolean>` indicating whether a stretchy operator should be vertically symmetric around the imaginary math axis (centered fraction line).


**Note:** For the `lspace`, `maxsize`, `minsize` and `rspace` attributes, some browsers may also accept legacy MathML lengths.

Examples
--------


```html
<math display="block">
  <mrow>
    <mn>5</mn>
    <mo>+</mo>
    <mn>5</mn>
  </mrow>
</math>

<math display="block">
  <mrow>
    <mo>[</mo> <!-- default form value: prefix -->
    <mrow>
      <mn>0</mn>
      <mo>;</mo> <!-- default form value: infix -->
      <mn>1</mn>
    </mrow>
    <mo>)</mo> <!-- default form value: postfix -->
  </mrow>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # operator-fence-separator-or-accent-mo |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
<msubsup>
=========

The **`<msubsup>`** MathML element is used to attach both a subscript and a superscript, together, to an expression.

It uses the following syntax: `<msubsup> base subscript superscript </msubsup>`.

Attributes
----------

This element's attributes include the global MathML attributes as well as the following deprecated attributes:

`subscriptshift` 
Deprecated

Non-standard

A `<length-percentage>` indicating the minimum amount to shift the baseline of the subscript down.

`superscriptshift` 
Deprecated

Non-standard

A `<length-percentage>` indicating the minimum amount to shift the baseline of the superscript up.


**Note:** For the `subscriptshift` and `superscriptshift` attributes, some browsers may also accept legacy MathML lengths.

Examples
--------


```html
<math display="block">
  <msubsup>
    <mo>&#x222B;<!--Integral --></mo>
    <mn>0</mn>
    <mn>1</mn>
  </msubsup>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # subscripts-and-superscripts-msub-msup-msubsup |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<msub>` (Subscript)
* `<msup>` (Superscript)
* `<mmultiscripts>` (Prescripts and tensor indices)
<mtext>
=======

The **`<mtext>`** MathML element is used to render arbitrary text with *no* notational meaning, such as comments or annotations.

To display text *with* notational meaning, use `<mi>`, `<mn>`, `<mo>` or `<ms>` instead.

Attributes
----------

This element accepts the global MathML attributes.

Examples
--------


```html
<math display="block">
  <mtext>Theorem of Pythagoras</mtext>
</math>

<math display="block">
  <mtext>/* comment here */</mtext>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # text-mtext |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
<mfrac>
=======

 The **`<mfrac>`** MathML element is used to display fractions. It can also be used
 to mark up fraction-like objects such as
 binomial coefficients
 and Legendre symbols.

Syntax
------


```html
<mfrac>numerator denominator</mfrac>
```

Attributes
----------

This element's attributes include the global MathML attributes as well as the following attributes:

`denomalign` 
Deprecated

Non-standard

The alignment of the denominator under the fraction. Possible values are: `left`, `center` (default), and `right`.

`linethickness`

A `<length-percentage>` indicating the thickness of the horizontal fraction line.

`numalign` 
Deprecated

Non-standard

The alignment of the numerator over the fraction. Possible values are: `left`, `center` (default), and `right`.


**Note:** For the `linethickness` attribute, some browsers may also accept the deprecated values `medium`, `thin` and `thick` (whose exact interpretation is left to implementers) or legacy MathML lengths.

Examples
--------

### Simple fraction

 The following MathML code should render as a fraction with numerator "a + 2" and
 denominator "3 − b":


```html
<math display="block">
  <mfrac>
    <mrow>
      <mi>a</mi>
      <mo>+</mo>
      <mn>2</mn>
    </mrow>
    <mrow>
      <mn>3</mn>
      <mo>−</mo>
      <mi>b</mi>
    </mrow>
  </mfrac>
</math>
```

### Fraction without bar

The following MathML code should render as a binomial coefficient:


```html
<math display="block">
  <mrow>
    <mo>(</mo>
    <mfrac linethickness="0">
      <mi>n</mi>
      <mi>k</mi>
    </mfrac>
    <mo>)</mo>
  </mrow>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # fractions-mfrac |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
<math>
======

The **`<math>`** MathML element is the top-level MathML element, used to write a single mathematical formula. It can be placed in HTML content where flow content is permitted.

**Note:** See the Authoring MathML page for tips to properly integrate MathML formulas in your web pages and the Examples page for more demos.

Attributes
----------

This element's attributes include the global MathML attributes as well as the following attribute:

`display`

This enumerated attribute specifies how the enclosed MathML markup should be rendered. It can have one of the following values:

* `block`, which means that this element will be displayed in its own block outside the current span of text and with `math-style` set to `normal`.
* `inline`, which means that this element will be displayed inside the current span of text and with `math-style` set to `compact`.

If not present, its default value is `inline`.

Examples
--------

This example contains two MathML formula. The first one is rendered in its own centered block, taking as much space as needed. The second one is rendered inside the paragraph of text, with reduced size and spacing in order to minimize its height.


```html
<p>
  The infinite sum
  <math display="block">
    <mrow>
      <munderover>
        <mo>∑</mo>
        <mrow>
          <mi>n</mi>
          <mo>=</mo>
          <mn>1</mn>
        </mrow>
        <mrow>
          <mo>+</mo>
          <mn>∞</mn>
        </mrow>
      </munderover>
      <mfrac>
        <mn>1</mn>
        <msup>
          <mi>n</mi>
          <mn>2</mn>
        </msup>
      </mfrac>
    </mrow>
  </math>
  is equal to the real number
  <math display="inline">
    <mfrac>
      <msup>
        <mi>π</mi>
        <mn>2</mn>
      </msup>
      <mn>6</mn>
    </mfrac></math
 >.
</p>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # the-top-level-math-element |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* HTML top-level element: `<html>`
* SVG top-level element: `<svg>`
<mroot>
=======

The **`<mroot>`** MathML element is used to display roots with an explicit index. Two arguments are accepted, which leads to the syntax: `<mroot> base index </mroot>`.

Attributes
----------

This element accepts the global MathML attributes.

Examples
--------


```html
<math display="block">
  <mroot>
    <mi>x</mi>
    <mn>3</mn>
  </mroot>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # radicals-msqrt-mroot |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<msqrt>` (Square root without an index)
<mtr>
=====

The **`<mtr>`** MathML element represents a row in a table or a matrix. It may only appear in a `<mtable>` element and its children are `<mtd>` elements representing cells. This element is similar to the `<tr>` element of HTML.

Attributes
----------

This element's attributes include the global MathML attributes. Some browsers may also support the following attributes:

`columnalign` 
Non-standard

Overrides the horizontal alignment of cells specified by `<mtable>` for this row. Multiple values separated by space are allowed and apply to the corresponding columns (e.g. `columnalign="left center right"`). Possible values are: `left`, `center` and `right`.

`rowalign` 
Non-standard

Overrides the vertical alignment of cells specified by `<mtable>` for this row. Possible values are: `axis`, `baseline`, `bottom`, `center` and `top`.

Specifications
--------------

| Specification |
| --- |
| MathML Core # row-in-table-or-matrix-mtr |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<mtable>`
* `<mtd>`
<msub>
======

The **`<msub>`** MathML element is used to attach a subscript to an expression.

It uses the following syntax: `<msub> base subscript </msub>`.

Attributes
----------

This element's attributes include the global MathML attributes as well as the following deprecated attribute:

`subscriptshift` 
Deprecated

Non-standard

A `<length-percentage>` indicating the minimum amount to shift the baseline of the subscript down.


**Note:** For the `subscriptshift` attribute, some browsers may also accept legacy MathML lengths.

Examples
--------


```html
<math display="block">
  <msub>
    <mi>X</mi>
    <mn>1</mn>
  </msub>
</math>
```

Specifications
--------------

| Specification |
| --- |
| MathML Core # subscripts-and-superscripts-msub-msup-msubsup |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<msup>` (Superscript)
* `<msubsup>` (Subscript-superscript pair)
* `<mmultiscripts>` (Prescripts and tensor indices)