如何在 Sublime Text Markdown 预览中启用 MathJax 渲染

How to Enable MathJax Rendering in Sublime Text Markdown Preview

我正在使用 Sublime Text 3 编写包含数学的 Markdown 文档。 Markdown 预览包支持在浏览器中实时呈现文档 (Chrome)。所以在我写的时候,变化是可见的。以下是我的降价文本。

$a = \sin^{2}(\Delta \phi/2) + \cos(\phi_{1})\cos(\phi_{2})\sin^{2}(\Delta \lambda/2)$
$c = 2 \arcsin(\sqrt{a})$
$d = rc$

MarkdownPreview 手册说了类似 "When enable_mathjax is true" 的内容,但我不知道它在哪里。为了完整起见,Sublime 控制台不显示任何错误消息。我正在使用 Windows 7 和从 Git 获取的最新 MathJax。当我显示一些示例测试 html.

时,MathJax 本身工作正常

如果正确安装了 MarkdownPreview,可以这样找到选项 enable_mathjax

希望对您有所帮助。

MarkDown Preview 2.x branch 不适用于@VividD 回答中的方法。

启用 MathJaX 的我的用户设置如下:

{
    "enable_mathjax": true,
    "js": [
    "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js",
            "res://MarkdownPreview/js/math_config.js",
    ],
}

此外,我使用 Package​Resource​Viewer 编辑了 MarkDown 预览 js 文件夹中的 math_config.js 以使显示数学与中心对齐:

MathJax.Hub.Config({
  config: ["MMLorHTML.js"],
  extensions: ["tex2jax.js"],
  jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"],
  tex2jax: {
    inlineMath: [ ['$','$'], ["\(","\)"] ],
    displayMath: [ ['$$','$$'], ["\[","\]"] ],
    processEscapes: true
  },
  TeX: {
    extensions: ["AMSmath.js", "AMSsymbols.js"],
    TagSide: "right",
    TagIndent: ".8em",
    MultLineWidth: "85%",
    equationNumbers: {
      autoNumber: "AMS",
    },
    unicode: {
      fonts: "STIXGeneral,'Arial Unicode MS'"
    }
  },
  displayAlign: "center",
  showProcessingMessages: false,
  messageStyle: 'none'
});

关注displayAlign。默认为 displayAlign: "left".
您可以根据 MathJaX Options.

进一步自定义 MathJaX

截至目前,以上答案均无效。我终于在 Github issue 中找到了一个解决方案,它提供了需要添加到 MarkdownPreview 用户设置中的代码片段的更新版本:

"js": [
"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js",
        "res://MarkdownPreview/js/math_config.js",
],
"markdown_extensions": {
    "pymdownx.arithmatex": {
        "generic": true
    }
}

为了给出更准确的答案,打开Markdown Preview的用户设置,现在位于这里:

并将其添加到设置中:

{
    "enable_mathjax": true,
    "js": [
        "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML",
        "res://MarkdownPreview/js/math_config.js",
    ],
    "markdown_extensions": [
        "markdown.extensions.extra",
        {
            "pymdownx.arithmatex": {
                "generic": true
            }
        },
        {
            "markdown.extensions.toc": {
                "permalink": "\ue157"
            }
        }
        //---- etc.
    ]
}

这允许使其他扩展保持活动状态(此处为 Table 的目录),您可以在 //etc. 的位置指定这些扩展。