Mathematische Ausdrücke im eStudy-Forum

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Mathematische Ausdrücke in eStudy

Aufgabestellung

Im eStudy-Forum soll es für jeden angemeldeten User möglich sein, eine mathematische Formel in seinen Beitrag einzufügen.

Analyse der Aufgabestellung

In einem Forum wird folgende Nachricht geschrieben:

«Ich habe seit zwei Tagen versucht folgendes zu berechnen \int_0^1{e^{sin(x+1)}} dx. kann mir jemand weiterhelfen?»

Der angegebene Ausdruck «\int_0^1{e^{sin(x+1)}} dx» ist nicht für jeden verständlich. Die Nachricht wird genau so angezeigt. - Wie kann der Beitrag richtig angezeigt werden? Welche Formatierung können wir benutzen?

Versuche

Erster Versuch

Ersetzen der Formel durch ein Bild: Statisch

Die Formeln sind statisch als .gif-Bilder in einem Verzeichnis (forum/templates/images/formeln) gespeichert worden. Sie können auch in der Datenbank gesichert werden. Zu jedem Bild gehört eine Formel.

Beispiel: Das Bild Integral.png entspricht folgender TeX-Formel: \int_a^b{f(x)}dx.

Problem

Das ist keine optimale Lösung, da die Formeln beliebig sein können. Außerdem wird für jede Formel ein Bild angelegt, was viel Aufwand erfordert und nicht redundanzfrei ist. Das heißt, alles muss dynamisch geschehen.

Zweiter Versuch

Einsatz des mimeTeX-Parsers: Dynamisch

Was ist mimetex?

mimeTeX ist ein Open-Source-, GNU-GPL-lizenziertes Programm, welches LaTeX-Ausdrücke in Bilder umwandelt: Informationen zur Installation sind auf der mimeTeX-Seite zu finden. mimeTeX kann per Browser lokal ausgeführt werden, als CGI-Skript:

Beispiel: http://localhost/eStudy/cgi-bin/mimetex.cgi?f(x)=\sum_{n=0}^\infty\frac{x^{2n}+1}{n!}

Mit diesem Aufruf generiert mimetex.cgi ein entsprechendes .gif-Bild zu dem Ausdruck f(x)=\sum_{n=0}^\infty\frac{x^{2n}+1}{n!} Summe.gif.

Aufruf des mimeTeX-Interpretierer im eStudy-Forum:

Ein mathematischer Ausdruck kann nur in ein Bild umgewandelt werden, wenn er innerhalb der Tags [tex] und [/tex] steht.

Beispiel: [tex]\int_a^b{f(x)}dx.[/tex]

Die Tags werden als Muster für reguläre Ausdrücke im Quellcode benutzt, durch Suchen und Ersetzen der Tags wird ein passendes Bild zur gegebenen Formel angezeigt.Integral.png

Zur Zeit ist das Problem teilweise gelöst. Die mathematischen Ausdrücke werden als .gif-Bilder nur in der Vorschau des Beitrags angezeigt (siehe Bild).Beitrag mit Mathe Ausdrücke.jpg

Vorschläge für Erweiterungen

  1. Das eStudy-Projekt ist hauptsächlich in PHP geschrieben, es wäre also gut, wenn wir einen PHP-basierten Lösungsansatz (Latex-Interpreter) für das Problem finden könnten. Mimetex.c soll in ein mimetex.cgi kompiliert werden und ein neues Verzeichnis muss angelegt werden.
  2. Der BBCode kann um einen TeX-Parser erweitert werden. Dafür sind die Module bbcode.inc.php und class.stringparser_bbcode.inc.php zu erweitern.
  3. Wichtig wäre auch, der Benutzer die Möglichkeit zu geben, Ausdrücke aus der Statistik, Chemie oder Physik in Ihrem Beitrag einzufügen.

Weblinks

mimetex quickstart

Latex-Wikipedia