sublime text 不支持 latex 实时预览,所谓“实时”实为 pdf 编译后通过 synctex 实现跳转;必须正确配置 path、tex_path、builder 及 %!tex root 指令,并使用支持 synctex 的查看器从终端启动 sublime。

Sublime Text 本身不支持 LaTeX Live Preview,所谓“实时预览公式与排版”是常见误解——它既不解析 TeX 源码渲染数学符号,也不在编辑器内生成 HTML 或 Canvas 视图。你看到的任何“实时”效果,要么是 Markdown 文件走 MathJax 渲染,要么是 PDF 编译后靠 SyncTeX 实现点击跳转,二者本质不同。
latexmk 和 xelatex 必须在终端直接可用
这是所有后续动作的前提,跳过等于配置失败。Sublime 不会帮你装工具,只调用 PATH 下的命令。
- 打开终端(macOS/Linux)或 PowerShell(Windows),运行
latexmk -v和xelatex --version - 两者都必须输出版本信息;若报
command not found,说明未安装或不在 PATH 中 - macOS 用户确认
/Library/TeX/texbin已写入~/.zshrc并执行过source ~/.zshrc - Windows 用户重装 MiKTeX 时务必勾选「Add MiKTeX to the system PATH」
- Linux 用户需补装:
sudo apt install latexmk texlive-lang-chinese biber - 改完 PATH 后必须重启 Sublime Text,否则插件读不到新环境变量
LaTeXTools 用户配置必须写死 tex_path 并禁用自动探测
默认配置在多 TeX 版本、自定义路径、含空格路径下 100% 失效。自动探测(use_simple_detection)必须关掉。
- 进 Preferences → Package Settings → LaTeXTools → Settings – User
- 粘贴最小必要配置(按系统改,不留空字段):
- macOS:
"tex_path": "/Library/TeX/texbin" - Windows:
"tex_path": "C:\texlive\2023\bin\win32"(注意双反斜杠) - Linux:
"tex_path": "/usr/local/texlive/2023/bin/x86_64-linux" - 必须删除配置中所有
"use_simple_detection": true字段 - 同时指定:
"builder": "latexmk"(别用simple,它不调度biber)
子文件第一行必须写 %!TEX root = main.tex
LaTeXTools 不推断主文档。你在 ch1.tex 里按 Ctrl+B,插件默认只编译它自己——include{}、ibliography{} 全部失效。
- 在
ch1.tex、refs.bib等所有子文件顶部,**第一行且仅一行**写:%!TEX root = main.tex - 等号前后不能有空格:
%!TEX root=main.tex❌ - 路径可相对:如子文件在
ch/目录下,可写%!TEX root = ../main.tex - 整项目路径不能含中文、空格或特殊字符,否则
latexmk解析失败
PDF 查看器必须支持 SyncTeX 且从终端启动 Sublime
所谓“实时对照”,实际是 PDF 自动刷新 + 点击公式跳回源码行(反向搜索)。这依赖两个条件:查看器支持 SyncTeX,且 Sublime 启动时能继承终端的 PATH。
- macOS 推荐 Skim,启用 SyncTeX support;Windows 推荐 SumatraPDF,需在设置中勾选 Enable DDE server
- 不要双击图标启动 Sublime,而要从终端运行:
subl(确保已配置 shell alias) - 检查是否生效:在 Sublime 控制台(
Ctrl+`)运行import os; print(os.environ.get('PATH')),确认含 TeX 路径 -
builder_settings中必须含-pdfxe(强制 XeLaTeX)和-synctex=1(否则点击 PDF 无响应)
真正容易被忽略的是:所有“实时”体验都建立在 PDF 编译完成的基础上,而编译耗时取决于文档规模、宏包加载、字体缓存。哪怕配置全对,第一次保存后也要等 2–5 秒才刷新 PDF——这不是卡顿,是正常流程。想点哪行公式就跳哪行,关键不在编辑器渲染,而在 synctex=1 是否生效、查看器是否绑定正确、以及你有没有真的用 xelatex 而不是 pdflatex。











