javascript - 如何在 Javascript 中重写 RegExp?

标签 javascript latex

我正在使用一个名为 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);
}

最佳答案

将新数学添加到页面后,您需要告诉 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 配置为使用替代分隔符)。

关于javascript - 如何在 Javascript 中重写 RegExp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20273319/

相关文章:

javascript - 使用 jquery 删除动态创建的元素(使用单独的删除按钮)

javascript - HTML 使图像充当按钮而无需提交的正确方法

javascript - 更改数组javascript中 'key'的字符串

latex - 更改\citep 中单个特定引文的颜色

latex - 如何删除附录中两章之间的空白页?

r - knit + LaTeX(Rnw 文件)在 TeXShop 中编译,但在 RStudio 中失败并出现 UTF-8 错误

javascript - HTML 5 chartjs 不能作为静态文件工作

javascript - 使用图层/标记打印谷歌地图 div

r - RMarkdown 演示文稿中的列中的代码

r - 为 LaTeX 编译清理字符串的函数?