第二次渲染时出现 MathJax 错误
MathJax error on second time render
我使用 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 开始)没有被解析并显示在黑框中。为什么会这样?
问题是 \label
的使用。当重新排版数学时,标签已经存在(从第一次排版开始),因此 TeX 输入 jax 将其报告为错误(禁用 noErrors 扩展以查看错误消息)。
在再次排版之前,您需要重置标签(可能还有方程式编号)。为此,请使用
MathJax.Hub.Queue(
["resetEquationNumbers",MathJax.InputJax.TeX],
["Typeset",MathJax.Hub]
);
而不是 MathJax.Hub.Queue(["Typeset",MathJax.Hub])
调用。
我使用 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 开始)没有被解析并显示在黑框中。为什么会这样?
问题是 \label
的使用。当重新排版数学时,标签已经存在(从第一次排版开始),因此 TeX 输入 jax 将其报告为错误(禁用 noErrors 扩展以查看错误消息)。
在再次排版之前,您需要重置标签(可能还有方程式编号)。为此,请使用
MathJax.Hub.Queue(
["resetEquationNumbers",MathJax.InputJax.TeX],
["Typeset",MathJax.Hub]
);
而不是 MathJax.Hub.Queue(["Typeset",MathJax.Hub])
调用。