# base/mathstrut-drop

Drop the invisible mathstrut layout helper in cleanup-oriented normalization.

https://texform.dev/rules/base/mathstrut-drop

## Metadata

| Field | Value |
| --- | --- |
| Key | base/mathstrut-drop |
| Level | corpus |
| Fidelity | reading |
| Enabled by packages | base |
| Profiles | Corpus, Equiv |

## Rewrite patterns

From:

```latex
\mathstrut
```

To:

```latex

```

## Examples

Examples show the rule in isolation, not a complete normalization profile.

### mathstrut after tall term

Before:

```latex
x_1 + y^2\mathstrut + z_3
```

After this rule:

```latex
x_1 + y^2 + z_3
```

Packages: base.

Rendering verified with the declared packages.

### mathstrut inside radical changes root size

Before:

```latex
\sqrt{x\mathstrut}+\sqrt{x^i\mathstrut}
```

After this rule:

```latex
\sqrt{x}+\sqrt{x^i}
```

Packages: base.

The rendered result has pixel differences from the input.

## Triggers

- [\\mathstrut](https://texform.dev/latex/commands/mathstrut)

## Eliminates

- [\\mathstrut](https://texform.dev/latex/commands/mathstrut)

## Same family

- [ams/nobreakspace-to-tilde](https://texform.dev/rules/ams/nobreakspace-to-tilde): Collapse nobreakspace to the canonical nonbreaking space token.
- [base/break-to-linebreak](https://texform.dev/rules/base/break-to-linebreak): Collapse break to the explicit linebreak command.
- [base/newline-to-linebreak](https://texform.dev/rules/base/newline-to-linebreak): Collapse newline to the explicit linebreak command.
- [base/control-space-to-tilde](https://texform.dev/rules/base/control-space-to-tilde): Rewrite math-mode control space to the canonical active space token.
- [base/gt-space-to-colon-space](https://texform.dev/rules/base/gt-space-to-colon-space): Collapse \> to the canonical medium math space command \:
- [base/hfil-to-hfill](https://texform.dev/rules/base/hfil-to-hfill): Collapse hfil to the canonical hfill command under MathJax spacing semantics.
- [base/hfilll-to-hfill](https://texform.dev/rules/base/hfilll-to-hfill): Collapse hfilll to the canonical hfill command.
- [base/hskip-to-hspace](https://texform.dev/rules/base/hskip-to-hspace): Collapse hskip to the explicit hspace command.
- [base/negthinspace-to-neg-comma-space](https://texform.dev/rules/base/negthinspace-to-neg-comma-space): Collapse negthinspace to the explicit negative thin math space command.
- [base/space-to-tilde](https://texform.dev/rules/base/space-to-tilde): Collapse space to the explicit nonbreaking space token.
- [base/thinspace-to-comma-space](https://texform.dev/rules/base/thinspace-to-comma-space): Collapse thinspace to the explicit thin math space command.
- [base/double-enspace-to-quad](https://texform.dev/rules/base/double-enspace-to-quad): Rewrite two adjacent enspaces to one exact-width quad.
- [base/double-quad-to-qquad](https://texform.dev/rules/base/double-quad-to-qquad): Merge two adjacent quads into one qquad for authoring normalization.
- [base/small-spacer-merge-to-enspace](https://texform.dev/rules/base/small-spacer-merge-to-enspace): Merge exact half-em small-spacer chunks into enspace in one pass.
- [base/allowbreak-drop](https://texform.dev/rules/base/allowbreak-drop): Drop allowbreak as a pure linebreak hint during cleanup-oriented normalization.
- [base/badbreak-drop](https://texform.dev/rules/base/badbreak-drop): Drop badbreak as a pure linebreak hint during cleanup-oriented normalization.
- [base/goodbreak-drop](https://texform.dev/rules/base/goodbreak-drop): Drop goodbreak as a pure linebreak hint during cleanup-oriented normalization.
- [base/nobreak-drop](https://texform.dev/rules/base/nobreak-drop): Drop nobreak as a pure linebreak hint during cleanup-oriented normalization.
- [base/strut-drop](https://texform.dev/rules/base/strut-drop): Drop the fixed empty strut node in cleanup-oriented normalization.
- [base/enspace-drop](https://texform.dev/rules/base/enspace-drop): Drop enspace in math mode and collapse each text-mode enspace run to one ordinary space.
- [base/qquad-drop](https://texform.dev/rules/base/qquad-drop): Drop qquad in math mode and collapse each text-mode qquad run to one ordinary space.
- [base/quad-drop](https://texform.dev/rules/base/quad-drop): Drop quad in math mode and collapse each text-mode quad run to one ordinary space.
- [base/mkern-to-mspace](https://texform.dev/rules/base/mkern-to-mspace): Collapse mkern to the explicit mspace command.
- [base/mskip-to-mspace](https://texform.dev/rules/base/mskip-to-mspace): Collapse mskip to the explicit mspace command.

## Disable this rule

```python
TransformEngine(profile="corpus", disable_rules=["base/mathstrut-drop"])
```

```javascript
new TransformEngine({ profile: 'corpus', disableRules: ['base/mathstrut-drop'] })
```

[Open in Playground](https://play.texform.dev/?input=x_1+%2B+y%5E2%5Cmathstrut+%2B+z_3)
