我使用MathJax动态渲染以下代码:
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}.$$
In equation \eqref{eq:sample}, we find the value of an interesting integral:
\begin{equation}
\int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15}
\label{eq:sample}
\end{equation}
使用Hub.Queue
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
第一次渲染效果很好。但是当我尝试使用相同的代码再次渲染时,只渲染第一部分,但是第二部分(从\ begin开始)不会被解析并显示在黑框中。为什么会这样?
答案 0 :(得分:3)
问题在于使用\label
。当重新排版数学时,标签已经存在(来自第一个排版),因此TeX输入jax将其报告为错误(禁用noErrors扩展以查看错误消息)。
您需要在再次排版之前重置标签(可能是公式编号)。为此,请使用
MathJax.Hub.Queue(
["resetEquationNumbers",MathJax.InputJax.TeX],
["Typeset",MathJax.Hub]
);
而不是MathJax.Hub.Queue(["Typeset",MathJax.Hub])
来电。