MathJax如何理解它的配置代码


现在有越来越多的公式输入需求,我想在SF上添加添加对数学公式显示的支持。目前这方面做的比较好的是 http://math.stackexchange.com ,它使用 这一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来重新渲染这些公式呢?

mathjax JavaScript

666666 11 years ago

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 属于通用配置,文档在 这个页面 ,用于控制是否显示加载信息。

----

boywest answered 11 years ago

Your Answer