{"id":28089018,"url":"https://github.com/carloskiki/pulldown-latex","last_synced_at":"2026-01-17T10:52:38.359Z","repository":{"id":223369252,"uuid":"760134456","full_name":"carloskiki/pulldown-latex","owner":"carloskiki","description":"A pull parser for LaTeX parsing and mathml rendering.","archived":false,"fork":false,"pushed_at":"2025-08-05T13:24:02.000Z","size":1884,"stargazers_count":66,"open_issues_count":18,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-14T11:36:51.114Z","etag":null,"topics":["latex","mathml"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carloskiki.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-19T21:04:28.000Z","updated_at":"2026-01-10T12:43:45.000Z","dependencies_parsed_at":"2024-02-23T14:31:11.058Z","dependency_job_id":"8ddf3290-ed46-4fda-97c7-5642268882d5","html_url":"https://github.com/carloskiki/pulldown-latex","commit_stats":null,"previous_names":["carlosted/pulldown-latexmml","carlosted/pulldown-latex","carloskiki/pulldown-latex"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/carloskiki/pulldown-latex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carloskiki%2Fpulldown-latex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carloskiki%2Fpulldown-latex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carloskiki%2Fpulldown-latex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carloskiki%2Fpulldown-latex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carloskiki","download_url":"https://codeload.github.com/carloskiki/pulldown-latex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carloskiki%2Fpulldown-latex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28506593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T10:25:30.148Z","status":"ssl_error","status_checked_at":"2026-01-17T10:25:29.718Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["latex","mathml"],"created_at":"2025-05-13T12:53:24.115Z","updated_at":"2026-01-17T10:52:38.331Z","avatar_url":"https://github.com/carloskiki.png","language":"Rust","readme":"# pulldown-latex\n\nA pull parser for $\\LaTeX$ parsing and `mathml` rendering.\n\n[__Try it out!__](https://carloskiki.github.io/pulldown-latex/)\n\nThis project is inspired `KaTeX`, `Temml`, `MathJax`, etc. It is actively maintained, and is in a stage of development where\n95% of what `KaTeX` and the likes support is properly working and minimally tested. This software\nshould be functional for most use cases. However, it is not recommended for large scale production\nuse as more robust testing is required.\n\n## Rust Version\n\nThis crate requires `Rust` version `1.74.1` or higher.\n\n## Goals\n\n__Follow modern LaTeX principles:__\nIdeally, this library should be mostly compatible with `latex2e` and `amsmath`. The term\n_mostly_ is used here to refer to the mathematical commands exposed by these packages; typesetting prose\nis out of scope for this crate. Another consequence of this goal is that some plain-TeX commands that\nare deprecated (e.g., `\\atop`, `\\over`, etc.) are not supported by this crate.\n\n__Closely resemble conventional LaTeX:__\nIt is a goal for this crate to make efforts in generating aesthetic equations. This means that\nthe `mathml` output may be tweaked to make it resemble what `pdflatex`, `KaTeX` or `MathJax` outputs.\n\n## Development Notes\n\n### To Test\n- [x] All the things `temml` and `katex` test\n- [ ] Errors\n- [ ] Comments parsing\n- [ ] _we would really benefit from having a fuzzer_.\n- [ ] Cargo Mutants\n\n### TODO's/Known Bugs\n- [ ] raise and lower boxes.\n- [ ] `\\sideset`\n- [ ] `\\mathop`, `\\mathbin`, etc.\n- [ ] Correctly use the `accent` attribute: https://w3c.github.io/mathml-core/#dfn-accent\n- [ ] Match the `mathml` API to `pulldown-cmark`s API.\n- [ ] Square bracket matrices do not have equal spacing on the left and the right in Chromium.\n- [ ] Italic numbers are not italic because they do not exist in unicode.\n\n## Unsupported Plain-TeX \u0026 LaTeX behavior\n\n- Changing `catcode`s of characters\n- `\\if`* macros\n- `^^_` \u0026 `^^[0-9a-f][0-9a-f]` as a way of specifying characters\n- __Redefining active characters__\n    This library currently only supports default active characters, and hence does not allow for the \n    definition of active characters.\n- Implicit characters as whitespace tokens\n    As in the TeXbook p. 265, Knuth specifies that a `space token` stands for an _explicit_ or _implicit_\n    space. This library does not currently support _implicit_ space tokens when a `space token` is required.\n- Use of internal values and parameters, such as registers, and things like `\\tolerance`\n    (See TeXbook p. 267 for a complete definition)\n- `\\magnification` parameter \u0026 `true` sizes\n- Case insensitive keywords matching. \n    According to TeXbook p. 265, keywords such as `pt`, `em`, `mm`, etc. are matched case insensitively (e.g.,\n    `pT` would match `pt`). This library does not support this behavior, as keywords must match exactly (i.e., \n    `em`, `mm`, `pt`, etc.).\n- `fil` units\n    TeX allows the use of `fil`(ll...) units, this library does not.\n- `\\outer` specifier on definitions\n- `\\edef`, we do not support pre-expansion of macros.\n- `\\csname` \u0026 `\\endcsname`\n- `\\begingroup` and `{`, and `\\endgroup` and `}` behave the same way; that is to say, \n    `\\begingroup` and `\\endgroup` do not have the property of \"keeping the same mode\" (TeXbook p. 275),\n    which only makes sense in text mode.\n- All vertical list manipulation commands.\n    Things like `\\vskip`, `\\vfil`, `\\moveleft` etc.\n- `\\hfil`, `\\hfill`\n- `\\over`, `\\atop`, and all deprecated \"fraction like\" control sequences.\n\n### Unsupported KaTeX/Temml Options\n\n- Macros preamble\n- Wrap\n- Left equation numbers\n- `colorIsTextColor`\n- `ThrowOnError`\n- `maxSize`\n- `trust`\n- `\\toggle` groups\n\n## Miscellaneous References \u0026 Tools\nSources used during the development of this crate. Any reference in code comments refer to\nthese links specifically.\n\n- [TeXBook](https://visualmatheditor.equatheque.net/doc/texbook.pdf)\n- [latex2e unofficial Reference](https://tug.org/texinfohtml/latex2e.html)\n- [amsmath docs](https://www.latex-project.org/help/documentation/amsldoc.pdf)\n- [Comprehensive symbol list](https://mirror.its.dal.ca/ctan/info/symbols/comprehensive/symbols-letter.pdf)\n- [Unicode-math symbol list](https://mirror.its.dal.ca/ctan/macros/unicodetex/latex/unicode-math/unimath-symbols.pdf)\n- [Unicode-math package page](https://ctan.org/pkg/unicode-math)\n- [Font tester](https://fred-wang.github.io/MathFonts/)\n- [Math Variant Selection](https://milde.users.sourceforge.net/LUCR/Math/math-font-selection.xhtml#math-styles)\n- [Official Latex Unicode Data](https://github.com/latex3/unicode-data)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarloskiki%2Fpulldown-latex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarloskiki%2Fpulldown-latex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarloskiki%2Fpulldown-latex/lists"}