2010-07-10 7 views
9

Ich frage mich, welche Optionen zur Verfügung waren eine erzeugen .png auf der Grundlage der Art der Eingabe ein Grafikrechner-Feeds .. soErzeugen Gleichung png-Dateien basierend auf mathematische Eingabe

(y^2 + 5x + 3)/((3x + 3) + 5j + 18)

zurückkehren würde

alt text

Das einzige, was ich bisher gefunden habe ist texvc in Mediawiki, aber es scheint übertrieben die ganze mediawiki zu erhalten für eines seiner Module.

+0

Ich habe ein starkes Gefühl, dass diese Frage ein Duplikat ist ... –

+1

0-800-CALL-KNUTH –

Antwort

9

Die Google Chart API hat diese Funktion, es dauert TeX input und erstellt ein Ausgabebild.

http://chart.apis.google.com/chart?cht=tx&chl=%5Cfrac%7By%5E2%2B5x%2B3%7D%7B(3x%2B3)%2B5y%2B18%7D

Eine weitere Option ist jsMath.

+0

cool! thx für die Veröffentlichung –

2

Es gibt dvipng, die mit TeX geliefert werden. Es hat viele Parameter zu drehen. Das ist gut, wenn Sie solche Kontrolle wollen, aber schlecht, wenn Sie etwas einfacheres verwenden möchten.

2

Eine Option Mathematica ist:

Export["etc.png", 
Rasterize[TraditionalForm[HoldForm[(y^2 + 5 x + 3)/((3 x + 3) + 5 y + 18)]]]] 

, die diese Bilddatei erzeugt:

alt text http://i32.tinypic.com/2qtbekz.png

+1

Ich bin mir ziemlich sicher, dass das OP will, dass die PNG-Generation automatisch erfolgt, vorzugsweise serverseitig, auf einer Webseite. –

+0

Ich kann nicht sehen, wie man das Handbuch auf dem Weg zu Tdo gibt es in einer teuren kommerziellen Software hilft die Umsetzung des Problems in einer Programmiersprache. – jsbueno

+3

Nun, die OP hat diese Frage "Mathematica" versehentlich markiert, also können wir Andrew Morgan nicht die Schuld geben. Es ist sehr üblich, dass Leute unwissentlich ihre Frage "Mathematica" (glauben, dass das Etikett "Mathematik" ist) markieren. –

1

Wie viele Menschen zitiert, TeX vielleicht der einfachste Weg sein, dort zu nehmen - Searching Für Python Tex ergeben sich einige Möglichkeiten, eine der einfacheren könnte sein: http://pypi.python.org/pypi/tex/1.5

Es ist nur ein Wrapper, Tex als Subprozess zu bezeichnen und eine "dvi" -Datei zu haben - du musst dvipng ausführen (was @JohnCook sagt, kommt mit TeX), um deine PNG-Datei zu bekommen.

Der Nachteil ist, dass Sie die gesamte TeX-Tool-Kette einrichten müssen (kein Problem bei den meisten Linux-Distributionen).

Ein anderer Weg wäre, MathML-Rendering-Bibliotheken zu bekommen - aber dann müssten Sie das MathML-Markup für Ihre Gleichung zusammenstellen. Das ist eine vielversprechende Python MathML zu SVG-Modul hier: http://sourceforge.net/projects/svgmath/ Das sollte weniger Bibliotheksabhängigkeiten haben, und je nach Ihren Zwecken, könnte SVG besser als .PNG für Gleichungen. Sonst fragt stackoverflow erneut nach .svg zu .png in Python :-)

2

Matplotlibs mathtext engine kann eine Teilmenge von TeX in Bilder umwandeln. Siehe speziell MathtextBackendBitmap für eine Lösung, die die anderen Matplotlib-Backends nicht benötigt.

Wenn das nicht hilft, hat Matplotlib auch Code, der TeX und dvipng aufruft.

Sage könnte auch einige nützliche Code enthalten.

0

Es gibt eine Website EquationSheet.com, mit der Sie LaTeX eingeben und die URL eines generierten Bildes abrufen können. Vielleicht könnte Ihre Website es verwenden.

Verwandte Themen