从某些外部来源(例如Flash应用程序)我得到文本(混合了简单的html,wiki markdown和TeX / LaTeX)。目前我有:(我使用jQuery)
function render(text)
{
$("#wikiContent").html(text);
MathJax.Hub.Typeset()
$("#wikiContent").html(Markdown_Showdown_Converter.makeHtml( $("#wikiContent").html()));
}
这导致了下一个问题 - 任何复杂的数学运算,如such:
$$
\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?
答案 0 :(得分: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()));
}
);
}
有关详细信息,请参阅有关modifying math on the page的MathJax文档。
但请注意,您获得的HTML不是通用的(也就是说,它取决于您使用的浏览器,操作系统,已安装的字体,运行MathJax的页面上的CSS以及各种其他因素,因此您将无法将HTML复制并粘贴到另一个页面,并期望获得一致的结果。