Мне нужно преобразовать строки с допустимым синтаксисом python, например:
'1+2**(x+y)'
и получить эквивалент LaTeX:
$1+2^{x+y}$
Я пробовал функцию симплексного латекса, но он обрабатывает фактическое выражение, а не его строчную форму:
>>> 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'))))))))]))
И последнее, но не менее важное: почему мне нужно генерировать эти латексные snipptes, чтобы я мог показать их на веб-странице с помощью mathjax.