Gibt es einen Grund, die MathML-Syntax gegenüber TeX in MathJax zu bevorzugen?

9

MathJax , Opensource-Javascript-Bibliothek zum Rendern von Mathe, Unterstützung mehrerer Syntaxen, einschließlich MathML und LaTeX. Gibt es einen Grund, die Verwendung der MathML-Syntax für In-Page-Gleichungen gegenüber der TeX-Syntax zu bevorzugen? Es sieht nur so aus, dass MathML wesentlich ausführlicher ist.

    
Joannes Vermorel 25.09.2011, 10:43
quelle

3 Antworten

1

Wenn Sie zum Schreiben der Gleichungen keinen Menschen benötigen, ist MathML robuster. Es gibt eine klare Interpretation des Markups (welcher Anzeigemodus wird standardmäßig in allen MathJax-Implementierungen verwendet?), Es gibt eine bessere Chance für die Unterstützung von Text in Sprache für MathML. Es ist einfach, nach XPath zu suchen, wo Ihre mathematischen Elemente usw. sind.

Andere Nachteile des MathJax-Ansatzes sind die Steuer auf die Startzeit, die Tatsache, dass Ihr Browser gezwungen ist, Javascript zu verwenden.

    
Elazar Leibovich 26.09.2011, 06:38
quelle
2

Nun, wenn Sie sich die Kodierung genauer ansehen, werden Sie feststellen, dass sowohl MathJax als auch jsMath und andere ähnliche Javascript-Programme ziemlich genau dasselbe tun. Sie konvertieren, was LaTeX im Quellcode der Webseite ist, wie es vom Server bedient wird, in MathML auf der Client-Seite. Fühlen Sie sich frei, Ihr "LaTeX" hervorzuheben und zu sehen, wie der ausgewählte Quellcode tatsächlich für den Browser aussieht. Sie werden feststellen, dass es in den meisten Fällen MathML ist.

Sofern Sie nicht ein Skript oder eine Hosting-Site verwenden, die LaTeX in ein GIF- oder PNG-Bild rastert (was eine andere praktikable Option ist), wird Ihr LaTeX als MathML-Präsentation gerendert.

Im Fall von MathJax gibt es jedoch auch die Möglichkeit, SVG und HTML-CSS zu rendern. Beide erfordern große Mengen an clientseitigem Quellcode. SVG ist nicht wirklich praktisch (leider ist es nicht einmal allgemein anerkannt), aber es ist sicherlich cool. HTML-CSS, obwohl es vielleicht besser aussieht, ist nicht lesbar durch einen Mathe-Parser oder XML-Parser ... es ist auch der MathJax-Standard und belastet die Client-Seite stärker. Daher ist meiner Meinung nach das MathML-Rendering besser.

Wenn Sie also Ihre Frage richtig verstehen, ist Ihre Frage eigentlich strittig. Sie haben in beiden Fällen bereits mit MathML zu tun. Der Unterschied ist, was fällt Ihnen leichter in die Seite zu schreiben und einzubetten? Persönlich bevorzuge ich das Schreiben in LaTeX, nicht in MathML.

Ich habe jsMath und zuletzt MathJax benutzt. Aber ich benutze momentan auch noch Codecogs.com, um Latex im Handumdrehen in GIF umzuwandeln. (Sie haben beide ein & lt; -Script & gt; und Sie können direkte Verknüpfung verwenden & lt; img src = & gt;)

Tatsache ist, dass Sie nur zwei Möglichkeiten haben (naja, vier technisch). Sie haben MathML- oder GIF-Bilder als primäre zwei. Was all diese Skripte und Hosting-Sites tun, ist eine Konvertierung von LaTeX in GIF oder MathML (oder das weniger wünschenswerte SVG oder HTML-CSS). Gerader LaTeX-Text ist genauso schwer zu lesen wie MathML-Quellcode - Sie müssen eine Art Rendering-Prozess haben.

Ein enormer Vorteil beim Codieren von MathML besteht darin, dass Sie die vollständige Kontrolle über die Grammatik und Struktur der XML-basierten Sprache haben (falls Sie diese anderen Matheprogrammen und Sites zur Verfügung stellen). Aber die anderen Vorteile sind: Sie benötigen kein Javascript, und deshalb müssen Ihre Besucher Javascript nicht aktivieren.

Zufälligerweise ist ASCIIMath ein gutes Beispiel für ein einfaches Javascript, das LaTeX auf sehr schöne und optimierte Weise in Unicode und HTML-CSS konvertiert.

    
CogitoErgoCogitoSum 20.02.2013 22:16
quelle
0

MathML bietet Barrierefreiheit für Sehbehinderte, aber Sie können Ihre Gleichungen auch dann als MathML anzeigen, wenn Sie sie mit LaTeX erstellen.

Was Elazars Frage betrifft, "welcher Anzeigemodus standardmäßig in allen MathJax-Implementierungen verwendet wird", liegt es ganz bei Ihnen, wenn Sie die Seite einrichten. Es wird mit dem <script> Tag gemacht, wie in der MathJax Dokumentation .

    
afwings 26.09.2011 23:06
quelle

Tags und Links