-
Notifications
You must be signed in to change notification settings - Fork 19
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
base: master
Are you sure you want to change the base?
Conversation
still no proper error handling, just unwraps
* 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
I'm actually super interested in this. What's the current status? |
It's pretty much ready, it just passes the LaTeX to the user whenever it needs to render it. The only downside is that you basically cannot render LaTeX with pure Rust, without somehow calling a JS engine to ask MathJax to render it for you |
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 and uses MathJax to convert LaTeX into an svg). This is then rendered as an egui image using
egui_extra
'ssvg
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 renderingcloses #25