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

15

我正在使用Sublime Text 3编写一个包含数学公式的Markdown文档。Markdown Preview插件可以实时在浏览器(Chrome)中渲染文档,因此我写作时可以看到变化。以下是我的Markdown文本。

$a = \sin^{2}(\Delta \phi/2) + \cos(\phi_{1})\cos(\phi_{2})\sin^{2}(\Delta \lambda/2)$
$c = 2 \arcsin(\sqrt{a})$
$d = rc$
Markdown预览手册上说:“当enable_mathjaxtrue时”,但我无法找到它在哪里。为了完整起见,Sublime控制台没有显示任何错误消息。我正在使用Windows 7和从Git获取的最新MathJax。当我显示一些示例测试HTML时,MathJax本身运行正常。
5个回答

25
如果安装了MarkdownPreview,可以通过以下方式找到enable_mathjax选项:

输入图像描述

希望这可以帮到你。

1
哇!它运行得非常好。非常感谢。默认设置是不可编辑的文本。所以我在用户设置中添加了覆盖它的选项。然后它就很好地工作了。 - Youngsup Kim
@YoungsupKim,我非常高兴它有帮助!我能问一下,如果这个答案确实有帮助并解决了您的问题,请按顶部左侧区域(向下箭头下面)的复选标记标记它吗?谢谢! - VividD
当然!我已经点击了。我希望我能多次点击!你制作视频非常友善!非常感谢! - Youngsup Kim
1
@YoungsupKim,很好,但您还没有接受我的答案http://stackoverflow.com/help/accepted-answer - VividD
做完啦!我之前对使用stackoverflow还很新手,但是每天都在学习。 <>< - Youngsup Kim
@sparkandshine 你可以使用来自 https://dev59.com/xGEi5IYBdhLWcg3wZ7ga#21322489 的过程。 - VividD

10
MarkDown预览2.x分支不能使用@VividD答案中的方法。
我的用户设置,启用了MathJaX,如下所示:
{
    "enable_mathjax": true,
    "js": [
    "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js",
            "res://MarkdownPreview/js/math_config.js",
    ],
}

此外,使用PackageResourceViewer,我编辑了MarkDown预览中“js”文件夹中的math_config.js,将显示数学公式对齐到中心位置。请注意,保留了HTML标签。
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 选项 进一步自定义。


2
这个很好用,只是出于某种原因,我不得不在用户设置中提供另一个MathJax引擎: "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" - oliche
除了@VividD和@Royi的答案外,这里又有一个附加说明(CloudFlare mathjax对我有效)。我还必须根据此修改用户设置文件:https://github.com/facelessuser/MarkdownPreview/issues/12也就是说,对于用户设置,我还必须添加以下内容:"markdown_extensions": {          "pymdownx.arithmatex": {              "generic": true          }      } - wjakobw

6
目前,以上两个答案都已不再适用。我最终在一个 Github 问题页面上找到了解决方案,其中提供了需要添加到 MarkdownPreview 用户设置中的代码片段的更新版本: Github issue
"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
    }
}

这对我部分起作用(MathJax没问题,但TOC没有渲染)。我在MarkdownPreview存储库中找到了一个维基条目,其中包含完整的设置:https://github.com/facelessuser/MarkdownPreview/wiki/MathJax-Configuration - Moyom
那对我有用,但现在表格没有正确工作。 - rambi

1
为了给出更精确的答案,请打开 Markdown 预览的“用户设置”,现在位于此处:

enter image description here

并将此添加到设置中:

{
    "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.
    ]
}

这将允许保持其他扩展程序处于活动状态(例如目录表),您可以在//etc.的位置指定它们。

0

在更新的版本中(今天是2022年9月),这个Sublime扩展的配置略有改变。

但首先,请注意MathJax支持仅适用于普通的“markdown”模式,而不是“GitHub”或“GitLab”。

Extras - Markdown Preview Documentation:

GitHub和GitLab不支持MathJax。您将需要想出一个适用于它的MathJax配置,并转义GitHub可能尝试转换的问题语法。

说到这里,进入扩展的配置(在菜单栏中查找“首选项”,然后选择“包设置”,然后选择“MarkDownPreview”)。

然后添加以下json片段。请注意,在一半处添加了一个新的“markdown”json节点,我认为在以前的版本中不存在:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接