设置 CTeX 的字体

设置 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 中的字体文件一致。

上一篇:ICCV2021 | 最新ICCV2021论文抢先看,附全部下载链接!ICCV2021下载


下一篇:WMS函数组:19.WMS创建PO