roniemartinez / latex2mathml

Pure Python library for LaTeX to MathML conversion
MIT License
183 stars 25 forks source link

Documentation #128

Closed StevenClontz closed 3 years ago

StevenClontz commented 3 years ago

Hey, thanks for this great project. I'm adding it as a dependency to https://github.com/StevenClontz/checkit-platform to convert authors' LaTeX mathematics into MathML, which seems to be required to export question banks compatible with the Brightspace LMS.

Your conversion works pretty well, but isn't compatible with a few non-semantic commands I've been using for presentation purposes (e.g. an \hspace{1em} to pad out an ODE from its initial values, \big modifiers on parentheses because I thought it looked better in an exercise).

image

I need to document my platform for a few authors who will adopt the platform this summer, which should include a style guide for mathematical notation. I think the right thing to do is to tell authors to keep their LaTeX relatively simple to make sure the MathML conversion will handle things elegantly. Does this library have any documentation on what subset of LaTeX it aims to support?

roniemartinez commented 3 years ago

@StevenClontz there's not really any particular documentation but the supported LaTeX commands can be found in commands.py and the supported symbol to codepoint conversion is in unimathsymbols.txt.

I can add support for \hspace and \big. You can also open tickets to request for commands you want to include.

StevenClontz commented 3 years ago

So essentially as long as authors stick to stuff in commands.py and unimathsymbols.txt, they have a good chance at producing LaTeX that this library can handle elegantly? That's probably sufficient information.

I refactored my exercise bank to use \qquad already, but I'll open a separate issue about spacing.

roniemartinez commented 2 years ago

@all-contributors please add @StevenClontz for bug

allcontributors[bot] commented 2 years ago

@roniemartinez

I've put up a pull request to add @StevenClontz! :tada: