Javascript 如何将Markdown与MathJax一样用于Math StackExchange

Javascript 如何将Markdown与MathJax一样用于Math StackExchange,javascript,markdown,mathjax,Javascript,Markdown,Mathjax,更新后的帖子 好吧,我已经设法让Markdown和MathJax一起工作了,实际上这是相对简单的。我和MathJax一起使用过 $(function() { var $text = $("#text"), // the markdown textarea $preview = $("#preview"); // the preview div $text.on("keyup", function() { $preview.htm

更新后的帖子

好吧,我已经设法让Markdown和MathJax一起工作了,实际上这是相对简单的。我和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
    })
});
现在的问题是:我认为markdown是在MathJax改变数学之前首先解析我的数学。我该如何解决这个问题?我想它是固定在数学上的,但是怎么做呢?我需要停止markdown解析数学

更新2

这是可行的,但不确定math.stackexchange是否是这样做的,但它似乎产生了与我目前测试的结果相似/相同的结果

$(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()) );
    });
});

下面的旧帖子

在math stackexchange中,我可以使用MathJax和Markdown。我想知道我需要做什么?我可以使用像
marked
这样的库来呈现Markdown,但对于MathJax,它似乎只是在页面加载时呈现。我如何调用它来重新渲染或更好地只渲染所需的内容(由我指定)


更新

我想我应该看看。但是当我尝试的时候

$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"]);
})
其中:

  • $text
    :是my textarea的jQuery元素
  • $preview
    :是预览
    div

我发现
math
未定义,因此似乎
var math=MathJax.Hub.getAllJax(“预览”)
不起作用。我有一个
div#预览
btw.

最快的方法是保护数学不受标记解析器的影响


有关Davide Cervone的详细答案,包括math.SE使用的代码链接,请参见。

有关sublime,请将以下代码添加到
标记预览-->设置-用户

{
    /*
        Enable or not mathjax support.
    */
    "enable_mathjax": true
}
如下图所示


请参阅。

在markdown之前执行MathJax是聪明的(markdown传递html),但这意味着数学将在任何地方呈现。例如,不清楚您是否希望它以
literal
文本呈现。这是否回答了您的问题?
{
    /*
        Enable or not mathjax support.
    */
    "enable_mathjax": true
}