LaTeX 设置字体

首先说明的是该测试环境为: Ubuntu 20.04 + TeX Live 2020 + UTF8 + XeLaTeX.

在 LaTeX 中设置字母语言的字体, 在上一篇讨论多语言时已经讨论过, 包括全局修改和局部修改, 参考:
https://www.qinxu.net/latex/2020/0524156

对于中日朝字体, 比字母语言字体稍微复杂一些. 同样, 全局修改的方法在上文已经介绍, 这里不再赘述, 只考虑局部修改. 先上代码

%!TeX encoding = utf8
%!TEX TS-program = xelatex
\documentclass{ctexart}

\setCJKfamilyfont{fzht}{FZHei-B01} %%第一种字体设置方案
\newcommand*{\fzht}{\CJKfamily{fzht} } %%第一种字体设置方案

\setCJKfamilyfont{fzks}{FZKai-Z03} %%第二种字体设置方案

\begin{document}

测试几个简体汉字, 測試幾個繁體漢字. %%默认字体, 或者本文档设置的全局字体

{\fzht 测试几个简体汉字, 測試幾個繁體漢字.} %%第一种字体设置方案

{\CJKfamily{fzks} 测试几个简体汉字, 測試幾個繁體漢字.} %%第二种字体设置方案

{\setCJKfamilyfont{fzfs}{FZFangSong-Z02} \CJKfamily{fzfs} 测试几个简体汉字, 測試幾個繁體漢字.} %%第三种字体设置方案

\end{document}

注: 其中 FZHei-B01, FZKai-Z03 和 FZFangSong-Z02 都是系统中显示的字体名.

目前处理中日朝文字推荐使用 ctex 宏集, 或者与之配套的文类, 比如 ctexart, ctexbook 之类. 这里给了三个字体对应三个方案作为举例, \setCJKfamilyfont{fzht}{FZHei-B01} 中第二个花括号里的是系统显示的字体名, 在 Ubuntu 下很容易找到, 第一个花括号内是自定义的.

其中第一种方案适合文中多次用到该字体, 但又不是主字体时使用, 第三种适合频率小的情况, 个人感觉第二种方案有点鸡肋.

另外对于一个文档中经常需要很多字体时, 建议按照 ctex 宏集提供的 fontset def文件设置一个自己的 def 文件, 就不用在新文档中再定义.