Hallo,
für eine Bachalorarbeit muss ein Bemessungshilfenprogramm geschrieben werden.
Ursprünglich hatten wir vor das ganze in PHP zu schreiben, da die Syntax rtc. uns
zum großen Teil bekannt ist.
Da aber unter Python ein ComputerAlgebraSystem zur Verfügung steht wollen
wir unser Projekt nun in Python realisieren
Nachdem wir komplexe Berechnungen im Programm durchgeführt haben, wollen
wir einen Lösungsweg ausgeben. Dieser soll mit aufbereitten Formeln daher kommen.
Als Lösung dafür wollten wir PhpMathPublischer nutzen.
Da unser Interface für die Ein- sowie Ausgabe eine HTML Seite (Über ein Framework bereitgestellt) ist,
kann man die generierten Bildeer sehr schön laden.
Leider haben wir bis dato keine Alternativlösung zu PhpMathPublischer gefunden.
Kann uns evtl. jmd. mit einer Pythonvariante weiterhelfen?
Gruß
Mathman
Alternative zu PhpMathPublischer
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
In Welchem Format stehen denn die Formeln zur Verfügung? Sieht ja nach LaTeX aus...
Prinzipiell einfach mal bei pypi recherchieren, ob es nicht einen Wrapper um LaTeX2HTML o.ä. gibt.
Ansonsten funktioniert evtl. etwas in Richtung MathML vom w3c?
Prinzipiell einfach mal bei pypi recherchieren, ob es nicht einen Wrapper um LaTeX2HTML o.ä. gibt.
Ansonsten funktioniert evtl. etwas in Richtung MathML vom w3c?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Nun MathML gibt es, aber der Browser-Support kommt erst langsam voran (mittlerweile unterstuetzen es aber alle aktuellen Browser - wenn man fuer den IE Version 9 hernimmt).
Daneben gibt es noch jsmath: http://sourceforge.net/projects/jsmath/.
Die dritte Moeglichkeit waere es die Fragmente selbst als Bild per LaTeX zu erstellen.
Aber eine direkte Python-Loesung ist mir nicht bekannt.
Edit: Es gibt noch MathJax: http://www.mathjax.org/ - ebenfalls JavaScript.
Daneben gibt es noch jsmath: http://sourceforge.net/projects/jsmath/.
Die dritte Moeglichkeit waere es die Fragmente selbst als Bild per LaTeX zu erstellen.
Aber eine direkte Python-Loesung ist mir nicht bekannt.
Edit: Es gibt noch MathJax: http://www.mathjax.org/ - ebenfalls JavaScript.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- mathman
- User
- Beiträge: 92
- Registriert: Mittwoch 19. November 2008, 08:27
- Wohnort: Magdeburg
- Kontaktdaten:
MathJax, das ist besser als ich es mir vorgestellt habe,
ich bin geflasht
Da kann man einfach LaTEX Code übergeben und dann schreibt das
Skript im Browser die Formel rein, d.h. der Server wird minimal belastet
Falls das Programm dann von einem HIWI (im besten Fall von uns) nach Abgabe
erweitert wird, soll evtl. ein Interface geschrieben werden in QT oder weiß der Teufel.
Gibt es denn auch ein Bibliothek die die Formel als Bilder generieren würde, damit
diese dann im Interface stehen? Ist wie gesagt nur eine Frage am Rande, für unsere
Zwecke gibt es glaube ich keine bessere Lösung als deine mit MathJax
Was ist pypi ? So nen Wrapper wäre natürlich auch cool
ich bin geflasht
Da kann man einfach LaTEX Code übergeben und dann schreibt das
Skript im Browser die Formel rein, d.h. der Server wird minimal belastet
Falls das Programm dann von einem HIWI (im besten Fall von uns) nach Abgabe
erweitert wird, soll evtl. ein Interface geschrieben werden in QT oder weiß der Teufel.
Gibt es denn auch ein Bibliothek die die Formel als Bilder generieren würde, damit
diese dann im Interface stehen? Ist wie gesagt nur eine Frage am Rande, für unsere
Zwecke gibt es glaube ich keine bessere Lösung als deine mit MathJax
Was ist pypi ? So nen Wrapper wäre natürlich auch cool
matplotlib kann u.A. auch Formeln rendern und das Ergebnis als Bild abspeichern.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
In QuickTime kann man Interfaces schreiben?
Das ist PyPI: http://pypi.python.org/pypi
Hier hat jemand fuer orgmode eine statische Version von mathjax auf Xulrunner-Basis gebastelt, evtl kannst du dir was abschauen.
Das ist PyPI: http://pypi.python.org/pypi
Hier hat jemand fuer orgmode eine statische Version von mathjax auf Xulrunner-Basis gebastelt, evtl kannst du dir was abschauen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- mathman
- User
- Beiträge: 92
- Registriert: Mittwoch 19. November 2008, 08:27
- Wohnort: Magdeburg
- Kontaktdaten:
Wunderbar
Mit QT meine ich Qt ermöglicht die plattformübergreifende Entwicklung von grafischen Benutzeroberflächen (GUIs).
Also einfach nur nen GUI-Toolkits. War nur ein Beispiel, in dem Buch was ich z.Z. lese wird glaube ich später auf TkInter eingegangen. Aber das ist erst einmal
in weiter Ferne, erst mal die Arbeit hin bekommen. Wie gesagt, wir wollen das erst einmal für Browser programmieren, dann kann man das Programm
auch auf den Fachbereichswebserver stellen und alle Studenten könnten damit arbeiten. Man braucht als Client ja nur den Browser. Meiner Meinung
nach läuft in der Zukunft eh alles dezentral.
wir wollen u.A. einen dekompressionsnachweiß führen,
problem ist, dass dafür die formel halt immer anders ist.
das kann man wunderbar mit einem ComputerAlgebraSystem wie
numpy lösen. Kann man sich dann den Lösungsweg von numpy
in LaTEX geschrieben ausgeben lassen ? Würde nur gerne wissen
ob so etwas möglich ist, ich würde dann zu geraumer Zeit noch einmal
darauf zurück kommen.
++Nachtrag++
MathJax ist ja 50 MB groß, das würde sicherlich schön Traffic
verursachen wenn da Teile immer geladen werden müssen
mathplotlib wäre da sicherlich günstiger vom Traffic her. Wenn man da
die Formel in Latex übergibt, wird dann die Bildgröße automatisch angepasst,
also nicht das dann die hälfte der Formel im Bild fehlt ?
Mit QT meine ich Qt ermöglicht die plattformübergreifende Entwicklung von grafischen Benutzeroberflächen (GUIs).
Also einfach nur nen GUI-Toolkits. War nur ein Beispiel, in dem Buch was ich z.Z. lese wird glaube ich später auf TkInter eingegangen. Aber das ist erst einmal
in weiter Ferne, erst mal die Arbeit hin bekommen. Wie gesagt, wir wollen das erst einmal für Browser programmieren, dann kann man das Programm
auch auf den Fachbereichswebserver stellen und alle Studenten könnten damit arbeiten. Man braucht als Client ja nur den Browser. Meiner Meinung
nach läuft in der Zukunft eh alles dezentral.
wir wollen u.A. einen dekompressionsnachweiß führen,
problem ist, dass dafür die formel halt immer anders ist.
das kann man wunderbar mit einem ComputerAlgebraSystem wie
numpy lösen. Kann man sich dann den Lösungsweg von numpy
in LaTEX geschrieben ausgeben lassen ? Würde nur gerne wissen
ob so etwas möglich ist, ich würde dann zu geraumer Zeit noch einmal
darauf zurück kommen.
++Nachtrag++
MathJax ist ja 50 MB groß, das würde sicherlich schön Traffic
verursachen wenn da Teile immer geladen werden müssen
mathplotlib wäre da sicherlich günstiger vom Traffic her. Wenn man da
die Formel in Latex übergibt, wird dann die Bildgröße automatisch angepasst,
also nicht das dann die hälfte der Formel im Bild fehlt ?
numpy ist kein CAS. Vielleicht suchst du SAGE?mathman hat geschrieben:wir wollen u.A. einen dekompressionsnachweiß führen,
problem ist, dass dafür die formel halt immer anders ist.
das kann man wunderbar mit einem ComputerAlgebraSystem wie
numpy lösen.
Bezweifle ich. MathJax ist nur so groß, weil für alte Browser die einzelnen Glyphen in verschiedenen Größen als Bild vorgehalten werden. Bei modernen Browsers können SVGs, eingebettete Schriften oder sogar die MathML-Fähigkeiten des Browsers verwendet werden. Und selbst bei den Bildern können die einzelnen Glyphen vom Browser gecached werden. Die matplotlib-Lösung verwendet immer ein neues Bild pro Formel. Wenn MathJax bei dem von dir angepeilten Zielpublikum funktioniert würde ich dem den Vorzug gegenüber eine Frickel-Lösung mit Latex oder matplotlib geben.MathJax ist ja 50 MB groß, das würde sicherlich schön Traffic
verursachen wenn da Teile immer geladen werden müssen
mathplotlib wäre da sicherlich günstiger vom Traffic her.
Wenn du Qt kennst, dann solltest du am besten auch mit Qt unter Python weitermachen. Tkinter ist nicht so dolle im vgl. dazu. Die Zeit kannst du dir sparen.Mit QT meine ich Qt ermöglicht die plattformübergreifende Entwicklung von grafischen Benutzeroberflächen (GUIs).
Also einfach nur nen GUI-Toolkits. War nur ein Beispiel, in dem Buch was ich z.Z. lese wird glaube ich später auf TkInter eingegangen.
- mathman
- User
- Beiträge: 92
- Registriert: Mittwoch 19. November 2008, 08:27
- Wohnort: Magdeburg
- Kontaktdaten:
Hmm,
ich kam wahrscheinlich auf Numpy weil
man da Gleichungssysteme lösen konnte ...
Werde mir aber Sage anschauen, danke.
Versteh ich das richtig, ich schicke an MathJax einen String
wo Latex Code drinne steht. MathJax ermittelt den Browser und
sucht dann das günstigste raus. Also am besten dass nichts
nach geladen werden muss, sondern dass im Browser MathML
genutzt wird?
Qt war wie gesagt nur ein Beispiel. Was dann letztendlich genutzt wird,
hängt von den wünschen des Profs ab
ich kam wahrscheinlich auf Numpy weil
man da Gleichungssysteme lösen konnte ...
Werde mir aber Sage anschauen, danke.
Versteh ich das richtig, ich schicke an MathJax einen String
wo Latex Code drinne steht. MathJax ermittelt den Browser und
sucht dann das günstigste raus. Also am besten dass nichts
nach geladen werden muss, sondern dass im Browser MathML
genutzt wird?
Qt war wie gesagt nur ein Beispiel. Was dann letztendlich genutzt wird,
hängt von den wünschen des Profs ab