☰
Windows下CTeX安装全攻略:从老套装到TeX Live+ctex宏包
2026/10/1 14:14:43 网站建设 项目流程

1. 开篇:为什么在Windows上装CTeX依然值得写一篇

CTeX这个名字,在中文LaTeX圈子里几乎等于“入门第一站”。很多人在Windows上写学术论文、毕业设计、期刊投稿,第一次接触LaTeX就是通过CTeX。即使是现在,翻到旧硬盘里的CTeX 2.9.2安装包,还是会有一批老用户默默点头:就是它把我从Word排版的泥潭里捞出来的。

不过我得先说句实在话:CTeX这套工具,它并不是一个“新东西”。它最早是把MiKTeX、WinEdt、Ghostscript等一堆工具打包在一起,做成一个Windows下开箱即用的中文TeX发行版。核心解决的问题是——中文用户想用LaTeX排版,但是标准TeX对中文支持很麻烦,而CTeX把字体、宏包、编译器、编辑器、查看器全都提前配好,装完就能写中文论文。

这篇文我打算从零开始把整个链条讲清楚:先辨析一下CTeX套装和现代TeX Live加ctex宏包的关系,再给出Windows下的完整安装步骤,接着带你编译出第一份中文PDF,最后把我在实际使用中踩过的坑、排查过的报错全部整理出来。适合三类人看:一是刚接触LaTeX、被“安装中文支持”挡住的新手;二是准备从Word迁移到LaTeX排版的科研工作者;三是在公司写标书、技术文档时被长文档排版逼疯的工程师。看完不求你能排版多复杂的东西,但至少在Windows上看到一个CTeX相关的报错,不会慌。

2. 先搞明白:CTeX套装和ctex宏包到底什么关系

2.1 两个“CTeX”的历史渊源

这是新手最容易绕晕的点:CTeX既可以指那个老牌的“CTeX套装”安装包,也可以指LaTeX中的“ctex宏包”。这两者是不同时代的产物。

CTeX套装,典型代表是2.9.2版本,2012年左右是它的黄金期。它的做法是把一套完整的TeX系统(基于MiKTeX内核)和中文支持模块、WinEdt编辑器、SumatraPDF阅读器打包在一起,安装后你打开WinEdt就能直接写中文文档,不仅能排版,还预置了符合国内学术论文排版习惯的文档类。这是它的核心价值:零配置,装完就能出中文PDF。

但它的代价也很明显——更新慢、基于老版本MiKTeX、对Windows新系统的兼容性越来越差。我亲眼见过很多人在Win10、Win11上装完老套装,编译时报一堆“找不到字体”或者“依赖项损坏”的错。

ctex宏包,则是目前的主流选择。它不是一个独立安装的软件,而是运行在TeX Live或MiKTeX上的一个中文支持宏包(package)。你装好TeX Live,然后在文档开头写一句\usepackage{ctex},就能享受完整的中文排版支持,包括中文断行、行距调整、字体配置、标题中文化等。它不绑定编辑器,不绑定具体发行版,跨平台使用。

所以你在网上搜索CTeX安装教程,会看到两种完全不同的教程:一种是教你下一个几百MB的“CTeX套装”exe,另一种是教你装TeX Live再装宏包。我建议,除非你有特殊兼容需求(比如某些老期刊模板声明必须在CTeX套装下编译),否则直接走“TeX Live + ctex宏包”路线,省心且长期可维护。

2.2 为什么新版ctex宏包更适合Windows环境

ctex宏包在Windows上体验尤其好,原因有三:

第一是字体适配。它自动检测操作系统里的中文字体。Windows系统本身就自带了宋体、黑体、楷体、仿宋等字体,ctex宏包会把LaTeX的中文命令(比如\songti、\heiti这些)直接映射到对应字体上,不用你自己找字体文件。而在Linux或macOS上,字体配置往往会多花一些功夫。

第二是编码兼容。Windows老用户都被GBK编码折磨过——老版本CTeX套装默认用GBK编码,如果文档里有Unicode字符,编译就报错。新版ctex宏包支持UTF-8编码,现在Windows上写LaTeX文档,用Notepad++、VS Code、TeXworks,统统建议UTF-8保存,完全没问题。

第三是引擎选择灵活。ctex宏包允许你用XeLaTeX或LuaLaTeX编译,这两种引擎能直接调用系统字体,对UTF-8中文支持非常自然。理论上,pdfLaTeX也能配合ctex宏包编译中文,但需要配置字体映射,踩坑概率大。我在下面会详细说编译命令选择的逻辑。

2.3 老套装、新发行版、个人习惯之间的取舍

做个小表格,帮你快速定位自己适合哪条路:

对比维度老版CTeX套装(2.9.2)TeX Live + ctex宏包
安装体积1GB左右完整安装4GB+,精简安装可到2GB
中文支持开箱即用需要写完\usepackage{ctex}
默认编辑器WinEdt(老但顺手)自己选(TeXworks / VSCode)
编译命令LaTeX / PDFLaTeX推荐XeLaTeX
维护更新基本停滞TeX Live每年更新
Win11兼容性配置麻烦很稳定
适合人群老用户、特定模板依赖新手、长期使用者、跨平台用户

我个人的建议是:如果你纯粹想快速写一篇中文论文,不想折腾环境,老套装确实能开箱即跑,但别在Win11上硬碰硬。如果你愿意稍微花半小时装环境,收获的是之后数年不焦虑的TeX体验。我自己是从老套装一路用过来的,现在主力是TeX Live加VS Code,偶尔遇到老模板必须用CEB(CTeX Bundle)时,才会单独跑一版老套装。所以说“老套装”不是不能用,只是别把它当成长期依赖。

3. 动手安装前的准备:版本、下载与系统环境

3.1 版本选择:用什么版本,去哪里下载

这一步按你走的路线来:

如果是“老版CTeX套装”路线,找官网或者国内镜像站下载CTeX_2.9.2.164_Full.exe即可。这里要注意,老套装安装到Win10/11上,最大的问题不是安装过程,而是安装完第一次编译时可能有权限、字体注册、路径带空格等历史遗留毛病。我会在第五章给出排查方法。

如果是“TeX Live + ctex宏包”路线,去清华TUNA镜像站下载TeX Live ISO,这是目前Windows下最靠谱的方式。搜索“清华tuna texlive”,找到/CTAN/systems/texlive/Images/目录,下载最新版texlive.iso。镜像我个人更推荐清华,因为国内速度极快,每秒能到几十MB,比自己找的网盘资源稳定得多。CTeX宏包不需要单独下载——TeX Live里已经带了ctex、xeCJK、fontspec等一系列中文相关宏包,装完即是全套。

3.2 安装目录的路径原则

这是新手最容易埋雷的地方。

第一条原则:安装路径不要包含中文。哪怕是Windows这种号称“中文第一系统”的平台,TeX工具链里很多底层程序对中文字符路径的处理依然很脆弱。目录名最好是纯英文加数字,比如D:\texlive、D:\CTEX。我在现实中见过太多同学把东西装在D:\软件\TeX下面,编译的时候报一堆奇怪错误。

第二条原则:尽量避开系统盘Program Files。不是装不了,而是权限问题很烦人。TeX在编译过程中会往用户目录写入临时文件和字体缓存,装在Program Files下,有时候需要以管理员身份运行编辑器,否则宏包更新报权限不足。直接装到非系统盘的根目录下,省心太多。

第三条原则:安装完成后,关闭杀毒软件的实时监控。这听起来像玄学,但事实是某些安全软件会把TeX Live的更新工具tlmgr和编译进程当成可疑程序拦截。轻则宏包装不上,重则整个发行版文件被隔离,导致所有编译全军覆没。装好之后可以重新开启,只要不实时扫描TeX根目录就行。

3.3 安装前的环境确认清单

在点下一步之前,花三分钟确认下面几项:

  1. 操作系统是64位Windows,硬盘剩余空间足够(老套装2GB、TeX Live完整版至少10GB)。
  2. 如果计划用VSCode做编辑器,先装好Code,并确保网络稳定。
  3. 确认自己是管理员账户。虽然TeX Live安装可以在非管理员模式跑,但管理员身份最省事。
  4. 如果系统开启了“勒索软件防护”或SmartScreen,建议临时关掉,老套装安装包常被标注为“未知发行商”,容易被默认拦截。
  5. 关闭所有Office、WPS的进程,避免某些DLL文件被占用。

这份清单看起来啰嗦,但每一条都是我从用户群、技术社区里刷出来过的高频问题。做足了准备,后面安装就是一路下一步。

4. 常规安装路线实操:老套装与TeX Live分别怎么做

4.1 老版CTeX套装2.9.2的安装步骤

假设你已经下载了CTeX_2.9.2.164_Full.exe,右键,选择“以管理员身份运行”。老套装是基于InstallShield打包的,安装界面风格很古早,但流程本身不复杂。

  • 进入欢迎界面,点击Next,填好用户名和组织名,可以乱填,但别留空。
  • 安装路径我建议直接改成D:\CTEX,记住路径中不要有中文。
  • 组件选择保持默认,因为老套装已经把常用工具全选好了:MiKTeX核心、WinEdt、SumatraPDF、Ghostscript、GSview、中文支持文件。
  • 安装过程中会弹一个提示“是否安装Adobe Reader”,可以取消,没必要装它。
  • 等待安装进度条走完,这一步大约需要10到20分钟,取决于你的磁盘速度。

装完之后,桌面上会出现WinEdt的快捷方式。双击打开,新建一个.tex文件,输一段简单中文测试,按F9编译,如果顺利弹出PDF窗口,那就说明安装成功。

这里我要强调一个常见的忽略点:老套装装完,第一次编译中文文档时,很可能会弹一个窗口提示“缺少中文字体映射”或“找不到fondid.map”。问题根源是MiKTeX的字体数据库需要刷新。解决方法是,在开始菜单找到“MiKTeX Options”,切到“Format”或“Refresh”标签,点击“Refresh FNDB”和“Update Formats”,把两者都执行一遍,然后再编译。

WinEdt的编码设置也是重灾区。老版WinEdt默认可能是ANSI编码,而我们的文档是UTF-8。所以写完中文后,检查右下角状态栏的编码指示,把它切换成UTF-8,否则保存后再编译就是一堆乱码。如果选项里找不到编码切换,可以在“Document”菜单下的“Encoding”里选UTF-8。

4.2 TeX Live安装的详细流程

TeX Live安装全程用图形界面,门槛比老套装低。步骤如下:

  1. 从清华镜像下载texlive.iso镜像文件,大概4GB左右。
  2. 在Windows资源管理器中双击ISO文件,Windows 10/11可以直接挂载成虚拟光驱,不需要额外解压工具。
  3. 进入挂载后的虚拟光驱,找到install-tl-windows.bat,右键,选择“以管理员身份运行”。
  4. 弹出的窗口是一个命令行风格的TUI界面,别怕,不需要输入命令,直接用方向键和回车就能操作。
  5. 先用上下键选中“Advanced profile”(高级配置),回车进入,把安装界面从“安装到系统盘”改到“你指定的盘符”。这里我建议选“D:\texlive\2025”这种纯英文路径。
  6. 在安装方案(scheme)里,我建议选“medium”或“full”。“full”安装最稳妥,但耗时极长;如果你只是写普通中文论文,medium也够,后面缺什么再用tlmgr补装即可。
  7. 确认选项后,回到主界面,选择“Install TeX Live”,回车开始安装。整个安装过程30到60分钟,取决于网速和磁盘性能。界面会有进度百分比,你可以去喝杯水。

等安装结束,千万别急着关窗口。检查最后的输出里有没有Welcome to TeX Live!这样一类的成功提示。然后回到命令行,敲一句tex --version,如果显示TeX Live版本号,说明环境变量已经自动配置好了。

4.3 安装完成后的验证:编译一个最小中文文档

无论哪条路线,装完都要跑一个最小样例验证环境。我强烈建议直接用下面这份模板:

\documentclass{article} \usepackage{ctex} \begin{document} 你好,CTeX! 这是一份测试文档。中文排版是否正常。 \end{document}

老套装用户:保存为test.tex,用WinEdt打开,确保编码选择UTF-8,然后按F9编译。默认老套装编译命令可能是LaTeX(生成DVI),我建议在WinEdt的“TeX”菜单中选择“PDFLaTeX”或“XeLaTeX”编译方式,直接生成PDF再查看。

TeX Live用户:第一次编译建议直接用命令行,打开CMD或PowerShell,敲下面的命令:

xelatex test.tex

编译结束后,当前目录下会生成test.pdf,用任意PDF阅读器打开,看到“你好,CTeX!”几个字,就是环境全通了。

这一步是整个安装过程中最有成就感的一刻。很多人卡在这里会问:为什么PDF打不开?为什么没有PDF文件?通常原因只有一个——编译命令选错了。用pdflatex直接编译中文文档,老版本可能报错;用xelatex编译,成功率极高。编译命令的选择是下一章的重点。

5. 编辑器、编译命令与基础使用方法

5.1 编辑器选型:从WinEdt到VS Code

安装完CTeX之后,用哪个编辑器,是一个能争三天的问题。我的态度是:工具是服务于流程的,选你最不别扭的就行。

老套装自带的WinEdt,界面虽然老,但功能其实不弱。它有预览快捷键、段落折叠、列表导航、自动补全标签等,而且对CJK编码的支持在设置好后很稳。缺点也明显:界面丑、配置项太多太散、对现代高DPI屏幕适配不好。如果你用的是2K或4K屏幕,在WinEdt里看小字会怀疑人生。

TeX Live自带的TeXworks,是最轻量、最接近“开箱即用”的编辑器。它的左右分栏预览模式非常直观——左边写代码,右边显示PDF。对新手来说,这种模式能降低理解成本。缺点是功能偏少,写几百页的大论文时,标签管理、代码折叠、多文件跳转体验都比较弱。

VSCode加LaTeX Workshop插件,是目前我个人的主力方案。理由就三条:自动补全和悬浮预览好用;配置可调性高,编译链和清理策略都能自定义;文件树、Git集成、拼写检查这些现代编辑器能力都在。如果你平时写代码、写论文、写技术文档都会用到VSCode,那搭好一套LaTeX环境,一劳永逸。

不管选哪个编辑器,最核心的配置点都是编译命令。编辑器本质上只是个壳,真正把.tex变成PDF的是底层引擎。

5.2 编译命令的选择逻辑:为什么优先用XeLaTeX

老版CTeX套装里,默认的编译按钮可能绑定的是LaTeX -> dvipdfmx这条老链路。这条链路的原理是:先编译生成DVI文件,再通过dvipdfmx把DVI转成PDF。在CTeX的时代,这套流程天然支持中文CJK字体,所以很多老教程都是这么教的。但现在,我不推荐这条路了,因为链路越长,出错的环节越多。

我现在推荐用XeLaTeX直接编译。原因包括:

  1. XeLaTeX原生支持UTF-8,直接把Unicode中文字符交给字体和宏包处理,不存在“压缩编码”的中间层。
  2. 它直接调用系统字体,ctex宏包可以把\songti等字体命令映射到Windows自带的中文字体上,不会有字体缺失问题。
  3. 生成的PDF是中文原生嵌入字体,复制粘贴时不会变成乱码,满足很多期刊投稿的规范要求。

在VSCode里,LaTeX Workshop默认的编译配方不一定是XeLaTeX。你需要手动设置,在settings.json里写成这样:

"latex-workshop.latex.recipes": [ { "name": "xelatex", "tools": ["xelatex"] } ], "latex-workshop.latex.tools": [ { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] } ]

这里给个实用建议:除非你需要交叉引用、目录、参考文献等多次编译功能,否则第一次尝试时直接手动命令行跑一遍XeLaTeX,看报错更直观。等文档写长了,再用编辑器的自动编译链也不迟。

5.3 一套带基础结构的模板:从零开始写中文论文

安装环境验证通过后,你是不是马上想写正式文档了?我给你一份可以直接抄作业的中文论文基础模板,它覆盖了常见的中文排版需求:

\documentclass[UTF8]{ctexart} \title{基于CTeX的中文文档排版示例} \author{你的名字} \date{\today} \begin{document} \maketitle \begin{abstract} 这是一段摘要。摘要通常用楷体或者宋体即可,laTeX会自动管理字形。 \end{abstract} \section{引言} 这里是引言部分。中文段落排版由ctex宏包自动处理。 \section{相关工作} 在这里引用文献 \cite{example}。 \begin{thebibliography}{9} \bibitem{example} 张三, 李四. 中文参考文献格式示例[M]. 北京: 某出版社, 2024. \end{thebibliography} \end{document}

注意这份模板文档类用的是ctexart,它会自动设置中文字体、中文标题样式、段落缩进、行距,比你用article加ctex宏包再手动调要省力得多。文档类参数里的UTF8也是兼容老版CTeX的写法,现在即使不写也不会报错,但写上更保险。

编译方式依然是XeLaTeX,一次通过。如果你想生成目录,编译两次;有交叉引用,也编译两次;有BibTeX参考文献,需要按照“xelatex -> bibtex -> xelatex -> xelatex”的顺序跑。编辑器的自动化配方一般都能处理,手动跑时记住这个顺序就不会出错。

6. 使用中的常见问题与排查技巧

6.1 中文乱码与字体相关问题

这是我遇到最多的问题类型,而且它分为“编译前乱码”和“编译后乱码”两种。

编译前的乱码,十有八九是编码问题。老套装的WinEdt默认编码可能是ANSI,而你的.tex文件是UTF-8保存的。解决方式:在WinEdt里点Document -> Encoding -> UTF-8,重新加载文件。建议养好习惯:任何编辑器新建文件时,第一件事就把编码切到UTF-8。用VSCode的人,在右下角状态栏可以直接看到当前编码,点击也能切换。

编译后的PDF乱码,大概率是字体映射问题。报错信息里常见Missing character: There is no ... in font,说明某些字符在当前字体里不存在。常规解法是检查ctex宏包的fontset参数,Windows下可以显式指定:

\usepackage[fontset=windows]{ctex}

这样ctex宏包会优先使用Windows自带的中文字体映射规则。如果你用了自定义字体,可以在导言区用\setCJKmainfont{宋体}之类的方式手动指定字体名。要确认系统到底有哪些可用字体,Windows的“设置->个性化->字体”里能查到,或者用fc-list :lang=zh在命令行里看。

这里分享一个我自己解决过的离奇案例:同事的文档在本机编译正常,发给我后编译却出现少量乱码。最后发现是字体问题——他用了一个非标准字体“仿宋_GB2312”,我系统里没装这个字体,被替换成其他字体后部分字符缺失。所以,如果文档要跨机器协作,尽量用系统自带字体,或者把字体文件一起附带在项目里,并在导言区指定字体文件路径。

6.2 宏包装不上、更新慢或报权限错误

TeX Live用户经常会遇到“需要安装宏包,但安装失败”的问题。典型报错是Package foo is not available,提示你用tlmgr安装。比如你要用某个生僻宏包,手动执行:

tlmgr install 宏包名

如果下载极慢或连接超时,通常是默认源在国外。解决办法:切换tlmgr的镜像源为清华源。

tlmgr option repository http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet tlmgr update --list

注意,tlmgr的源配置不支持https,要用http,这也是很多人踩坑的地方。另外,执行tlmgr最好使用管理员身份,否则容易出现“Permission denied”。

老套装用户在宏包安装上更麻烦,因为基于MiKTeX 2.8/2.9版本较老,很多新宏包不兼容。我的建议是:老用户不要执着于在老套装里装新宏包,缺什么功能就把文档编译搬到TeX Live上跑。费力不讨好的事,能不做就不做。

6.3 Win10/11系统下的兼容性与疑难杂症

在老版CTeX套装下,Win10/11系统最常见的三个问题:

第一,安装时提示Error writing to file,多半是权限不够或杀毒软件在拦截。重新以管理员身份运行安装程序,或临时关闭实时保护。

第二,双击WinEdt打不开,或者打开后工具栏图标错乱。右键快捷方式,点击“属性”,切到“兼容性”页签,勾选“以兼容模式运行这个程序”,下拉框选Windows 7或Windows 8。一般能解决。

第三,编译时提示invalid character code或直接崩出MiKTeX Problem Report。这个问题的根源是MiKTeX内核在某些新CPU、新系统上的浮点或字符处理异常。实在不行,直接放弃老套装,切TeX Live。别在老药方上打转了,生活要往前看。

6.4 常见问题速查表

现象可能原因解决方向
WinEdt打开tex文件中文乱码编码不匹配切换UTF-8编码
编译PDF中文显示为空白字体缺失或fontset错误指定fontset=windows或安装对应字体
xelatex命令找不到环境变量未生效重启CMD,或手动添加TeX绑定路径
CTeX宏包版本过低(老套装)发行版太老换TeX Live全新安装
参考文献编译后不显示BibTeX流程未跑按xelatex->bibtex->xelatex->xelatex顺序编译
编译时报缺少某宏包宏包未安装tlmgr install + 设置国内镜像源
PDF文件被编辑器占用无法重新编译SumatraPDF锁定先关闭PDF预览窗口再编译
生成的PDF点击目录跳转不了缺少SyncTeX用-Synctex参数重新编译

这张表是我整理多年本地日志浓缩出来的。遇到问题,先看现象,再对应原因,基本能省一半查资料的力气。

7. 从安装到长期使用的一点个人经验

把CTeX在Windows下装好,只是万里长征第一步。排版工具和其他软件最大的区别是:它解决的不是“能不能用”,而是“写一篇文章时,你有多不想开Word”。

从我个人的角度看,CTeX有很多做得很好的细节。比如ctex宏包对中文字体的处理,完全符合中文排版习惯;书目、摘要、标题、日期都有中文样式支持,不用自己重造轮子。如果你要排版学位论文,可以找各校为ctexart或ctexrep定制的模板,开箱体验比老套装时代好太多。

装完环境后,最重要的一步不是多学排版技巧,而是建立一个干净的文档工作流。我的建议是:为每篇论文单独建一个文件夹,.tex、图片、参考文献都放里面,用相对路径引用图片和文献。编译一次后,生成的.aux、.log、.out等临时文件不用刻意清理,如果看着心烦,写个批处理脚本定时清理即可。环境稳定、文件整洁、编译命令统一,这三点才是长期高效写LaTeX的核心。

最后说一句心里话:如果你在安装过程中发现,老套装真的不适合你的系统了,不要留恋。转向TeX Live加ctex,半小时的适应成本,换来的是若干年不被老环境折腾的好心情。希望这篇文章能帮你少踩几个坑,顺利迈出中文TeX排版的这一步。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询