1

从一些外部来源(例如 Flash 应用程序)我得到文本(它是简单的 html、wiki markdown 和 TeX/LaTeX 的混合)。目前我有:(我使用jQuery)

      function render(text)
     {
         $("#wikiContent").html(text);
         MathJax.Hub.Typeset()
         $("#wikiContent").html(Markdown_Showdown_Converter.makeHtml( $("#wikiContent").html()));
     }

这导致下一个问题 - 任何复杂的数学,

$$
\begin{eqnarray*}
B_1 + z_1 M_1 &\equiv& B_2 \pmod {M_2}
\\ B_1 + z_1 M_1 + z_2 M_1M_2 &\equiv& B_3 \pmod {M_3}
\\ &\cdots&
\\ B_1 + z_1M_1 + z_2 M_1M_2 + \cdots + z_{k-1}M_1 M_2 \cdots M_{k-1} &\equiv& B_k \pmod{M_k}.
\end{eqnarray*}
$$

坏了=(

所以我想知道如何将一些 var 放入 MathJax 并从中获取 html?

4

1 回答 1

2

您不应该MathJax.Hub.Typeset()直接调用,而是使用MathJax.Hub.Queue()来排队排版。由于排版是异步操作的,因此您还需要将查找结果 HTML 的代码排入队列。就像是

function render(text)
{
  $("#wikiContent").html(text);
  MathJax.Hub.Queue(
    ["Typeset",MathJax.Hub],
    function () {
      $("#wikiContent").html(Markdown_Showdown_Converter.makeHtml($("#wikiContent").html()));
    }
  );
}

有关更多详细信息,请参阅页面上有关修改数学的 MathJax 文档。

但是请注意,您获得的 HTML 不是通用的(也就是说,它取决于您使用的浏览器、操作系统、您安装的字体、运行 MathJax 的页面上的 CSS 以及各种其他因素,因此您将无法将 HTML 复制并粘贴到另一个页面并期望得到一致的结果。

于 2012-02-23T21:18:00.313 回答