【问题标题】:MathJax JS API: How to send a var with text in it and get html out of it?MathJax JS API:如何发送包含文本的 var 并从中获取 html?
【发布时间】:2011-12-16 23:35:47
【问题描述】:

从一些外部来源(例如 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?

【问题讨论】:

    标签: javascript jquery html var mathjax


    【解决方案1】:

    您不应该直接调用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 复制并粘贴到另一个页面并期望得到一致的结果。

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多