0

我有类似 StackOverflow 的“提问”页面的内容,其中一个文本框用于放置源标记代码,而在下面,另一个文本框(不可编辑)用于呈现正在输入的帖子/问题的预览.

考虑到我的应用程序不仅让我可以为帖子内容使用简单的小型标记语言;它还为我提供了使用MathJax在其中输入数学的可能性。但是语法是简单的 Latex 语法(不过这不是问题,所以不要让这件事太打扰你)。

问题

问题如下。该页面与 StackOverflow 的页面略有不同,因为它使用带有 AJAX 的 ASP.NET 来调用在 HTML 中执行标记语言翻译的服务器端过程(这是我的选择,我有代码服务器端,那里在标记翻译代码的 javascript 中没有实现)。

当异步脚本运行时(每 10 秒),不可编辑的文本框会重新填充翻译后的标记。Latex 代码也放在那里(不对其执行翻译),并且每次 AJAX 过程返回时都会调用 MathJax 脚本(因此,latex 代码将在标记语言之后呈现,这种 Latex 呈现发生在客户端)。

问题是,有时渲染的数学很奇怪,尤其是考虑到方程编号。数字确实会增加每个新的 AJAX 调用。我想必须有一种方法可以完全重置页面中实例化的 MathJax 对象的状态或其他任何东西......有没有办法重置 MathJax?

我认为这里的 AJAX 是问题...谢谢您的帮助,希望我很清楚。

4

1 回答 1

2

如果你加载了一个包含 AMSmath 扩展的配置文件,你可以使用

MathJax.InputJax.TeX.resetEquationNumbers()

重置方程式编号和用于 和 的\ref标签\eqref。如果要从特定的方程式编号开始编号,请使用

MathJax.InputJax.TeX.resetEquationNumbers(n)

其中n是起始数字减 1(默认为 0)。

于 2012-09-12T22:47:07.000 回答