v0.2.1
This release expands the normalization rule set with spacing canonicalization and a batch of alias and macro-expansion rules, so more spacing markup, legacy shorthand, and convenience commands collapse to canonical, universally renderable forms.
Added
- Spacing normalization rules. Adjacent
\quadpairs merge into\qquadand repeated small spacers collapse; MathJax spacing aliases —\thinspace,\negthinspace,\hskip,\mkern,\mskip,\hfil,\hfilll,\space,\nobreakspace, and\gt— map to their canonical spellings while preserving scalar dimensions and documented fidelity boundaries; and pure layout hints (\mathstrut,\strut, and line-break hints) are dropped. - Alias and macro-expansion rules that fold convenience and legacy forms into universal output:
\astcanonicalizes to the pixel-identical literal*;\dotsresolves to\ldotsor\cdotsfrom the surrounding atom class, leaving unclassifiable and boundary cases untouched;\impliedbyexpands to the source-equivalent spaced\Longleftarrow; theVmatrixenvironment expands into a matrix wrapped in explicit double-bar fences; and the\bigl/\bigr/\bigmclass variants — with their\Big,\bigg, and\Biggcounterparts — collapse to the plain\big-family delimiters.
Fixed
- Rule metadata is aligned with the published rule proposals, keeping each rule's declared normalization level and fidelity in sync with its documented contract.
- Rewrite rules that synthesize new commands — the implies, derivative, eval, and multi-integral expansions — now declare every character they emit, drawing on builtin character records so the engine's eliminated-form contract sees their full output.