sublime text需借助插件与外部工具链(如pandoc或weasyprint)实现markdown转pdf;推荐markdownpreview插件配合自定义build system,注意路径、字体及名称匹配。

Sublime Text 本身不支持 Markdown 转 PDF,必须靠插件 + 外部工具链
Sublime Text 是纯文本编辑器,没有内置渲染或导出能力。所谓“转 PDF”,实际是调用 markdown 解析器(如 pandoc 或 mkdocs)+ LaTeX 或 weasyprint 生成 PDF。你配的不是 Sublime,而是它和命令行工具之间的“传话员”。
常见错误现象:Export to PDF 菜单项灰色、点击无反应、报错 command not found: pandoc 或 No module named weasyprint —— 这说明工具链没装好,不是插件没启用。
- 先确认系统已安装
pandoc(推荐)或weasyprint:终端运行pandoc --version或weasyprint --version,有输出才算到位 -
pandoc更通用,支持自定义 LaTeX 模板、目录、页眉页脚;weasyprint依赖 Python,对 HTML/CSS 渲染更友好,但中文分页和表格支持较弱 - Mac 用户注意:
brew install pandoc后,Sublime 可能读不到/opt/homebrew/bin路径,需在插件配置里显式写全路径,比如/opt/homebrew/bin/pandoc
推荐插件:MarkdownPreview + 自定义 build system(最稳)
别用老版本的 MarkdownPDF 插件 —— 它已多年未维护,不兼容 Sublime Text 4,且硬编码调用过时的 phantomjs,现在根本跑不起来。
正确做法是用官方维护的 MarkdownPreview(支持实时预览),再加一个轻量 build system 实现一键 PDF 输出:
- 安装
MarkdownPreview插件(Package Control → Install Package → 输入MarkdownPreview) - 菜单栏 →
Tools→Build System→New Build System…,粘贴以下内容并保存为Markdown2PDF.sublime-build
{
"cmd": ["pandoc", "-s", "-o", "$file_base_name.pdf", "$file"],
"selector": "source.gfm",
"path": "/usr/local/bin:/opt/homebrew/bin"
}
注意:path 需按你本地 pandoc 实际位置调整;selector 设为 source.gfm 才能在 .md 文件里触发该构建系统。
中文 PDF 导出失败?大概率是字体或引擎问题
直接用 pandoc file.md -o out.pdf 生成的 PDF 中文乱码、缺字、段落挤在一起 —— 不是 Sublime 的锅,是 pandoc 默认用 LuaTeX,但没指定中文字体。
解决方法是在 build system 里补上 LaTeX 模板和字体参数:
- 新建模板文件
zh.tex(放在项目根目录或~/Templates/),内容包含\setmainfont{Noto Sans CJK SC}等中文字体声明 - 修改 build system 的
cmd:"cmd": ["pandoc", "-s", "--pdf-engine=lualatex", "--template=zh.tex", "-o", "$file_base_name.pdf", "$file"]
- 确保系统已安装对应字体(macOS 自带
Noto Sans CJK;Windows 建议用SimSun或Microsoft YaHei;Linux 用fonts-noto-cjk)
想点一下就出 PDF?快捷键和右键菜单要手动绑定
build system 默认只在 Ctrl+B(Win/Linux)或 Cmd+B(Mac)生效,但很多人习惯右键或快捷键。需要额外两步:
- 菜单栏 →
Preferences→Key Bindings,添加快捷键(例如绑定到F9):{ "keys": ["f9"], "command": "build", "args": {"build_system": "Packages/User/Markdown2PDF.sublime-build"} } - 右键菜单:在
Package Settings→MarkdownPreview→Settings – User里加:"enable_pdf_export": true
然后右键就会出现Export to PDF(前提是 build system 名称匹配且路径正确)
容易被忽略的是:Sublime 的 build system 名称必须和 "build_system" 字段里写的完全一致(包括大小写和空格),否则快捷键或右键会静默失效 —— 这类问题查日志都看不到报错,只能逐字核对。










