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来重新渲染这些公式呢?
666666
11 years, 2 months ago
Answers
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 如何工作
boywest
answered 11 years, 2 months ago