Javascript 如何将Markdown与MathJax一样用于Math StackExchange
更新后的帖子 好吧,我已经设法让Markdown和MathJax一起工作了,实际上这是相对简单的。我和MathJax一起使用过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
$(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"]);
})
其中:
:是my textarea的jQuery元素$text
:是预览$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
}