ExcaliMath is an add-on to Excalidraw to add LaTeX formulas, see https://excalimath.my-lab.ro/. This will never be added to obsidian-excalidraw, but the good news is that we can mimic all of it with a script using the side-panel tools!
So, if you use obsidian-excalidraw and/or if you use LaTeX regularly then YOU can help!
I need opinions and ideas on what the script should do, the goal is to avoid building something I am the only one to like…
Here is a list of ideas that I will implement for sure:
color palette working for latex
scaling latex with buttons
font settings with buttons
a text box on the side-panel to update latex instead of the default pop-up (it will still support latex-suite!)
graph rendering with custom functions
text-to-latex and latex-to-text hotkeys (aka text with surrounding $..$)
maybe even allow dynamic switch between text and latex
In general, I would like it to feel like the latex is just another text elements, with everything you would do on a text also available on latex.
Here is a list of ideas that I would personally not use, but might be added if it is requested:
I recently came across the following use case / feature idea: Since I am regularly using Excalidraw to take handwritten notes, I often end up with rather messy-looking formulas. So I thought about using the capabilities of ExcaliAI to clean up a bit: handwritten formula in, MathJax returned from an LLM.
Surely, this could be realized with ExcaliAI itself but an integration into your script would probably be a nice fit. At least all basic functionality should already be there (LLM provider configuration etc.). The only thing I am not sure about is if a plain text return from an LLM is already built in – I remember seeing only HTML defined as return type in the script, right @Zsolt?
Let me know if you want to consider this option, I would gladly support the effort
That could be cool, but are side panels comfortable with tablet ?
I feel like a tablet user would prefer a singular script icon for this functionality, rather than opening a side panel
I think sidebar usage on tablets is actually quite comfortable. Also, taking notes and cleaning them up could be separate activities with the latter being done on desktop.
Probably with some limited prompting the feature could be integrated into ExcaliAI as well, to convert a handwritten math formula into latex based on an image input. I am pretty sure LLMs are comfortable at returning code blocks with LaTeX formulas.
Equally, since the base infrastructure is there in ExcalidrawAutomate, and the agent developing ExcaliMath can read the ExcaliAI source for implementation reference, this feature could be beautifully integrated into ExcaliMath.
HTML, Mermaid, LaTeX, XML, JSON, plain text are all response formats that you can easily process in a script.
One feature that has been on my mind for a long time is an HTML image feature. Meaning an image component similar to LaTeX that renders a static HTML page to an image. This would be great for adding formatted text (or code snippets) to diagrams, such that the text can be edited and the image would be part of the normal layer structure, not floating on top like embeddables. If anyone wants to work on this, I am happy to build the backend plumbing for this in Excalidraw, then building a script that leverages this becomes fairly simple.