設置 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 配置文件的方式,一勞永逸地調整好中文字體。但為了避免可遷移性等問題,我們暫不采用。
解決
在 .tex
文檔頭部增加
\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
中的字體文件一致。
此處有誤!正在檢查更正……