发布于2026-07-15 阅读(0)
扫一扫,手机访问
在Sublime Text里折腾Markdown数学公式渲染,这事儿说难不难,但卡住过不少人。很多人折腾半天,侧边栏预览里还是硬邦邦的 $E=mc^2$,以为是自己配置写错了,其实问题往往出在路径、插件、甚至是CDN的版本号上。下面把几个关键点拆开讲,帮你一次搞定。
第一步就很容易走偏。Sublime Text 里没有官方或主流维护的 Markdown Preview Plus 插件——你搜到的多半是拼写错误、过时 fork 或个人魔改版。它不支持 MathJax,配置了也白搭。enable_mathjax 字段会被忽略,预览永远显示 $E=mc^2$ 而不是渲染结果。
正确做法是:
Preview Plus、Enhanced Plus 的插件MarkdownPreview(作者:facelessuser)Packages/MarkdownPreview/ 目录下是否存在 js/math_config.js,没有说明安装不完整这可能是最容易被忽略的致命点。MarkdownPreview v3.0.x 硬编码依赖 MathJax v2,用 v3 的 CDN(比如 https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js)会导致控制台报 ReferenceError: MathJax is not defined,公式块彻底空白。
Settings – User 中必须写死这一行:
"mathjax CDN": "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML"
注意两点:
?config=TeX-AMS_HTML —— 这是启用 begin{aligned} 和基础 LaTeX 命令的关键参数MathJax v2.7.9 只稳定支持 TeX-AMS_HTML 配置下的语法,不是所有 LaTeX 写法都可用。常见“写了但不显示”,往往是因为被当成纯文本吞掉了:
$E=mc^2$,$ E = mc^2 $(含空格)❌$$\int_0^\infty e^{-x}dx = 1$$,前后不能有字符(比如 $$$$. $$ ❌)a_b ❌ → a\_b ✅\lbrace/\rbrace 或 \left\{/\right\},原生 {a+b} 不识别\begin{aligned}...\end{aligned},\begin{align} 默认不启用这是最常被忽略的致命点:Preview in Sidebar 是纯 HTML 渲染器,不执行任何 JS,MathJax.js 根本不会下载。你看到的 $$\int_0^\infty$$ 就是源码原样输出,不是“没配好”,而是压根没触发解析流程。
唯一有效路径是:
Ctrl+Shift+P → 输入 Markdown Preview: Preview in BrowserOpen Preview in Browser(效果相同,且自动刷新)file:/// 路径;开发者工具 Network 标签页能看到 MathJax.js 请求成功chrome://settings/privacy 中的“使用预测服务加载网页”,否则本地 file:// 协议会被拦截真正卡住人的地方,往往不是配置错,而是盯着侧边栏看半天,其实连 MathJax 的请求都没发出去。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8