告别繁琐设置:LaTeX中文文档AutoFakeBold选项的隐藏用法
如果你在Linux上用过LaTeX排版中文文档,大概率经历过这样的抓狂时刻:精心挑选了楷体或仿宋,想让标题或重点内容加粗突出,结果\textbf{}命令下去,字体纹丝不动,还是那副清瘦的模样。网上搜了一圈,各种方案纷繁复杂,什么\setCJKmainfont、fontspec宏包、手动指定粗体文件路径……试了一圈,要么是Windows专属,要么对TeX Live版本有苛刻要求,要么配置起来像在解一道没有答案的谜题。折腾半天,文档没排好,耐心先耗尽了。其实,很多时候我们需要的并不是一个能调节“加粗程度”的精密仪器,而只是一个简单、可靠、能让楷体和仿宋在需要的时候“变粗一点”的方法。今天要聊的AutoFakeBold选项,可能就是那个被你忽略的、藏在文档类选项里的“一键开关”。
这个选项的名字直译过来是“自动伪粗体”,听起来有点技术黑话的味道,但它解决的问题却非常实际。它尤其适合那些使用ctex系列文档类(如ctexart, ctexbook, ctexrep)进行中文排版,并且主要工作在Linux+TeX Live环境下的用户。无论是撰写学术论文时需要区分不同层级的标题,还是制作技术手册时需要强调关键术语,亦或是任何需要中文字体具备基本加粗能力的场景,AutoFakeBold都能提供一种近乎零配置的解决方案。它绕开了寻找和匹配特定粗体字体文件的复杂过程,通过LaTeX系统内部的字体变形机制,在需要时自动生成加粗效果。接下来,我们将深入这个选项的里里外外,看看它如何工作,何时该用,何时不该用,以及如何让它更好地为你服务。
1. 理解核心:AutoFakeBold究竟是什么?
在深入用法之前,我们得先搞清楚AutoFakeBold到底做了什么。LaTeX的字体系统,尤其是处理中文等非拉丁文字时,其逻辑和西文有很大不同。西文字体通常是一个完整的家族,包含了常规体(Regular)、粗体(Bold)、斜体(Italic)、粗斜体(Bold Italic)等多个预定义的字形文件。当你在LaTeX中使用\textbf{}命令时,系统会去寻找并切换到对应的粗体字形文件。
然而,许多中文字体,尤其是系统自带的或开源字体,常常只提供一个“常规体”文件(例如一个.ttf或.otf文件)。字体厂商可能没有专门制作一个独立的“粗体”文件。在Linux的TeX Live环境中,当ctex宏包或文档类试图为“楷体”或“仿宋”应用加粗时,它发现字体配置中根本没有对应的粗体条目,于是\textbf{}命令就失效了,系统会回退到使用常规体,造成“加粗无效”的假象。
AutoFakeBold选项的引入,就是为了应对这种“有字体,无粗体”的尴尬局面。它的工作原理可以概括为:
提示:
AutoFakeBold并非真正调用了另一个字体文件,而是命令LaTeX的字体引擎(通常是XeLaTeX或LuaLaTeX)对当前字形的轮廓进行“加宽”处理,模拟出视觉上的加粗效果。这是一种“无中生有”的算法合成。
为了更清晰地理解其定位,我们可以将其与传统方案进行对比:
| 特性 | AutoFakeBold方案 |
传统手动配置方案 |
|---|---|---|


18万+

被折叠的 条评论
为什么被折叠?



