Konvertierung von python-numeric-expression in LaTeX

Brauche ich zum konvertieren von Zeichenfolgen, die gültige python-syntax, wie:

'1+2**(x+y)'

und das äquivalent LaTeX:

$1+2^{x+y}$

Habe ich versucht sympy die latex-Funktion, aber es Prozesse, die eigentliche Ausdruck ist, eher als die string-form:

>>> latex(1+2**(x+y))
'$1 + 2^{x + y}$'
>>> latex('1+2**(x+y)')
'$1+2**(x+y)$'

aber auch hierzu benötigt es x und y werden deklariert als Typ "Symbole".

Möchte ich mich etwas mehr straight forward, vorzugsweise machbar mit dem parser aus der compiler-Modul.

>>> compiler.parse('1+2**(x+y)')
Module(None, Stmt([Discard(Add((Const(1), Power((Const(2), Add((Name('x'), Name('y'))))))))]))

Last but not least, warum: ich brauche zu erzeugen, die latex-Schnipsel, so dass ich zeigen kann, die Sie in einer Webseite mit mathjax.

  • Eine wichtige Unterscheidung ist, dass Sie analysieren, diese Ausdrücke nicht zu bewerten, sondern zu tun, Dokument-layout mit Ihnen. Es ist zu sagen, dass Sie wusste, zu ersetzen, die Klammern um x+y mit Klammern, aber es gibt sicher andere Orte, wo die Klammern würde bewahrt werden müssen. Ich denke, du gehst zu haben, um einige Gründliche Gedanken darüber, was Sie versuchen, zu analysieren, und was sollte es Aussehen, wenn Sie fertig sind. Dann können Sie beginnen, überlegen, wie eine solche Veränderung erreicht werden könnte gegeben, einen passenden parser. Dies wird Ihnen auch helfen zu formulieren, was der parser benötigen, zu tun.
InformationsquelleAutor fccoelho | 2010-10-05
Schreibe einen Kommentar