latextools 编译无反应主因是未正确配置 texpath 和 builder;需设 texpath 为 latex bin 目录、builder 为 "traditional",中文文档须用 xelatex 引擎并正确声明字体。

LaTeXTools 插件装完编译没反应?检查 builder 和 texpath
Sublime 里 LaTeXTools 不工作,八成不是插件坏了,而是它根本找不到你的 LaTeX 环境。插件默认不自带 pdflatex 或 xelatex,全靠你本地装好并告诉它路径。
- 先确认终端能跑:
which pdflatex(macOS/Linux)或where pdflatex(Windows cmd),复制输出的完整路径 - 打开 Sublime →
Preferences → Package Settings → LaTeXTools → Settings,找到"texpath"字段,填入你系统中bin目录(比如/usr/texbin、C: exlive3inwin32),别只填到texlive根目录 -
"builder"推荐设为"traditional":它会按latexmk→pdflatex→xelatex顺序 fallback;设成"simple"容易卡在找不到latexmk就直接报错 - Windows 用户特别注意:
texpath里的反斜杠要写成双反斜杠\或正斜杠/,单个会被 JSON 解析吃掉
快捷键 Ctrl+B 编译后 PDF 不自动刷新?看 viewer 配置和文件名
LaTeXTools 默认调用外部 PDF 查看器(如 Skim、SumatraPDF),但不会“监听文件变化”,而是靠编译完成时发一个“重载”指令。这个指令是否生效,取决于查看器是否支持 DDE(Windows)或 AppleScript(macOS),以及你的主文件名是否规范。
- 确保你的主
.tex文件名不含空格、中文或特殊符号(比如my_paper_v2_final.tex可以,实验报告#1.tex不行) - macOS 上用 Skim:必须在 Skim 的
Preferences → Sync → Check "Check for file changes",且 Sublime 设置里"viewer"要设为"skim",不是"none"或"evince" - Windows 上 SumatraPDF 是唯一靠谱选择,
"viewer"设为"sumatrapdf",并确认 SumatraPDF 已在系统 PATH 中(或在设置里指定"sumatra_pdf_path") - 如果只是想“每次编译完手动点一下刷新”,把
"forward_search_on_start"设为false,避免插件一启动就尝试跳转失败卡住
中文编译报错 Unicode char u8BF7 或 fontspec error?别硬套英文模板
LaTeXTools 默认用 pdflatex 引擎,而 pdflatex 原生不支持 UTF-8 中文。强行用它编译含中文的文件,要么乱码,要么直接报 Unicode 错误——这不是编码问题,是引擎选错了。
- 中文文档必须切到
xelatex或lualatex:在主文件第一行加注释%!TEX program = xelatex(注意空格和大小写),LaTeXTools 会识别并自动选用对应引擎 - 别再用
usepackage[UTF8]{ctex}配合pdflatex:ctex 宏包内部做了大量适配,但底层引擎限制无法绕过,最终还是挂 - 字体要显式声明:
xelatex下用setmainfont{Noto Serif CJK SC}或系统已安装的中文字体(如 macOS 的PingFang SC,Windows 的SimSun),fontspec报错往往是因为字体名拼错或系统没该字体 - 如果你用的是旧版 ctex(
v2.x),升级到v3.x后命令变成ctexset{...},旧写法会静默失效,导致标题/章节样式崩
编译成功但参考文献空白?bibliography 路径和 bibtex 步骤不能省
LaTeXTools 的 traditional builder 会自动跑 bibtex,但前提是它能找到你的 .bib 文件,且你的主文件里用了正确的命令引用。
-
ibliography{references}中的references是文件名(不含.bib),该文件必须和主.tex在同一目录,或在texpath指定的texmf树里 - 不要写成
ibliography{./refs/references.bib}:LaTeXTools 的bibtex步骤不解析路径,只认同目录下的裸文件名 - 首次编译参考文献,需要至少两次
Ctrl+B:第一次生成.aux,第二次bibtex才能读到引用条目;如果改了.bib内容,建议删掉所有临时文件(.aux、.bbl、.blg)再重来 - 用
biblatex+biber的用户要注意:traditionalbuilder 默认不调biber,得手动改builder_settings加"biber"步骤,或者换用latexmkbuilder 并确保latexmkrc里有$biber = 'biber';
最常被忽略的一点:LaTeXTools 的配置是“项目级”和“全局级”两层叠加的,Settings – User 里改的只是全局,而当前文件夹下放一个 LaTeXTools.sublime-settings 就会覆盖全局设置——很多人调了半天发现没生效,其实是被项目配置悄悄覆盖了。










