Skip to content

v0.1.0

Latest

Choose a tag to compare

@moeakwak moeakwak released this 12 Jun 09:04
· 4 commits to main since this release

Initial public release of TeXForm — a LaTeX formula parser, editable document model, and normalization engine, available in Rust, Python, and JavaScript from a single Rust core.

Added

  • Knowledge-driven parser backed by 530+ command and environment specifications across the base, ams, physics, braket, bboldx, boldsymbol, and textmacros packages, with strict and lenient modes that preserve unknown commands and unparseable fragments as explicit nodes instead of failing the parse.
  • Editable Document tree with validated, fallible edits and canonical LaTeX serialization that guarantees text idempotency over parse/serialize cycles.
  • Profile-based transform engine with four normalization profiles — Authoring, Faithful, Corpus, and Equiv — covering author-facing cleanup, render-faithful expansion, corpus preparation, and formula-equivalence comparison.
  • validate_argspec for checking xparse-style argument specifications.
  • Python (PyPI texform, Python ≥ 3.10) and JavaScript/TypeScript (npm texform, WebAssembly) bindings exposing the same parser, document, and transform engine from the shared Rust core.