插件装了仍不渲染公式和目录,因默认未启用mathjax_enabled和toc扩展,且解析器非github——需在markdownpreview用户设置中配置parser为"github"、mathjax_enabled为true,并加入toc等扩展。

为什么装了插件还是渲染不出公式和目录?
因为默认配置没开 mathjax_enabled 和 toc 扩展,且 parser 没设成 github —— MarkdownPreview 默认用的是 Python markdown 解析器,它不支持 GitHub 风格的表格、脚注、自动 TOC,更不解析 $$ 公式块。
- 必须在
Preferences → Package Settings → MarkdownPreview → Settings – User中写入:{ "parser": "github", "mathjax_enabled": true, "markdown_extensions": ["extra", "codehilite", "toc", "fenced_code", "sane_lists"], "enable_autoreload": true } -
"parser": "github"是关键:它让插件调用 GitHub 的渲染逻辑(离线模拟),而非本地 Python 的简陋解析器 - 漏掉
"toc"扩展,[TOC]或[toc]标记不会生成目录;没开mathjax_enabled,$$E=mc^2$$就是纯文本 - 如果公式仍不渲染,检查是否误用了
$$包裹行内公式——学术写作中行内应为$E = mc^2$,块级才用双美元
如何让中文标题、列表、代码块真正“像论文”?
系统自带的 Packages/Markdown/Markdown.sublime-syntax 语法包对中文支持极差:# 不着色、缩进错位、语言标识失效。这不是 bug,是根本没启用正确语法。
- 打开任意
.md文件,点击右下角当前语法名(如Plain Text)→Open all with current extension as…→ 选MarkdownEditing/Markdown GFM(注意不是Markdown或Markdown Extended) - 禁用系统自带包:进入
Preferences → Settings – Syntax Specific,确认右侧用户设置里没有"syntax": "Packages/Markdown/Markdown.sublime-syntax" - 推荐配色主题:
Packages/MarkdownEditing/MarkdownEditor-Yellow.tmTheme,对中文标题层级、引用块、代码语言标识识别更稳 - 若列表缩进仍异常,检查是否启用了
"draw_centered": true—— 学术写作务必设为false,否则段落居中会破坏参考文献对齐
Pandoc 导出 PDF 时字体/公式乱码怎么办?
Sublime 本身不处理 PDF 渲染,靠 Pandoc + LaTeX 引擎。乱码本质是字体路径或引擎未指定,不是 Markdown 写得不对。
- 先确保系统已安装完整 LaTeX 发行版(如 TeX Live 或 MiKTeX),并能从命令行运行
xelatex --version - 在
Preferences → Package Settings → Pandoc → Settings – User中补全:{ "pandoc-path": "pandoc", "pdf-engine": "xelatex", "pdf-engine-opt": ["--latex-engine=xelatex"], "template": "C:/path/to/pm-template.latex", "extra-args": ["--pdf-engine-opt=--shell-escape"] } -
pm-template.latex模板里必须改\setCJKmainfont{Microsoft YaHei}(Windows)或STSong(macOS),否则中文直接空白 - 公式乱码常见于未加
--shell-escape—— 这个参数允许 LaTeX 调用外部程序渲染 TikZ 或 Matplotlib 图表
为什么 TOC 不随标题层级自动更新?
[TOC] 不是动态 DOM,而是静态插入 HTML 片段。保存后不刷新,或标题用了非标准语法(如空格、特殊符号),TOC 就失效。
- 确保标题严格用
# 一级、## 二级……不能写成## 二级(中文全角空格)或## 二级:(冒号干扰解析) -
MarkdownPreview的 TOC 依赖toc扩展 +githubparser,二者缺一不可;markdownparser 下[TOC]完全无响应 - 若需实时更新 TOC,别依赖预览页——装
MarkdownTOC插件,用Ctrl+Shift+P → MarkdownTOC: Insert Table of Contents手动生成并插入到文档顶部 - 导出 PDF 前务必手动运行一次 TOC 插入,因为 Pandoc 不识别
[TOC]占位符,只认实际生成的 HTML 列表结构
学术排版最易被忽略的点:所有路径(模板、字体、MathJax 离线包)必须用正斜杠 /,且 Windows 下绝对路径要写成 C:/Users/xxx/template.latex,而不是 C:\Users\xxx\template.latex —— 反斜杠在 JSON 里是转义字符,会导致整个配置加载失败。











