carloskiki / pulldown-latex

A pull parser for LaTeX parsing and mathml rendering.
MIT License
27 stars 0 forks source link
latex mathml

pulldown-latex

A pull parser for $\LaTeX$ parsing and mathml rendering.

Try it out!

This project is inspired KaTeX, Temml, MathJax, etc. It is actively maintained, and is in a stage of development where 95% of what KaTeX and the likes support is properly working and minimally tested. This software should be functional for most use cases. However, it is not recommended for large scale production use as more robust testing is required.

Rust Version

This crate requires Rust version 1.74.1 or higher.

Goals

Follow modern LaTeX principles: Ideally, this library should be mostly compatible with latex2e and amsmath. The term mostly is used here to refer to the mathematical commands exposed by these packages; typesetting prose is out of scope for this crate. Another consequence of this goal is that some plain-TeX commands that are deprecated (e.g., \atop, \over, etc.) are not supported by this crate.

Closely resemble conventional LaTeX: It is a goal for this crate to make efforts in generating aesthetic equations. This means that the mathml output may be tweaked to make it resemble what pdflatex, KaTeX or MathJax outputs.

Development Notes

To Test

TODO's/Known Bugs

Unsupported Plain-TeX & LaTeX behavior

Unsupported KaTeX/Temml Options

Miscellaneous References & Tools

Sources used during the development of this crate. Any reference in code comments refer to these links specifically.