Мне нужно преобразовать строки с допустимым синтаксисом Python, например:
'1+2**(x+y)'
и получить эквивалентный LaTeX:
$1+2^{x+y}$
Я пробовал латексную функцию sympy, но она обрабатывает фактическое выражение, а не его строковую форму:
>>> latex(1+2**(x+y))
'$1 + 2^{x + y}$'
>>> latex('1+2**(x+y)')
'$1+2**(x+y)$'
, но даже для этого требуется, чтобы x и y были объявлены как введите «символы».
Мне нужно что-то более простое, желательно выполнимое с помощью анализатора из модуля компилятора.
>>> compiler.parse('1+2**(x+y)')
Module(None, Stmt([Discard(Add((Const(1), Power((Const(2), Add((Name('x'), Name('y'))))))))]))
И последнее, но не менее важное: почему: мне нужно сгенерировать эти латексные фрагменты, чтобы я мог показать их в веб-страницу с mathjax.