发布于2026-07-10 阅读(0)
扫一扫,手机访问
不用说,VSCode 本身并不能直接编译 LaTeX,它只是一个调度器,真正的编译工作要交给系统里的 xelatex、latexmk 这些工具来处理。环境没配好,插件装得再全也是白搭——实际上,90% 的“找不到命令”“乱码”“PDF 不跳转”问题,都卡在系统工具链或者参数配置上。

xelatex 和 latexmk 在终端可用LaTeX Workshop 插件本身不会帮你安装编译器,它只从系统的 PATH 环境变量里找。如果你在终端里运行 xelatex --version 或 latexmk --version 时看到“command not found”的错误,那 VSCode 那边肯定也是编译失败的。
C:\texlive\2024\bin\win32 这样的路径加到系统环境变量里。brew install --cask mactex 来安装(别用 basictex,那个东西缺东西太多)。装完之后,在终端里运行 echo $PATH,确认 /Library/TeX/texbin 这个路径出现在结果中。sudo apt install texlive-latex-recommended texlive-latex-extra latexmk。只装一个 texlive-base 是远远不够的。which xelatex 和 which latexmk。这两个命令都必须有输出,才算成功。PATH 后,VSCode 必须完全退出再重新打开,否则它读不到新的路径设置。latex-workshop.latex.tools 显式指定 xelatex 引擎默认的 recipes 用的是 pdflatex,如果你要写中文文档,一编译就会报字体缺失或者乱码——这不是插件有 bug,而是引擎选错了。就好比你开车去加油站,结果加错了油,车当然跑不动。
Ctrl+Shift+P,输入 Preferences: Open User Settings (JSON),然后编辑你的 settings.json 文件。latex-workshop.latex.tools 这部分配置里,必须定义一个 xelatex 工具。它的 args 参数里要包含:-synctex=1(否则 PDF 无法跳回源码,调试起来很麻烦)、-interaction=nonstopmode(避免编译卡在错误提示上)、-file-line-error(能帮你精准定位报错行)、%DOCFILE%(这个比 %DOC% 更可靠,尤其是在多目录项目里)。pdflatex 和 xelatex 的配置,只保留一种主引擎定义就好。["xelatex", "bibtex", "xelatex", "xelatex"]这样的顺序,不能只跑一遍 xelatex,否则参考文献信息出不来。ctex + xelatex + 显式字体声明光在文档里加个 ctex 宏包是没用的。如果 xelatex 找不到系统里的中文字体,它就会 fallback 成方块字,甚至陷入死循环导致编译超时。
\documentclass[UTF8]{ctexart}(或者根据文档类型用 ctexrep、ctexbook),不能用 article 再加手动加载 xeCJK,那样容易出问题。\setmainfont{Noto Serif CJK SC}(这个适用于 macOS/Linux),或者 \setmainfont{"Microsoft YaHei"}(Windows 平台,字体名带空格时必须加引号)。fontspec 或 xeCJK 宏包——ctex 已经内置了,重复加载会冲突,导致 fontspec error 或者编译卡住没反应。SimSun,先确认一下你系统里真的有这个字体。部分精简版的 Win10/11 默认是不带的。% !TEX root = main.texVSCode 默认只把当前打开的 .tex 文件当作编译目标。如果你把论文拆成了 intro.tex、method.tex 这样的子文件,却没有告诉插件哪个才是主文件,那所有 \cite{xxx} 都会显示成 ??,参考文献也根本出不来。
intro.tex)的第一行,加上这样一句注释:% !TEX root = main.tex,把 main.tex 换成你自己的主文件名。Ctrl+Shift+P)里运行 LaTeX Workshop: Set Root File 来手动指定主文件。latex-workshop.latex.search.rootFiles.include 这个配置,确认它包含了你的主文件名模式(默认是 **/*.{tex,cls,sty,bib},一般来说够用)。\input{chapters/intro},意味着项目目录下有一个 chapters 文件夹,里面有一个 intro.tex 文件。路径写错,编译也会失败。经验表明,最容易被忽略的其实就两样:一个是 % !TEX root 这个注释,它让整个项目结构变得可识别;另一个是 -synctex=1 参数,它让 PDF 和源码之间的跳转真正可用。这两样若是缺一个,写长论文或者多人协作时,调试效率会直线下降,基本等于是在“盲编”。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8