设置 CTeX 的字体
动机
CTeX 自动检测并使用 Windows 下的中易系列字体,而考虑字体的专业性,与英文的搭配性,以及版权问题,应避免使用该系列字体。
注意到,LaTex 文本有五种常用的字形:
配置标识 | 命令\text__
|
类型 | 示例 | 中文 |
---|---|---|---|---|
main |
衬线 | \(\text{Roman}\) | 宋体类 | |
main Bold
|
bf |
加粗衬线 | \(\textbf{BoldFace}\) | 粗宋类 |
main Italics
|
it |
手写字体 | \(\textit{Italics}\) | 楷体类 |
sans |
sf |
无衬线 | \(\textsf{Sans-Serif}\) | 黑体类 |
mono |
等宽字体 | Courier New | 仿宋类 |
我们将分别使用
方正书宋_GBK
方正小标宋_GBK
方正楷体_GBK
方正黑体_GBK
方正仿宋_GBK
探究
阅读 texlive\2021\texmf-dist\doc\latex\ctex\ctex.pdf
中 4.3 的说明:
CTeX 宏集能自
动检测用户使用的编译方式和操作系统,选择合适的底层支持和字库……但是 CTeX 仍然提供了一系列选项,供在 CTeX 的自动选择机制因为意外情况失效,或者在用户有特殊需求的情况下使用。fontset = ⟨adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|none|...⟩
指定 CTeX 宏集加载的字库。
如果没有指定fontset
的值,CTeX 宏集将自动检测用户使用的操作系统,配置相应的字体⟨name⟩
为自定义的名字。CTeX 宏集将载入名为ctex-fontset-⟨name⟩.def
的文件作为字体配置文件。因此,请先保证文件的存在。可以在当前工作目录或者本地 TDS 目录树下合适位置建立一个名为ctex-fontset-⟨name⟩.def
的文件,在这个文件里面自定义中文字体。然后通过使用fontset=⟨name⟩
选项来调用它。字体配置文件的具体写法可以参考 CTeX
宏集fontset
目录下的字体配置文件。
注意到,我们又有
10.4 自定义字体集
4.3 节介绍的用于fontset
选项的自定义字库文件,类似于 CTeX 宏集的配置文件,也应
该与其他本地配置文件一起保存在本地 TDS 目录树下,并可以配合ctexopts.cfg
等配置文
件使用。
这为我们指明了通过修改 CTeX 配置文件的方式,一劳永逸地调整好中文字体。但由于种种问题,我们暂不采用。
解决
\usepackage{ctex}
\setCJKmainfont{方正书宋_GBK.TTF}
[BoldFont = {方正小标宋_GBK.TTF},
ItalicFont = {方正楷体_GBK.TTF}]
\setCJKsansfont{方正黑体_GBK.TTF}
\setCJKmonofont{方正仿宋_GBK.TTF}
理论上我们可以引用字体的 Full Name,但会存在报错 Font shape undefined
的问题。我们直接引用字体文件名。
务必注意,所引用的 .ttf
文件名,必须与存在于 C:\Windows\Fonts
中的字体文件一致。