我正在使用一个名为MathJax的Javascript库,它允许您在HTML中使用LaTex和其他类似的数学标记语言。我试图在Javascript中使用它,但正则表达式正在阻碍它。这是我的代码:
function sendTex()
{
var latexStuff = $("#texField").val();
var latexString = "When $a \ne 0$, there are two solutions to \*(ax^2 + bx + c = 0\*) and they are
$$x = {-b \pm \qrt{b^2-4ac} \over 2a}.$$";
$("#texVersion").append(latexString);
}
答案 0 :(得分:1)
将新数学添加到页面后,您需要告诉MathJax处理该新数学。有关详细信息,请参阅MathJax documentation。主要想法是使用
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
当您希望MathJax在页面上处理新数学时。在您的情况下,您可以尝试
function sendTex()
{
var latexStuff = $("#texField").val();
var latexString = "When $a \\ne 0$, there are two solutions to \\(ax^2 + bx + c = 0\\)" +
" and they are $$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}.$$";
$("#texVersion").append(latexString);
MathJax.Hub.Queue(["Typeset",MathJax.Hub,"texVersion"]);
}
看看这对你有用吗?请注意,您需要加倍反斜杠,因为在JavaScript字符串中,反斜杠是一个特殊字符,因此要获得文字反斜杠,您需要使用其中的两个。您还有\qrt
而非\sqrt
和\*(...\*)
而不是通常的\(...\)
(但您可能已将MathJax配置为使用替代分隔符)。