Wie zu verwenden Markdown mit MathJax wie Math StackExchange

AKTUALISIERT POST

Ok ich habe es geschafft, Markdown und MathJax zusammen arbeiten, war es relativ einfach, eigentlich. Ich habe markiert zusammen mit MathJax.

$(function() {
    var $text       = $("#text"), //the markdown textarea
        $preview    = $("#preview"); //the preview div

    $text.on("keyup", function() {
        $preview.html( marked($text.val()) ); //parse markdown
        MathJax.Hub.Queue(["Typeset", MathJax.Hub, "preview"]); //then let MathJax do its job
    })
});

Problem ist jetzt: ich denke, markdown ist analysieren meine Mathe-1. vor MathJax kann es ändern. Wie kann ich dieses Problem beheben? Ich denke, seine Feste auf Mathe StackOverflow, aber wie? Muss ich halt Preisabschlag von parsing-math

UPDATE 2

Dies funktioniert, aber nicht sicher, ob seine Art und Weise Mathematik.stackexchange hat, aber es scheint zu produzieren, die ähnliche/gleiche Ergebnisse mit dem, was ich bisher getestet ...

$(function() {
    var $text       = $("#text"),
        $preview    = $("#preview");

    $text.on("keyup", function() {
        $preview.html( $text.val() );
        MathJax.Hub.Queue(["Typeset", MathJax.Hub, "preview"]);
    });

    MathJax.Hub.Register.MessageHook("End Process", function (message) {
        $preview.html( marked($preview.html()) );
    });
});

ALTEN POST UNTER

In der math stackexchange, die ich verwenden kann MathJax mit Markdown. Ich Frage mich, was muss ich tun? Ich kann eine Bibliothek, wie marked zu erbringen Markdown, aber für MathJax, es scheint, wie es nur macht auf die Seite geladen. Wie kann ich es nennen, zu re-Rendern, oder besser einfach machen was ist nötig (angegeben von mir)

html = marked("some markdown string") //a HTML string
//is there something like
html = MathJax.parse(html)

UPDATE

Ich denke, ich sollte einen Blick auf http://www.mathjax.org/docs/1.1/typeset.html#manipulating-individual-math-elements. Aber wenn ich versuche

$text.on("keyup", function() {
    $preview.html( marked($text.val()) );
    var math = MathJax.Hub.getAllJax("preview");
    console.log(math);
    MathJax.Hub.Queue(["Text", math, "a+b"]);
})

Wo:

  • $text: ist das jQuery-element für meine textarea
  • $preview: ist die Vorschau div

Ich finde, dass math undefiniert ist, so scheint es var math = MathJax.Hub.getAllJax("preview") funktioniert nicht. Ich habe eine div#preview btw.

  • Dabei MathJax vor markdown ist clever (markdown html geht durch), bedeutet aber, dass Mathematik dargestellt wird, überall. Es ist zum Beispiel unklar, dass Sie wollen, dass es gerendert in literal text.
InformationsquelleAutor Jiew Meng | 2012-08-22
Schreibe einen Kommentar