Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental LaTeX parser and renderer in book example #45

Draft
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

zeozeozeo
Copy link
Contributor

@zeozeozeo zeozeozeo commented Mar 31, 2024

image

This is implemented using the new pulldown_cmark 0.11 version which supports simple math parsing (which is still not published, so for now we pull it from Git)

The renderer calls out to MathJax with mathjax_svg (which embeds the V8 engine into the executable :trollface: and uses MathJax to convert LaTeX into an svg). This is then rendered as an egui image using egui_extra's svg feature (which uses Resvg).

This doesn't really have to be LaTeX, since the entirety of rendering math expressions is handled by the user, not egui_commonmark. Never really tried to mess with Typst, but it could be entirely possible to implement it.

TODO: proper error handling, math feature, center text horizontally with math equations, select and copy equations, implement Typst rendering

closes #25

still no proper error handling, just unwraps
@zeozeozeo zeozeozeo marked this pull request as draft March 31, 2024 18:01
zeozeozeo and others added 15 commits March 31, 2024 23:04
* Proper list wrapping (comrak backend)

* Proper list wrapping (pulldown_cmark backend)

* Cleanup

* Add prettier spacing between list and items

* Changelog and doc
Fixes lampsitter#44

This allows them to be used in lists.
The same fix has been applied to blockquotes, but they require some more
work to their visuals to render properly in lists.
still no proper error handling, just unwraps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LaTeX support
2 participants