| Crates.io | pulldown-latex |
| lib.rs | pulldown-latex |
| version | 0.7.1 |
| created_at | 2024-05-01 00:26:10.246361+00 |
| updated_at | 2024-11-21 12:49:13.726923+00 |
| description | Pull parser to convert LaTeX equations to MathML |
| homepage | |
| repository | https://github.com/Carlosted/pulldown-latex |
| max_upload_size | |
| id | 1225664 |
| size | 1,237,383 |
A pull parser for $\LaTeX$ parsing and mathml rendering.
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.
This crate requires Rust version 1.74.1 or higher.
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.
temml and katex test\sideset\mathop, \mathbin, etc.accent attribute: https://w3c.github.io/mathml-core/#dfn-accentmathml API to pulldown-cmarks API.catcodes of characters\if* macros^^_ & ^^[0-9a-f][0-9a-f] as a way of specifying charactersspace token stands for an explicit or implicit
space. This library does not currently support implicit space tokens when a space token is required.\tolerance
(See TeXbook p. 267 for a complete definition)\magnification parameter & true sizespt, em, mm, etc. are matched case insensitively (e.g.,
pT would match pt). This library does not support this behavior, as keywords must match exactly (i.e.,
em, mm, pt, etc.).fil units
TeX allows the use of fil(ll...) units, this library does not.\outer specifier on definitions\edef, we do not support pre-expansion of macros.\csname & \endcsname\begingroup and {, and \endgroup and } behave the same way; that is to say,
\begingroup and \endgroup do not have the property of "keeping the same mode" (TeXbook p. 275),
which only makes sense in text mode.\vskip, \vfil, \moveleft etc.\hfil, \hfill\over, \atop, and all deprecated "fraction like" control sequences.colorIsTextColorThrowOnErrormaxSizetrust\toggle groupsSources used during the development of this crate. Any reference in code comments refer to these links specifically.