当在Javascript上调用Mathjax并且我想输出变量的值时,如何通过Mathjax呈现公式?

问题描述

前段时间,我编写了一个in-browser fraction calculator编码,现在我决定使用Mathjax,以便以一种视觉上更加愉悦的方式呈现输出。问题是要输出的公式取决于变量的值,我不知道该怎么做。

例如,原始代码的片段为:

return "The fraction " + x + "/" + y + " is irreducible. ";

其中x和y是函数的参数。我尝试过类似的事情:

return "The fraction " + "$${"+x+ "\over" +y+"}$$"+ " is irreducible . ";

但是它输出单词“ over”和“ $”,“ {”,“}”符号,而不是呈现分数。

阅读pertinent documentation后,我发现在页面加载后输出Mathjax公式并非易事,并且需要一些命令来呈现它们。所以我扔了命令

MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
MathJax.Hub.Typeset();

有关功能,但未更改。

解决方法

反斜杠在Javascript字符串中具有特殊含义(它们用于获取非ASCII字符,例如用于换行符的\n和用于制表符的\t)。因此,如果要在字符串中包含显式的反斜杠(如此处所示),则需要将其加倍(\\)。这意味着您需要使用"\\over"代替"\over"