2014-10-03 104 views
0

我试图将MathJax嵌入到页面中,使乳胶呈现为真正的公式/表达式,但是我没有得到任何错误,也没有任何渲染。该代码是直接从MathJax文件MathJax不渲染乳胶

采取我有以下代码

var div = MathJax.HTML.Element(
    "div", 
    {id: "MathDiv", style:{border:"1px solid", padding:"5px"}}, 
    ["Here is math: \\(x+1\\)",["br"],"and a display $$x+1\\over x-1$$"] 
); 
document.body.appendChild(div); 

说没有任何错误执行,所以MathJax正确装入,且有在控制台中没有错误或者。所以很少有信息可以继续。任何好的建议,以我如何调试这种情况下,甚至更好的解决方案:)

+0

你见过[这部分文档](http://docs.mathjax.org/en/latest/typeset.html)吗? – 2014-10-03 13:08:14

+0

@PeterKrautzberger如果你把它写成propper答案我会投票给它 – 2014-10-03 15:30:00

+0

好吧,从技术上讲,这是一个重复的(尽管有很多)例如。 http://stackoverflow.com/a/17054116/1339651 – 2014-10-03 16:01:07

回答

0

此代码适用于我。

<!doctype html> 
<html> 
<head> 

<!-- or use the cdn for mathjax source code --> 
<script src="../MathJax/MathJax.js"> 
    MathJax.Hub.Config({ 
    jax: ["input/TeX","output/HTML-CSS"], 
    extensions: ["tex2jax.js"], 
    tex2jax: { 
     inlineMath: [ ['\\(','\\)'] ], 
     displayMath: [ ['$$','$$'] ] 
    } 
    }); 

    function doOnLoad() { 
    var div = MathJax.HTML.Element(
      "div", 
      {id: "MathDiv", style:{border:"1px solid", padding:"5px"}}, 
      ["Here is math: \\(x^2+1\\)",["br"],"and a display $$x+1\\over x-1$$"] 
     ); 
    document.body.appendChild(div); 
    // This does not seem needed but you can use if to force rendering of a div 
    // MathJax.Hub.Queue(["Typeset",MathJax.Hub,'MathDiv']); 
    } 
</script> 

</head> 
<body onload="doOnLoad();"> 

</body> 
</html> 

我认为您需要在onload方法中添加div,因此div在页面完全解析后添加。