Я пытаюсь выяснить, как преобразовать MathML-представление математического уравнения и преобразовать его в LaTeX-представление этого математического уравнения. Так например ...
<math>
<mrow>
<mfrac>
<mrow><mi>x</mi></mrow>
<mrow><mi>y</mi></mrow>
</mfrac>
</mrow>
</math>
... это простая сложенная дробь, и ее представление в LaTeX будет ...
\frac{x}{y}
Я гарантирую, что MathML не имеет презентационной разметки, потому что я строю строку MathML динамически и контролирую, как / где вставляются элементы MathML; строка MathML - это просто структура математического уравнения.
Итак, мой вопрос: существуют ли какие-либо библиотеки Java / JavaScript, которые могут принимать входную строку MathML, как та, что приведена выше, и генерировать соответствующую строку LaTeX? Я бы предпочел не писать этот парсер сам. Если не Java / JavaScript, есть ли какие-либо библиотеки, которые могут это сделать?
Если нет, какие-либо предложения о том, как подойти к этой проблеме написания моего собственного парсера? С чего начать, что учитывать, ресурсы и т. Д.? *
UPDATE
Благодаря Optimal Cynic я смог использовать эту библиотеку Java , чтобы делать то, что я хочу. Однако он не идеален, но я могу легко изменить его и заставить работать хорошо. Тем не менее, я все еще хотел бы, чтобы это было сделано в JavaScript. Так есть ли такие инструменты, написанные на JavaScript? Если нет, я прибегну к самому переводу.
Примечание. Я использую MathJax для рендеринга MathML на странице, но в настоящее время MathJax не поддерживает способ перехода с MathML на LaTeX. Он может идти только из LaTeX в MathML.