在 MathJax 文档中的以下链接中,它按字母顺序列出了支持的 LaTeX 符号,然后是支持的环境集...
http://www.mathjax.org/docs/2.0/tex.html#symbols
我的问题是这些符号/环境在哪里描述和记录?
例如,该\above
符号的明确描述在哪里?
答案1
网页
http://www.onemathematicalcat.org/MathJaxDocumentation/TeXSyntax.htm
对 MathJax 解释的每个 LaTeX 命令都有非常详细的解释。
这些命令当然在 LaTeX 手册或许多用户指南中都有解释;标记为“AMS”的命令在amsmath 文档。
关于 LaTeX 数学的一个特别推荐的指南是“数学模式”由 Herbert Voß 撰写(但更侧重于在 LaTeX 中的使用)。
答案2
确切的答案在 JavaScript 源代码中。检查源代码的最佳方法是从 GitHub 下载源代码
git clone http://github.com/mathjax/MathJax
一旦你有了源文件,那么就有可能准确地看到它\above
是如何实现的,你会发现它\above
被定义unpacked/jax/input/TeX/jax.js
为“Over”,而它又是使用以下 JavaScript 实现的
Over: function (name,open,close) {
var mml = STACKITEM.over().With({name: name});
if (open || close) {
mml.open = open; mml.close = close;
} else if (name.match(/withdelims$/)) {
mml.open = this.GetDelimiter(name);
mml.close = this.GetDelimiter(name);
}
if (name.match(/^\\above/)) {mml.thickness = this.GetDimen(name)}
else if (name.match(/^\\atop/) || open || close) {mml.thickness = 0}
this.Push(mml);
},
这相当难以理解。更简单的 TeX 构造如下,\alpha
只是映射到相应的 unicode 值
alpha: '03B1',