search

Home  >  Q&A  >  body text

javascript - MathJax如何理解它的配置代码

现在有越来越多的公式输入需求,我想在SF上添加添加对数学公式显示的支持。目前这方面做的比较好的是http://math.stackexchange.com,它使用mathjax这一js库,我发现了如下代码配置

<script type="text/x-mathjax-config">
                MathJax.Hub.Config({"HTML-CSS": { preferredFont: "TeX", availableFonts: ["STIX","TeX"], linebreaks: { automatic:true }, EqnChunk: (MathJax.Hub.Browser.isMobile ? 10 : 50) },
                                    tex2jax: { inlineMath: [ ["$", "$"], ["\\\\(","\\\\)"] ], displayMath: [ ["$$","$$"], ["\\[", "\\]"] ], processEscapes: true, ignoreClass: "tex2jax_ignore|dno" },
                                    TeX: {  noUndefined: { attributes: { mathcolor: "red", mathbackground: "#FFEEEE", mathsize: "90%" } } },
                                    messageStyle: "none"
                });
         </script>
        <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> 

谁能解释下这些配置的意思,另外我需要在输入问题时实现对公式输入的实时预览,调用哪个API来重新渲染这些公式呢?

阿神阿神2894 days ago703

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 12:46:42

    HTML-CSS 这部分是 MathJax 处理 HTML/CSS 输出的配置,详细说明在 这个页面 。这里主要是设置字体(preferredFont、availableFonts)、换行(linebreaking)和渲染延迟(EqnChunk)。

    tex2jax 这部分是 tex2jax.js 预处理程序需要的配置,详细说明在 这个页面 。这里设置为可以使用“$ 公式 $”或“\\( 公式 )\\”在行内内联公式,而“$$ 公式 $$”和“\[ 公式 ]\”则显示为 block 级别的公式。processEscapes 设置是否允许使用 \$ 来 escape 一些信息。ignoreClass 用于设置具有哪些 css class 的标签不用 tex2jax 预处理。

    TeX 这部分是处理 TeX 及相关插件的输入的,详细说明在 这个页面 。例如,这里可以用来加上公式编号和宏的功能。这里的 noUndefined 配置是对 noUndefined.js 扩展的,详情在 这里 。还有许多其它的扩展,如 noErrors 等。

    messageStyle 属于通用配置,文档在 这个页面 ,用于控制是否显示加载信息。

    ----

    • 更多的配置信息,这里可以找到几乎所有的配置项说明
    • MathJax 对 TeX 的支持信息,这里可以了解各种插件信息
    • 一些范例,可以帮助我们更快的理解 MathJax 如何工作

    reply
    0
  • PHPz

    PHPz2017-04-10 12:46:42

    传送门:http://mathjax-chinese-doc.readthedocs.org/en/latest/configuration.html

    reply
    0
  • Cancelreply