2012-03-27 122 views
0

我有一个网页,使用mathjax渲染乳胶方程。 为了加载方程更快,我试图避免预处理步骤,通过更换Mathjax加载问题

数学定界符由<span class="MathJax_Preview">[loading...]</span><script type="math/tex;"> latex equation here </script>

但问题是;而呈现,附带的方程中的HTML实体被示出为这样的,因此方程 不会呈现properly.For例如,“&”用于多个步骤的对准。但它显示为&

替换数学分隔符<script>标记是动态完成的。如果我删除了这一步,那么上述问题就不存在了,并且方程中的html实体被正确渲染。

我怎样才能解决这个问题?

我的最终目标是使方程式加载速度更快。 显示类似[loading ...]的预处理器,直到数学完全排版。

感谢,

LS开发

回答

0

注意,<script type="math/tex">的内容是TeX的(或胶乳),而不是HTML,所以HTML实体不应该包括在那里。 HTML中任何<script>的内容都是CDATA,因此不会执行任何处理,包括实体转换。

如果您使用像&#65;&#x41;这样的数字实体,那么很容易用它们代表的字符替换它们。如果您使用的是命名实体,那么您需要通过查表或其他过程将它们转换为其字符。更好的办法是不要把实体放在首位。你不能执行这一步吗? (我假设这是在您的控制之外完成的。)

请注意,MathJax中的预处理步骤实际上相当快,除非拥有大量方程式,否则不会成为瓶颈。这是转换到HTML是时间下沉。如果您没有使用其中一个组合配置文件,则只需移除其中一个配置文件,而不是通过移除预处理器步骤即可获得更好的改进。如果您已经在使用组合配置文件,但没有使用“-full”版本,那么移动到该位置也会加快数学运算的速度(因为您不必等待输入和输出jax在第一次使用时加载)。

+0

我使用的是组合配置,而不是 - 全version.Now我会改变完整版。 – 2012-03-28 02:03:30