作为常年帮实验室新人配环境的“老工具人”我几乎每年都要在 Windows 上装几遍 CTeX 相关的排版环境也见过太多人卡在第一步装完之后打开 WinEdt 写两行中文编译报错、乱码、找不到 ctex.sty、或者 PDF 里全是黑方块。其实绝大多数问题根本不是技术难题而是没搞清楚“CTeX 这个词到底指什么”。今天这篇我就把 Windows 下安装 CTeX 环境这件事完完整整拆开讲从概念厘清到安装步骤从第一个文档到高频报错排查争取让你一次性走通。先说明一点这里的 CTeX我们既指 CTeX 宏包ctexart / ctexbook 这些中文文档类也指当年经典的 CTeX 套装发行版。很多老教程让你装的那个 CTeX 套装 v2.9说实话已经退役很久了。所以我下面的路线是先讲清楚概念再给出一条既能满足“安装 CTeX”这个诉求、又不会踩老坑的完整方案。全文围绕 Windows 环境展开适合论文需要用 LaTeX 写中文的学生、第一次装环境的研究生、以及想从 Word 转到 LaTeX 的科研人员。1. CTeX 到底是什么先把套装、宏包、宏集这三层拆开很多人第一次接触 CTeX 是在师兄师姐的 U 盘里里面有CTeX_2.9.2.164_Full.exe这种安装包装完就是一个很像 IDE 的 WinEdt能直接写中文论文。于是“CTeX”在大家脑海里的印象就是“一个中文 LaTeX 软件”。这个说法不算错但很容易导致后续一系列困惑因为 CTeX 这个名字其实覆盖了三样东西。1.1 CTeX 套装、CTeX 宏包、CTeX 宏集分别是什么**CTeX 套装CTeX Suite**是一个发行版意思是把 LaTeX 内核、宏包、编辑器、字体、编译工具打包在一起让你一次装好就能用。它基于 MiKTeX包含 WinEdt、Ghostscript 等组件并预置了中文字体和 CTeX 宏包。2.9 版本大概是 2012 年前后的产物此后官方基本不再更新。**CTeX 宏包ctex 宏包 / ctex 宏集**才是真正的“中文排版解决方案”。它提供ctexart、ctexrep、ctexbook这些中文文档类也提供\setCJKmainfont等一系列命令帮你处理中文标点压缩、行距调整、字体配置、章节标题中文化等琐碎问题。只要你用\documentclass{ctexart}再配合xelatex编译中文排版基本就齐了。这个宏包目前仍在积极维护是中文 LaTeX 排版的核心。CTeX 宏集这个说法也常出现本质上跟“CTeX 宏包”指同一个东西英文文档里叫 CTeX macro collection。所以当你看到两种教程一种让你下载一个一两 GB 的 CTeX 套装安装包另一种让你装 TeX Live然后在文档里写\documentclass{ctexart}。它们其实都是在“安装 CTeX”只是前者把整个发行版和宏包一起打包了后者只取宏包 一个现代发行版。1.2 为什么我不推荐再安装老版 CTeX 套装这是我最想说的部分。老版 CTeX 套装在当年确实功不可没但放在今天问题太多了它内置的宏包版本老旧很多 2015 年之后的新宏包或新语法根本不支持WinEdt 的授权和体验也比较老派安装时经常会对新版 Windows 的字体路径、用户权限处理出问题而且一旦你要用较新的文档类特性它会直接报错到时候你根本分不清是语法问题还是环境问题。唯一还会让我去碰它的场景是某些学校机房的老课程、特定老教材强制要求或者你需要复现一篇十年前的旧文档。除此之外我都建议走TeX Live ctex 宏包 xelatex 编译这条路。理由很简单它既能达到“安装 CTeX 并中文排版”的目的又不用忍受老环境带来的一堆暗坑而且网上的新教程、官方文档几乎都朝这个方向走遇到问题更容易搜到答案。我见过太多新人一上来装了 CTeX 套装结果写一个稍微新一点的模板就报! LaTeX Error: File xxx.sty not found然后陷入无尽的“去 CTAN 下载 .sty 手动装”循环。这真的没必要换现代发行版十分钟就能解决。2. 安装之前先确认四件事版本、镜像源、磁盘空间、编译引擎这一节讲准备工作。很多人安装失败或者装完不顺手问题往往不是安装过程本身而是准备阶段没想清楚。2.1 选择发行版TeX Live 还是 MiKTeXWindows 下主流的现代 LaTeX 发行版有两个TeX Live和MiKTeX。TeX Live的特点是“全量安装”宏包非常全装上之后基本不用担心缺包的问题跨平台统一Linux / macOS / Windows 上行为一致每年发布一个新版本比如 TeX Live 2024、2025。缺点是安装包大、安装时间长全量装可能要 8-10GB 磁盘空间和半小时以上时间。MiKTeX的特点是“按需安装”你用到哪个宏包它现下现装对磁盘和初始安装时间更友好它还首创了自动安装宏包这个体验对新手很友好。缺点是某些老教程里的命令或路径在 MiKTeX 下可能略有不同且如果你经常离线编译按需安装的模式反而会卡住。国内学术环境我优先推荐TeX Live因为中文 LaTeX 相关的宏包它全都带上了ctex、xeCJK、fontspec 这些无需额外操心另外期刊模板类宏包也基本都收录在内。你只要把下载源换成国内镜像安装时间的问题也可以缓解。2.2 下载源选择别再打开官网慢悠悠等不管选 TeX Live 还是 MiKTeX都强烈建议用国内镜像站下载。常用的有清华大学 TUNA 镜像https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/中国科学技术大学镜像https://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/阿里云镜像https://mirrors.aliyun.com/CTAN/systems/texlive/Images/打开后你会看到类似texlive2024.iso或install-tl.zip的文件。对于 Windows 用户我推荐直接下载ISO 镜像体积大约 5-6GB。镜像的好处是可以先校验再安装也能挂载后离线安装不依赖网络持续在线。如果你用的宽带比较快用install-tl.zip走网络安装也可以但国内网络直连 CTAN 官方源很容易卡在某个宏包下载上。换成镜像源后速度基本能跑满带宽。提示安装包下载完成后建议顺手校验一下 SHA256 哈希值避免下载损坏导致的诡异报错。镜像站一般会提供.sha256文件或者你下载完在 PowerShell 里执行Get-FileHash .\texlive2024.iso -Algorithm SHA256与官方的值比对。2.3 磁盘空间、用户权限和杀毒软件TeX Live 全量安装后安装目录通常会占用 8GB 左右另外你还要给工作目录、宏包缓存留一点空间建议至少准备 12GB 可用磁盘。安装过程会持续一段时间所有文件解压安装完成后还要做字体缓存之类的收尾操作请保证电脑不会在中途断电或强制休眠。权限方面我个人建议安装时不要用管理员账户强行安装到C:\Program Files这种受保护目录。虽然安装向导会要求管理员权限但装完后普通用户写配置、更新包时可能遇到权限弹窗。更省心的做法是安装路径直接放在一个用户可写的目录比如D:\texlive\2024或者C:\texlive\2024。只要目录不在 Program Files 下后续 tlmgr 更新、安装宏包时基本不会碰到权限问题。杀毒软件方面TeX Live 的文件都是开源的宏包和编译工具本身没有病毒。但某些国产杀毒或主动防御软件可能会对安装时的大批量文件释放、PATH 变量修改产生误报。如果你安装到一半突然失败先看一眼是不是安全软件把install-tl-windows.bat或tlmgr拦了。我这里不是让你关掉安全软件而是建议你如果遇到异常拦截把 TeX Live 执行目录加入信任区再继续。2.4 明确自己要用的编译引擎xelatex 是中文排版的默认答案安装之前还要理解一件事LaTeX 并不是一个“程序”而是一套宏语言和工具链它有很多不同的编译引擎。常见的有pdflatex传统引擎直接输出 PDF但默认对中文支持很弱配合 CTeX 宏包时需要做额外的字体和编码处理。xelatex基于 XeTeX原生支持 Unicode 和系统字体配合 ctex 宏包 中文字体非常自然这是现在写中文文档的主流选择。lualatex基于 LuaTeX也支持 Unicode灵活性更高但对宏包兼容性和字体配置要求更高一点。latexmk严格说不是引擎而是一个自动化脚本它会根据文档情况自动调用合适的引擎多次编译。对 Windows 中文用户来说默认就是xelatex。因为 TeX Live 装完后只要文档里写\documentclass{ctexart}然后用xelatex编译就能直接调用 Windows 系统里的中文字体宋体、黑体、楷体等输出漂亮的 PDF。如果你用别的引擎大概率会遇到编码或字体问题。3. 完整安装流程从 ISO 到可用的 LaTeX 环境我已经写过好几遍 TeX Live 的安装过程了第一次装的时候也经历了一点波折所以把完整流程和注意事项都写在下面。3.1 挂载 ISO 并启动安装程序下载完texlive2024.iso后Windows 10 / 11 用户可以直接双击 ISO 文件系统会把它挂载为一个虚拟光驱打开就能看到里面的内容。ISO 根目录下有个install-tl-windows.bat右键选择“以管理员身份运行”。如果你下载的是install-tl.zip解压后也会看到同样的批处理脚本。启动后是图形化安装界面跟早年那种蓝底白字的字符界面不同现代版本默认会打开一个类似向导的窗口。界面上有安装方案、安装目录、可选组件等设置。对于大多数用户我建议先什么都不改直接点“安装”让它用默认的“full scheme”全量安装这样可以避免以后缺某个宏包到处找的麻烦。如果你实在不想等太久也可以在“安装方案”里选scheme-small或scheme-basic但后续缺少宏包时就需要手动用 tlmgr 补装。3.2 安装路径和“默认纸张大小”等关键设置虽然我建议直接默认但有两个设置值得你稍微停一下看一眼一是安装目录。默认路径通常是C:\texlive\2024或者按用户目录之类的。如果你在 C 盘空间紧张可以改成D:\texlive\2024。安装目录不要带空格和中文否则后面写脚本、配环境变量时容易惹麻烦。二是默认纸张大小。老版本安装向导会问 A4 还是 Letter如果你在中国选 A4 就没错。现代版本一般默认 A4倒不用太担心。还有一个小细节是“在系统 PATH 中注册”默认是勾上的务必保持勾选。这个选项会把 TeX Live 的 bin 目录写进系统 PATH这样你在命令行里敲xelatex、tlmgr才能直接找到命令。如果没勾后面每开一个终端都要手动写全路径非常痛苦。提示如果你用的是绿色版或者手动解压方式安装 TeX Live没有执行过注册 PATH 的步骤也不要慌。手动把安装目录\bin\windows加到“系统属性 - 环境变量 - Path”里就行。3.3 安装耗时与网络波动处理全量安装在一个普通机械硬盘上可能要 30-50 分钟如果是 SSD大概 15-25 分钟。这个过程大多数时间是在解压文件包所以受 CPU 和磁盘速度影响更大。网络安装模式下如果卡在某个宏包下载上不要急着强行终止先观察几分钟如果持续没动静可以取消重来因为安装器支持断点续装的机会不大重来一次反而更快。装完以后界面会提示成功。这时候很多人会犯一个毛病直接开写。但我的习惯是先把终端关了重开一次因为新装的 PATH 变量不会自动刷新到已开着的终端窗口里。3.4 验证安装版本号、宏包、字体三步走打开一个新的命令提示符cmd或 PowerShell依次输入以下命令验证环境是否正常。xelatex --version正常情况下你会看到 XeTeX 的版本号比如XeTeX 3.141592653-6.4.0 (TeX Live 2024)。接着验证 ctex 宏包是否可用。不用先写文档直接在命令行执行kpsewhich ctexart.cls如果返回一个路径比如C:/texlive/2024/texmf-dist/tex/latex/ctex/ctexart.cls那就说明 ctex 宏包已经装好。如果它没有任何输出说明你的安装方案里可能没带 ctex这时需要用 tlmgr 补装tlmgr install ctex最后验证字体缓存。Windows 下中文字体来自系统TeX Live 并不自己带中文字体它通过 fontconfig 或自身的字体机制去找系统字体。只要系统里有宋体、黑体、仿宋、楷体这些常见字体xelatex 基本都能识别。你可以先不验证字体等编译第一个文档时自然会暴露问题。4. 第一个中文文档从新建 tex 文件到拿到 PDF环境装好之后下一篇要解决的就是“我怎么把中文排出来”。这一步的坑其实比安装还多主要集中在编码、编译命令、参考文献辅助文件等方面。我用一个最小例子带你把全流程跑通。4.1 新建 tex 文件目录和文件名别用中文与空格在 D 盘建一个工作目录比如D:\paper在里面新建一个文本文件命名为main.tex。这里我强调两点目录路径最好不要有中文和空格。比如D:\论文\我的文档.tex这种虽然通常也能跑但一旦涉及 bib 文献、图片路径或某些宏包就可能出现奇怪的问题。我见过有人因为路径里带个全角括号编译报错查了半小时才发现是路径问题。文件名不要用中文。我的论文.tex在部分编辑器里可以编译但xelatex 我的论文.tex在命令行下容易涉及编码问题。建议统一用main.tex、thesis.tex这类英文文件名。用任意文本编辑器记事本、VS Code、TeXworks 都行写下如下内容% main.tex \documentclass[UTF8]{ctexart} \begin{document} 你好CTeX \end{document}然后点击保存。这一步有一个必须注意的点编码务必选 UTF-8。现代 TeXworks 和 VS Code 默认都是 UTF-8但如果你在用老编辑器保存成 GBK 或者 ANSI后面编译就会乱码或者报错。4.2 选择编译命令xelatex main.tex打开命令行切换到D:\paper目录cd /d D:\paper xelatex main.tex第一次编译可能需要几秒钟到十几秒它会生成一堆文件和日志最后出现Output written on main.pdf就说明成功了。打开main.pdf能看到居中排版的“你好CTeX”。这一小步能跑通说明你的 CTeX 宏包、xelatex 引擎、中文字体链路全部正常。如果这一步步就报错请直接跳到第 5 节的排查表大概率能命中。4.3 一个更完整的示例标题、章节、公式、图片只写一行文字肯定不够用我再给一个平时最常用的模板骨架我写论文时都会从这种结构起步\documentclass[UTF8]{ctexart} \usepackage{graphicx} \usepackage{amsmath} \title{一份中文 LaTeX 示例} \author{你的名字} \date{\today} \begin{document} \maketitle \begin{abstract} 这里是摘要。中文论文一般需要摘要和关键词。 \end{abstract} \section{引言} 这是第一个章节。用 \LaTeX 写中文论文并不复杂。 \section{公式示例} 行内公式如 $a^2 b^2 c^2$行间公式如 \begin{equation} E mc^2 \end{equation} \section{图片示例} \begin{figure}[htbp] \centering \includegraphics[width0.5\textwidth]{example-image} \caption{示例图片} \label{fig:example} \end{figure} 引用图片如图\ref{fig:example}所示。 \end{document}用xelatex编译两次第一次生成辅助文件第二次更新交叉引用就能看到带标题、摘要、章节、公式和图片的完整中文 PDF。第一次编译时可能提示找不到example-image这是宏包自带的示例图片名一般 TeX Live 都自带如果报错就换一张你自己的真实图片路径或者先删掉图片部分。4.4 编译过程的底层逻辑为什么要跑两遍第一次用 LaTeX 的人可能不理解为什么我不能像 Word 一样点一下“保存”就出 PDF。其实 LaTeX 的工作方式是先读取.tex源文件生成一个.pdf同时把章节号、图表编号、引用关系等写进.aux文件。第二次编译时它会读取.aux把交叉引用、目录、参考文献编号填进去。所以交叉引用和目录经常要“编译两遍以上”才能完全正确。在实际写作中我习惯用latexmk -xelatex main.tex代替手动连续编译。它会自动判断需要编译几遍直到所有引用稳定为止。你甚至可以在 VS Code 的 LaTeX Workshop 插件里配置保存时自动调用latexmk -xelatex体验直逼 Word。5. 高频报错整理新手求助帖里八成的坑都在这里这部分是我最想让你反复看的。安装本身并不难难的是出问题时不知道怎么回事。我按“症状 - 原因 - 解决”的方式列几个最常见的报错场景。5.1 编译报错ctex.sty not found或ctexart.cls not found症状用xelatex编译时报类似! LaTeX Error: File ctexart.cls not found.原因发行版里没有安装 ctex 宏包。这通常发生在你没用全量方案安装或者用的是精简版发行版。老版 CTeX 套装不太会出这个问题因为它是内置的但新版 TeX Live 如果用scheme-small安装可能没带 ctex。解决打开命令行执行tlmgr install ctex装完再重新编译即可。如果你的 tlmgr 因为源的问题很慢可以切换镜像源tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet tlmgr update --self tlmgr install ctex5.2 编译通过但 PDF 里中文乱码或显示为黑方块症状PDF 能生成但中文全变成黑色方块、乱码或者根本不显示。原因最常见的是没走xelatex走了pdflatex或者虽然走了 xelatex但字体配置有问题找不到中文字体。还有一种情况是源文件编码不对编辑器给保存成了 GBK 或 ANSIxelatex 在读取时默认按 UTF-8 解码自然就乱了。解决先确认你用xelatex编译而不是pdflatex。再看源文件编码是否为 UTF-8。最后看系统是否有中文字体在 PowerShell 里执行Get-ChildItem C:\Windows\Fonts | Where-Object { $_.Name -match simsun|simhei|simkai|simfang }如果没有任何输出说明系统字体被精简过或者你用的 Windows 版本把中文字体移除了。这时可以在\documentclass[UTF8]{ctexart}后面加上fontsetwindows或者fontsetfandol来强制指定字体方案。fandol 是 Linux 下的开源中文字体TeX Live 一般会带一套用它兜底效果也不错\documentclass[UTF8,fontsetfandol]{ctexart}如果用 fandol 就能正常显示说明是系统字体的问题而不是宏包问题。5.3 编译时报Invalid UTF-8 byte sequence或Package inputenc Error症状报错里出现Unicode character 你 (U4F60) not set up for use with LaTeX之类的话或者直接! Package inputenc Error: Unicode character ... not set up。原因这基本可以确定你用了pdflatex或latex来编译中文文档。pdflatex时代处理中文需要借助CJKutf8、\usepackage[UTF8]{ctex}之类的老方案对现代 UTF-8 多字节字符支持得很勉强。解决改用xelatex编译。如果你已经用了xelatex那可能是ctex宏包没被正确加载——检查文档第一行是否用的是ctexart文档类或者至少写了\usepackage[UTF8]{ctex}。用 ctex 文档类时输入编码、字体这些都由宏包帮你处理不需要额外加inputenc包。5.4 找不到tlmgr或xelatex命令症状在命令行输xelatex --versionWindows 提示“不是内部或外部命令”。原因安装时没有把 TeX Live 的 bin 目录写进 PATH或者你安装前就打开了终端环境变量没刷新。解决先关掉当前终端重新打开一个。如果还不行手动把C:\texlive\2024\bin\windows加入系统 PATH。具体步骤右键“此电脑” - 属性 - 高级系统设置 - 环境变量 - 在“系统变量”里找到Path- 编辑 - 新建 - 填入你的 bin 目录路径。改完重启终端验证一下。如果以后想更新宏包也是同一个命令tlmgr update --all前提是 PATH 里能找到 tlmgr。5.5 参考文献编译报错或编号全是问号症状正文引用 [1] [2] 的位置显示成[?]或空括号编译时有 Warning 说Citation xxx undefined。原因用 BibTeX 时编译顺序应该是xelatex - bibtex - xelatex - xelatex少跑一轮或多一轮都可能导致引用没解析。解决不要手动一轮轮跑用latexmk -xelatex main.tex。它会自动判断 BibTeX 是否该跑。如果你坚持手动顺序必须是xelatex main.tex bibtex main.aux xelatex main.tex xelatex main.tex还有一个小的点bibtex main.aux里读的是你文档中的\cite和\bibliography命令贡献的信息所以第一步必须先跑一次 xelatex 生成.aux。很多人一上来就跑 bibtex当然会找不到数据库。5.6 老 CTeX 套装无法在新版 Windows 上安装症状双击CTeX_2.9.2.164_Full.exe时提示兼容性问题或者安装到一半报错回滚。原因这个安装包年代太久可能和 Windows 10/11 的 UAC、路径权限、字体安装机制不兼容。解决我不是建议你在兼容性设置里硬折腾。装个现代 TeX Live然后文档类用ctexart效果完全覆盖老 CTeX 套装的 95% 使用场景。如果确实有老模板依赖老套装的 WinEdt可以考虑虚拟机里装老 Windows 跑但这已经属于怀旧玩法了不推荐在主力机上折腾。6. 编辑器选型实测TeXworks、TeXstudio、VS Code 哪个顺手编译环境装好后另外一个决定日常使用体验的大项就是编辑器。我用过不少这里直接把主观体验写出来。核心共识是LaTeX 对编辑器并不挑剔只要能写文本 能调编译命令剩下都是喜好问题。但不同编辑器对新手友好度差异还挺大。6.1 TeXworks装机自带白纸一张的“原教旨”编辑器TeX Live 和 MiKTeX 都自带 TeXworks。它的优点是简洁、无学习成本左上角一个绿色播放键点击就编译右侧直接预览 PDF文档和 PDF 之间还能 Ctrl点击 互相跳转。缺点是功能太素了没有代码自动补全、没有拼写检查、没有目录树如果你写长文档光靠它还是挺累的。 适合人群只想跑通第一个文档、不想折腾工具链的人。6.2 TeXstudio功能全面的老牌专业编辑器TeXstudio 是我用时间最长的一个几乎开箱即用安装后它会自动找到 TeX Live 的路径左侧有文档结构树输入\会自动弹出命令补全列表还有公式预览、拼写检查、一键编译并查看 PDF。对新手来说它的补全和错误提示很友好因为报错信息会以列表形式列在底部双击能跳转回源码对应行。 适合人群写论文、写书、需要长期写复杂文档的用户。6.3 VS Code LaTeX Workshop免费且灵活的可扩展方案VS Code 加 LaTeX Workshop 插件是现在很多程序员的标配。它的好处是编辑器本身很现代配合 LaTeX Workshop 插件按CtrlS保存后插件可以自动调latexmk -xelatex编译再配合内置 PDF 查看器体验很丝滑。你可以写各种自定义片段、用 Git 做版本管理甚至配一个.latexmkrc文件指定编译引擎和清理规则。不过 VS Code 的配置对新手有个小门槛你得自己理解settings.json并保证插件能识别到你的 TeX Live 目录。如果之前没配过第一次打开.tex文件时插件会提示你配置一般选择默认设置就能跑。下面是一段我常用的 VS Code settings 片段供参考{ latex-workshop.latex.tools: [ { name: latexmk, command: latexmk, args: [ -xelatex, -synctex1, -interactionnonstopmode, -file-line-error, %DOC% ] } ], latex-workshop.latex.recipes: [ { name: latexmk (xelatex), tools: [latexmk] } ] }这段配置的作用是把默认编译工具改成latexmk -xelatex并开启 SyncTeX 同步定位。如果以后你写英文文档想用 pdflatex可以再建一个 recipe。7. 写完中文文档后这几件事能让排版质量再上一步最后聊几个我实际使用中摸索出来的、与“基础使用”关系紧密的经验。不一定每个你都用得上但知道这些能让你少走弯路。7.1 用texdoc ctex查官方文档别乱搜遇到 CTeX 宏包的细节问题最可靠的答案就在本地文档里。命令texdoc ctex会打开 ctex 宏包的官方 PDF 文档里面详细写了字体设置、章节标题格式、各种可配置项。类似的texdoc lshort-zh可以打开一份很经典的中文 LaTeX 入门文档。本地没有文档时再用搜索引擎但至少你随便调fontset的时候不会全靠猜。7.2 模板可以收集但每个模板都要先跑通很多期刊或学校会提供官方 LaTeX 模板下载下来直接放到工作目录里编译往往会有各种问题模板用的宏包版本、编辑器编码、插图路径、编译顺序可能都和你的环境不完全一致。我建议拿到模板第一次编译时必须用命令行跑一次把报错信息完整读一遍再决定动哪里。不要一上来就在编辑器里狂点编译那样只会看到一片红。7.3 用 bib 管理参考文献比手写 thebibliography 舒服如果论文里参考文献超过十篇手写\begin{thebibliography}就很痛苦了。更舒服的方式是用 BibTeX 或 biblatex把文献信息统一放在一个.bib文件里正文里用\cite{key}引用。这样改文献格式、换期刊模板时只需要改.bst或样式文件不需要手动调整每一条参考文献的格式。最基础的示例% 在导言区 \usepackage{cite} % 文末 \bibliographystyle{plain} \bibliography{refs}编译顺序用第 5.5 节说的四步法或者直接latexmk。7.4 记得定期更新宏包tlmgr update --allTeX Live 安装后不是一劳永逸的。宏包在持续更新期刊模板也可能要求某个宏包版本以上。我一般每两个月跑一次tlmgr update --all更新前建议先tlmgr update --self更新 tlmgr 自身。更新后最好重新编译一遍日常文档确认没被某个宏包的新版本改坏。虽然这种事不常发生但提前心中有数不至于在交稿前一天被坑。从我这些年踩过的坑来看Windows 下用 CTeX 这件事大部分时间都花在了“概念不清”和“编译链路易错”上。你只要记住了用现代发行版、用 xelatex 编译、源文件编码 UTF-8、遇到引用问题用 latexmk 四连这套组合足以覆盖绝大多数中文论文场景。如果你是第一次装读完这篇后可以先从第 3.4 节的验证命令开始按部就班走一遍就能避开我在文章里写的那些坑。如果后面碰到文章里没写到的报错欢迎带着完整的.log日志内容去社区提问那比发一张报错截图有用得多。