Mathjax在第一次渲染时会在div中显示奇怪的公式

时间:2014-07-15 21:14:54

标签: mathjax

我正在使用Mathjax在div中渲染分数。第一次渲染时,会显示 div中的公式(Latex),然后更改为我想要的方式的分数。这仅在第一次渲染分数时发生。我已经尝试在页面首次加载时运行Mathjax Typeset,但它 没有帮助。有没有办法压制这个?

1 个答案:

答案 0 :(得分:1)

正如彼得在上面的评论中所提到的,MathJax在页面加载之后才能运行,当它加载时,它必须加载你选择的配置所需的文件。这意味着读取器可以看到未处理的页面,直到MathJax文件加载并运行。所以你看到的是正常的。它只是第一次发生的原因是,当您重新加载页面时,MathJax文件已经在浏览器缓存中,因此不需要再次通过网络检索,MathJax可以更快地处理页面(尽管原始的LaTeX代码可能仍然可以短暂显示。

这是MathJax运行方式所固有的,并没有简单的方法来阻止它。正如Peter建议的那样,可以使用CSS来隐藏页面,直到MathJax完成其处理,但这仅对没有很多数学的页面有用(否则页面将长时间显示为空白)。有关一种方法,请参阅these examples,尤其是display:none上的{{}}}。另请参阅this example了解如何在加载数学之前隐藏页面。您需要查看源代码以了解它的工作原理。

也可以将您的LaTeX放入MathJax内部用于在页面中存储数学的<script>标签中(有关详细信息,请参阅the documentation),以便它们不会在最初的页面,但是在第一次加载时你仍然可以看到没有数学的页面,然后在MathJax运行后出现排版数学。

两者都不是理想的解决方案。