MacBook 上写论文、做排版,绕不开 LaTeX,但很多朋友第一次在 macOS 上搭环境就被 Mactex、Sublime Text、Skim 这几个名字搞懵了:到底先装哪个?装完怎么让它们互相配合?编译按钮按下去报一堆错怎么办?这套文章就是来解决这些问题的。
我用的组合是 MacTeX + Sublime Text + Skim,这套方案在 macOS 上非常经典:MacTeX 负责编译内核,Sublime Text 负责写代码,Skim 负责预览 PDF,三者各司其职、联动顺畅。不管你是刚入门的本科生要写毕业论文,还是研究生准备投期刊论文,甚至只是想把课堂笔记用 LaTeX 整理得更漂亮,这篇文章都能帮你从零跑通整套流程。
1. 方案选型:为什么是 MacTeX + Sublime Text + Skim
1.1 这套组合的定位与使用场景
先说结论:LaTeX 本质上是“用纯文本写文档,再用编译器生成 PDF”的工作流。你需要的不是一个大而全的软件,而是三个各司其职的程序。Windows 上很多人用 TeXLive + VSCode,macOS 上最顺手的组合就是这套:MacTeX 是 macOS 原生的 TeX 发行版,Sublime Text 是一个启动极快、插件生态强大的文本编辑器,Skim 是专为 LaTeX 设计的 PDF 阅读器,支持自动刷新和源码定位。
这套组合最舒服的点在于轻量。Sublime Text 打开项目基本是秒开,不像某些大型 IDE 一样要等半天加载,而且它的快捷键和命令面板用顺手之后,写 LaTeX 的速度非常快。Skim 打开 PDF 也是毫秒级响应,配合 SyncTeX 还能实现“从 PDF 点击跳到源码对应行”,这对修改长文档特别有用。
适合这套方案的读者有三类:第一类是完全没接触过 LaTeX 的新手,需要一个能一次装好、少折腾的路径;第二类是从 Windows 转过来的用户,之前用习惯 Texmaker 或 TeXstudio,现在需要一套 macOS 上等效甚至更好的方案;第三类是重度写作用户,比如经常写论文、做技术报告、写简历模板的人,需要一个稳定、可定制、不占用太多系统资源的组合。
1.2 为什么不用 All-in-One 方案
很多新手会问:为什么不用 TeXShop 或 TeXstudio?这两个确实是 macOS 上开箱即用的 All-in-One 工具,装上 MacTeX 之后自带的 TeXShop 就能直接编译预览,理论上省去很多配置步骤。但实际用下来,这类集成工具的编辑器都比较“重”,代码补全、多文件项目管理、正则替换这些功能远不如 Sublime Text 灵活。
另外也有朋友推荐 VSCode + LaTeX Workshop 插件。这个方案也能用,配置起来也不算复杂,但 VSCode 本身开销比较大,打开大项目时内存占用轻松上 1GB。如果你的 MacBook 是 8GB 内存、甚至更老的 Intel 型号,一边开浏览器查文献、一边编译长文档,VSCode 很容易让系统变得卡顿。Sublime Text 在同样场景下占用只有几十到一百多 MB,快得不是一点半点。
当然,这不意味着 Sublime Text 是完美的。它的 LaTeX 插件体系不如 VSCode 的 LaTeX Workshop 那么新、那么花哨,但核心的编译、预览、错误跳转、补全功能完全够用,而且极其稳定。我 2017 年开始用这套组合,中途试过各种编辑器,最后还是回到 Sublime Text。
1.3 装之前先想清楚三件事
在动手安装之前,先确认三件事,能省掉后面不少麻烦。
第一,明确你的 macOS 芯片类型。如果是 Apple Silicon(M1/M2/M3),MacTeX 会自动安装原生 ARM 版本,编译速度比 Intel 版更快;如果是 Intel 老款,安装流程一样,只是编译速度会慢一些。可以在终端输入uname -m查看,显示arm64就是 Apple Silicon,显示x86_64就是 Intel。
第二,确认电脑磁盘空间足够。MacTeX 完整版体积很大,安装包直逼 5GB,装完占用约 2GB 空间。空间紧张的话可以改用 BasicTeX(轻量版),但后面要用额外宏包时得手动用tlmgr补齐,对新手不友好,建议老老实实装 MacTeX 完整版。
第三,决定要不要用 LaTeX 写中文。如果只是纯英文文档,默认引擎 pdflatex 就够了;如果要写中文论文,必须用 xelatex 引擎配合 ctex 宏包。后面第 3 章的配置流程会专门针对中文场景做调整,这一步想清楚能避免“编译通过但 PDF 里全是乱码”的尴尬。
2. 环境安装:从 MacTeX 到双软件部署
2.1 安装 MacTeX:体积大但值得
MacTeX 是 macOS 上使用最广泛的 TeX 发行版,官网在http://www.tug.org/mactex/。打开页面之后点下载按钮,会得到一个后缀为.pkg的安装包,体积大约 4.5~5GB,下载速度取决于你的网络环境,我建议用稳定的网络下载,中途断了重下很崩溃。
下载完成后双击安装包,按提示一路继续即可。安装过程会持续 5~10 分钟,因为它要把全套 TeX 工具拷入系统目录。装完之后在终端输入latex --version,如果显示类似:
pdfTeX 3.141592653-2.6-1.40.25 (TeX Live 2023)说明 MacTeX 已经安装成功。要注意的是,MacTeX 安装完成之后,命令行的latex、xelatex、tlmgr等工具会被放在/Library/TeX/texbin/下面,正常情况下系统会自动配置 PATH,但如果你用的是 zsh 且没有自动生效,可以在~/.zshrc里加上:
export PATH="/Library/TeX/texbin:$PATH" export MANPATH="/Library/TeX/texbin/man:$MANPATH"加完之后记得执行source ~/.zshrc。这一步对后面的 LaTeXTools 插件很重要,因为编译时 Sublime Text 需要在终端环境中找到xelatex或其他编译命令。
2.2 安装 Sublime Text:编辑器里的轻骑兵
Sublime Text 的下载地址是https://www.sublimetext.com/,目前最新版本是 Sublime Text 4。下载.dmg文件后拖入 Applications 文件夹即可完成安装。第一次打开时会弹出是否安装命令行工具的提示,建议选择“是”,这样可以在终端里直接用subl命令打开文件或文件夹。
如果以前用过 Sublime Text 3,可能会好奇老版本能不能继续用。我实测下来,Sublime Text 4 的启动速度和内存占用控制得比 3 更好,对 LaTeXTools 的兼容性也更到位,所以直接上新版就好。新版安装完默认没有 Package Control,需要手动装一下。
装 Package Control 有两种方式。最简单的一种是:打开 Sublime Text,按Ctrl+Shift+P(注意 macOS 上是Command+Shift+P)调出命令面板,输入Install Package Control,回车,稍等几秒就会出现成功提示。如果这种方式失败(比如网络受限),可以去 Package Control 官网https://packagecontrol.io/installation复制一段安装脚本,粘贴到 Sublime Text 的 console 里执行。console 的打开方式是View > Show Console或快捷键Ctrl+\``(Mac 上是Control+``)。
Package Control 装好之后,后面的 LaTeXTools 插件才能顺利安装,所以这是必做步骤。我试过跳过这一步直接往Packages目录里塞插件,后面更新和维护都麻烦,不推荐。
2.3 安装 Skim:PDF 预览的关键角色
Skim 是 macOS 上一款老牌的 PDF 阅读器,专为 LaTeX 用户设计,下载地址是https://skim-app.sourceforge.io/。下载打开的.dmg拖入 Applications 文件夹即可。Skim 最核心的能力有两个:一是自动检测 PDF 文件变化并刷新预览,二是跟 LaTeX 编译器配合实现源码和 PDF 的双向定位。
装好 Skim 后,需要打开一个设置:Skim > Preferences > General,勾选Check for file changes并选择Automatically reload,这样每次编译输出新的 PDF 后,Skim 会自动刷新页面,不用手动去点重新加载,这个细节非常影响体验。还有一个小设置:在Skim > Preferences > Sync里,确保 PDF-TeX Sync 的支持被启用,默认就是开启的,不用特意改动。
这里顺便说一句,为什么不用 macOS 自带的“预览” App 来看 PDF?因为预览 App 不会自动检测文件变化,每次编译完都要手动切换、手动刷新,而且不支持 SyncTeX 源码跳转,体验差很多。Skim 的存在就是为了解决这些痛点,所以不要省这一步。
2.4 安装 Package Control 的坑与注意事项
Package Control 安装过程虽然简单,但有个常见的坑:某些网络环境下,Sublime Text 无法访问packagecontrol.io,导致安装进度卡住或者报错。我遇到过几次这种情况,原因是网络代理或 DNS 问题。解决思路是暂时关闭代理再试,或者使用安装脚本方式手动安装。
此外,安装完 Package Control 后,Sublime Text 右下角可能提示“Package Control 正在下载 channels”,此时最好不要立刻去安装其他插件,等它把 channel list 拉取完成再操作。如果长时间卡住,可以按Ctrl+\``(Mac 上是Control+``)打开 console 查看日志,里面有详细的网络请求报错信息。根据我的经验,90% 的安装失败都是网络问题,不是操作问题,所以别慌,先排查网络。
3. 核心配置:LaTeXTools 与 Skim 联动
3.1 安装 LaTeXTools 插件
LaTeXTools 是 Sublime Text 上最成熟、维护最活跃的 LaTeX 辅助插件,功能覆盖编译、错误定位、代码补全、参考文献管理、SyncTeX 双向定位。安装方式很简单:按Command+Shift+P打开命令面板,输入Package Control: Install Package,回车,然后搜索LaTeXTools,找到后回车安装。
安装完成后,Sublime Text 底部会显示 “LaTeXTools installed” 之类的提示。之后随便打开一个.tex文件,插件就会自动加载。你可以看菜单栏是否有LaTeXTools菜单项来确认插件是否成功激活。
如果安装过程中被依赖问题困住,绝大多数情况是因为 Sublime Text 版本太旧或 Python 环境异常。Sublime Text 4 内置了 Python 3.8 运行时,LaTeXTools 已适配,所以直接用 4 版本基本不会遇到依赖问题。若仍报错,可以在命令面板执行Package Control: Satisfy Dependencies,让 Package Control 手动补齐依赖。
3.2 配置 LaTeXTools 指向 MacTeX
LaTeXTools 安装完成后,默认情况下它会自动找到 MacTeX 的编译工具,因为 MacTeX 安装器已经把可执行文件放进了系统 PATH。但为了保险起见,还是建议检查一下配置。方法:Sublime Text > Preferences > Package Settings > LaTeXTools > Settings - User,打开用户配置文件。如果里面是空的,就新建一个空对象{},然后逐步添加需要覆盖的配置项。
先看 Windows 用户常见的“找不到 latex”的问题在 Mac 上也会出现吗?如果不确定,可以手动指定texpath。打开 Settings - User,添加如下内容:
{ "texpath": "/Library/TeX/texbin:$PATH", "windows": { "texpath": "" } }我实测过,MacTeX 默认路径就是/Library/TeX/texbin,只要这个路径存在,LaTeXTools 就能顺利调用。万一你用的是自定义安装目录或者 BasicTeX,就需要将上面的路径改成实际路径。配置完不需要重启 Sublime Text,保存后立刻生效。
还有一个值得改的配置项是编译引擎。LaTeXTools 默认使用pdflatex,但如果你要写中文文档,必须改成xelatex。这个不用在全局配置里写死,而是可以在单个.tex文件开头用 magic comment 声明,比如:
%!TEX program = xelatex这样按Command+B编译时,LaTeXTools 就会自动调用 xelatex。我喜欢这种按文件指定引擎的方式,因为不同项目可能有不同的编译需求(比如部分模板要求 pdflatex,部分要求 xelatex),写在文件里比改全局配置更灵活。
3.3 Skim 自动预览配置
在 LaTeXTools 的默认设定里,编译完成后它会自动打开 Skim 显示 PDF。但如果之前没用 Skim 打开过任何 PDF,插件可能找不到 Skim 的路径。建议先在 Skim 里手动打开任意一个 PDF 文件,退出后即可完成关联。之后编译.tex文件时,LaTeXTools 会用 AppleScript 告诉 Skim 打开对应 PDF 并自动跳转。
如果你希望编译动作和跳转更精确,可以在 Skim 的Preferences > Sync中做如下设置:PDF-TeX Sync support保持默认的Skim选项即可。LaTeXTools 通过一个名为skim的模块来和 Skim 通信,在Settings - User里也能找到"skim"相关的配置段,默认已经指向好了,基本不需要改。
一个大家容易忘记的操作是:第一次用 Skim 打开 PDF 后,在File > Open Recent里看一下是否有记录,如果这里为空,说明 Skim 没有正确注册为 LaTeX 预览器。正常情况不用管,这里只是排查思路。
3.4 首次编译测试与验证
配置到这里,可以跑第一个测试文档了。新建一个文件,命名为hello.tex,内容如下:
\documentclass[UTF8]{ctexart} \begin{document} 你好,LaTeX! \end{document}注意,如果你不写中文,documentclass可以直接用article,并且删掉UTF8选项。但如果目标是写中文文档,用上面的ctexart是最省心的方案,它自带中文排版支持。
保存文件后,按Command+B触发编译。LaTeXTools 会弹出构建面板展示编译日志。如果一切顺利,几秒钟后 Skim 会自动打开并显示“你好,LaTeX!”。这个时刻就是整套环境成功的标志。
编译过程中如果报错,先不要慌。LaTeXTools 会把错误信息用Error或Warning的形式列在面板里,按F4可以跳到源码中对应的出错行。这是排查问题最核心的操作,记住它。一个经验是:LaTeX 的报错经常“报告位置”和“实际错误位置”不一致,所以跳转之后多看几行上下文,别只盯着爆红的行。
3.5 自定义编译快捷键与构建组合
Sublime Text 默认的编译快捷键是Command+B,这个在 LaTeXTools 里已经绑定好了。但还有几个高频操作的快捷键值得记住:Command+L加G可以执行goto,跳到 PDF 中的对应页面;Command+L加P可以打开 PDF 预览;Command+L加Q可以查看日志。这些快捷键在 LaTeXTools 的默认配置里都有,用熟了能显著提升书写节奏。
更进阶一点,如果你经常需要配合biber处理参考文献,LaTeXTools 默认也是支持的。用biblatex宏包时,只需要在文件开头写%!TEX program = xelatex和%!TEX bib = biber,编译时 LaTeXTools 会先跑 xelatex,再跑 biber,最后再跑两遍 xelatex。我写硕士论文时,这套多轮编译机制帮我省了非常多的手工操作。
4. 常见问题与排查技巧实录
4.1 “latex: command not found” 环境变量问题
这是新手遇到最多的问题之一。明明 MacTeX 装好了,但在 Sublime Text 里编译时报错说找不到xelatex或latex。核心原因是 Sublime Text 的 GUI 应用启动时不会加载你 shell 配置文件里的环境变量,所以即使终端能用xelatex,Sublime Text 也可能找不到。
解决方法有两种。第一种是在Settings - User里显式指定texpath,就像前面3.2节描述的那样。第二种是使用launchctl setenv PATH把路径注入到 GUI 应用环境中,但这种方法在 macOS 更新后可能失效,不推荐。最稳妥的还是第一种:直接在 LaTeXTools 配置里写清楚路径。
另一个隐蔽点:如果你同时装了多个 TeX 发行版(比如 Anaconda 自带了一些 TeX 工具),系统 PATH 里的latex可能指向了错误版本。我建议在终端执行which latex和which xelatex,确认它们的路径,再反查它们是否来自/Library/TeX/texbin。如果你的机器上出现了~/anaconda3/bin/latex之类的路径,大概率是环境冲突,最好移除或重装,否则编译行为非常诡异。
4.2 中文乱码与字体问题
中文文档编译出乱码,几乎都是引擎和编码问题。LaTeX 默认的pdflatex只支持 ASCII 编码,中文必须用xelatex或lualatex,配合ctex宏包或xeCJK宏包。如果你的文档已经用了%!TEX program = xelatex,但还是乱码,可能的原因是文件编码不是 UTF-8。Sublime Text 右下角会显示当前编码,确保是UTF-8。
另一种情况是编译通过但中文空白,字形全部消失。这通常是因为系统缺少中文字体,或者ctex宏包找不到合适的字体。macOS 自带“宋体-简”“黑体-简”等字体,新版ctex宏包可以自动识别,但如果你的 macOS 版本较老,可能需要手动在导言区指定字体:
\setCJKmainfont{Songti SC} \setCJKsansfont{Heiti SC}这两个命令前需要加\usepackage{fontspec}和\usepackage{xeCJK}。设置完重新编译,中文基本就能正常显示了。
4.3 PDF 预览不刷新或打不开
编译已经成功,但 Skim 里显示的还是上一次的旧 PDF,这是很常见的问题。首先要确认编译输出的 PDF 文件名和当前位置。LaTeXTools 默认把输出文件放在.tex同目录下,文件名与.tex同名。如果 Skim 打开的是旧路径的文件,那它不刷新是正常的。
其次检查 Skim 的Check for file changes是否开启,前面已经在2.3里提过。如果开了还是不行,可以测试一下是否由 Skim 的文件锁定导致:手动关闭 Skim 里已打开的 PDF,再编译一次,看是否能正常打开。如果这样能解决,说明旧文件的保持句柄没释放,重启 Skim 即可。
还有极少数情况是 LaTeXTools 的skim模块没有安装成功。可以在命令面板执行LaTeXTools: Reconfigure LaTeXTools,它会重新生成配置并恢复默认设置,然后再试试编译。
4.4 编译日志与错误定位技巧
遇到报错,最忌讳的是盲目乱改代码。LaTeX 的报错信息通常比较直接,比如! Undefined control sequence.就是打错了命令名,! LaTeX Error: File 'xxx.sty' not found.就是缺少某个宏包。在 LaTeXTools 里查看日志的方法是按Command+L再按Q,会折叠当前文件的编译日志。
如果错误行跳转不准确,可以看日志里类似l.23这样的行号提示,直接打开对应源码文件第 23 行检查。其实很多 LaTeX 错误都来自括号或环境未闭合,比如\begin{document}前面少了一个\end,导致后面的内容全部报错。遇到这种情况,最有效的方法是把出错的代码块注释掉,逐步缩小范围。我通常用二分法:先注释一半,看是否还报错,再二分定位。
4.5 常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
latex: command not found | Sublime Text 环境变量缺失 | 在 LaTeXTools 的 Settings-User 中配置texpath |
| 中文乱码 | 引擎未切换 / 编码错误 | 使用 xelatex,确保文件 UTF-8 编码 |
| 中文全消失 | 系统字体设置问题 | 用\setCJKmainfont指定系统中文字体 |
| PDF 不刷新 | Skim 未开启自动重载 | 勾选Check for file changes并设为自动重载 |
| 编译成功但 PDF 打不开 | Skim 文件锁定 | 关闭已打开的 PDF,重新编译一次 |
找不到.sty文件 | 缺宏包 | 在终端执行sudo tlmgr install <包名> |
| 报错行号与源码不对应 | 环境嵌套未闭合 | 用二分注释法缩小问题范围 |
| 编译太慢 | 使用 pdflatex 编译中文 | 换成 xelatex,并使用ctex宏包 |
4.6 宏包安装与 BasicTeX 用户应急方案
如果你是 BasicTeX 用户,会遇到很多.sty文件缺失的情况,比如报错说ctex.sty not found。解决方法是在终端使用tlmgr安装:先运行sudo tlmgr update --self,然后sudo tlmgr install ctex。如果安装某个宏包时报“no repository”错误,很可能是因为没有配置镜像源,可以用sudo tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet切换源。
不过说真的,如果不是磁盘空间紧张到没法忍受,我现在会毫不犹豫建议新手用 MacTeX 完整版。BasicTeX 省下 3GB 空间,但要花费大量时间去补装宏包,时间成本远远超过那点磁盘占用。如果你已经装了 BasicTeX 并且不想换,那一定记好tlmgr这个命令,后面每个模板的依赖都会需要它。
5. 进阶优化:让组合更好用
5.1 常用命令片段与自动补全
环境跑通之后,大家很快会发现:写 LaTeX 其实有很多重复的模板代码,比如figure、table、equation环境,每次都是手敲一遍。Sublime Text 的 snippet(代码片段)功能就是解决这个问题的。LaTeXTools 自带了部分补全,比如输入\be会提示\begin{}...\end{},但不够定制化。
我们可以创建自己的 snippet。创建方法:Tools > Developer > New Snippet,然后粘贴如下代码来创建一个插入 figure 环境的 snippet:
<snippet> <content><![CDATA[ \begin{figure}[htbp] \centering \includegraphics[width=0.8\textwidth]{$1} \caption{$2} \label{fig:$3} \end{figure} ]]></content> <tabTrigger>fig</tabTrigger> <scope>text.tex.latex</scope> </snippet>保存为figure.sublime-snippet后,在.tex文件中输入fig再按Tab,就会自动展开整个figure环境。用同样的方法,可以给table、equation、itemize等环境创建 snippet。这能极大提升写作效率,尤其是写论文时表格和图特别多的情况。我自己的 snippet 库里已经积累了二十多个常用片段,写论文时基本不需要手动敲完整环境。
5.2 自定义构建系统与多轮编译
LaTeXTools 自带的构建系统已经支持xelatex、pdflatex、biber等多轮自动编译,但对于一些特殊模板(比如某些期刊提供的latexmk配置),可能不够灵活。你可以自定义一个构建系统:Tools > Build System > New Build System,写入:
{ "shell_cmd": "latexmk -xelatex -synctex=1 -interaction=nonstopmode -file-line-error \"$file\"", "file_regex": "^(.*?):([0-9]+):([0-9]+): (.*)$", "working_dir": "${file_path}", "selector": "text.tex.latex" }保存后,在Tools > Build System中选择这个新系统,按Command+B时就会走latexmk自动构建流程。latexmk会根据文档依赖自动决定执行编译的次数和顺序,处理参考文献、目录、超链接这些需要多次编译的场景特别有效。
这里有个小建议:-synctex=1必须保留,它负责生成 SyncTeX 数据,Skim 的源码跳转依赖它。如果发现 PDF 里点击无法跳回源码,很可能就是这个参数缺失,安装配置时一定要留意。
5.3 源码与 PDF 的双向精确定位
前面多次提到 SyncTeX 双向定位,这里详细说说设置。编译完成后(记得加-synctex=1),在 Skim 中按住Command+Shift并点击 PDF 的某处,Sublime Text 会自动跳到对应源码位置。反向操作是:在 Sublime Text 中把鼠标光标定位到某行,按Command+L加G,Skim 会跳到该行生成的 PDF 位置。
这个功能在修改长文档时特别有用。比如你收到了导师的修改意见,说“第 15 页的公式推导有问题”,你只需要在 Skim 里按住Command+Shift点一下那个公式,Sublime Text 就精准跳到了对应的align环境,省去了手动搜索的麻烦。我写博士论文那会儿,全文 120 多页,没有这个功能根本无法想象怎么维护。
如果点击定位无效,常见原因是二进制编译时没带 SyncTeX 数据。建议检查编译命令是否包含-synctex=1,以及Settings - User里"sync"配置是否为true。LaTeXTools 默认开启,改乱过配置的朋友可以重点排查这两个地方。
5.4 多文件项目管理技巧
写大文档时,没人会把整本论文写在一个 3000 行的.tex文件里,通常需要拆分成多个文件。LaTeX 提供了\input{chapter1}之类的命令来引入子文件,LaTeXTools 也支持这种结构。把主文件和子文件放在同一个项目文件夹里,用 Sublime Text 打开文件夹,编译主文件时,LaTeXTools 会自动解析\input和\include的依赖关系。
这时候有个小细节:在主文件里按下Command+B开始编译,通配符$file会指向主文件,所以即使你正在编辑chapter2.tex,编译也会整体编译整个项目,这是正确行为。如果只想快速编译单个文件做语法检查,可以右键文件选择LaTeXTools: Build with里的其他选项,或者在文件开头加%!TEX root = ../main.tex来指定根文件。
这个根文件声明特别重要,很多新手在子文件里编译,结果报各种缺失引用的错误,其实是根文件没设置对。路径写相对路径就行,比如%!TEX root = main.tex。
5.5 字库、字号与模板定制心得
LaTeX 的中文排版默认效果通常已经很好,但不同学校和期刊的模板要求不同,需要调整字体和字号。使用ctex宏包时,可以这样设置:
\documentclass[UTF8, fontset=macnew]{ctexart} \zihao{-4}其中zihao命令用来设置字号,-4表示小四号(12pt),这是很多中文文档的默认要求。如果你要设置行距,可以\usepackage{setspace}后\setstretch{1.5}。这些细节在排版时经常用到,组合起来能让文档看起来很专业。
另外,ctex宏包提供了fontset选项,fontset=macnew会优先使用 macOS 的新版中文字体,效果比默认更统一。我也试过fontset=mac,但新版 macOS 上个别字体名称有变化,推荐直接用macnew。如果发现某个字体名称报错,可以在导言区手动定义中文字体,就像 4.2 节那样。
我个人在实际操作中的一个体会是:环境搭建本身花的时间并不长,真正决定后续使用体验的是你是否愿意花一点时间去理解“编译链”和同步机制。很多人栽在环境上,不是设备问题,只是不了解背后的原理。这篇文章写到的每个配置项,都是我反复折腾过之后提炼出来的,照着抄基本能一路绿灯。最后再留一个扩展方向:等这套环境稳定之后,你可以把.tex项目接到 Git 里做版本管理,配合 GitHub 的 LaTeX 自动编译,说实话,论文改 20 版都不带怕的。