目前来说,结合 xeCJK 宏包使用 XeLaTeX 编译,应该是最方便的方式了。 XeLaTeX 要求 .tex 文档保存为 UTF-8 编码。所以要做的事情只有两件:
- 配置一个 UTF-8 的编辑环境;
- 用 xeCJK 的语法选择合适的字体。
使用下列代码,配置中文字体。
\usepackage{xeCJK} \setCJKmainfont[BoldFont=STZhongsong, ItalicFont=STKaiti]{STSong} \setCJKsansfont[BoldFont=STHeiti]{STXihei} \setCJKmonofont{STFangsong}这里,
- 文档中文主字体是华文宋体,对应的 bfseries 字体是华文中宋,对应的 itshape 字体是华文楷体;
- 文档的「无衬线」中文字体是华文新黑,对应的 bfseries 是华文黑体;
- 文档的「等宽」中文字体是华文仿宋。
cd /usr/local/texlive/texmf-local/tex/latex/ sudo mkdir ./ctex/ sudo mkdir ./ctex/cfg/ cd ./ctex/cfg/ sudo vim ctexopts.cfg复制以下内容:
\ExecuteOptions{UTF8} \ExecuteOptions{nofonts} \endinput切换回到终端窗口,按 i 进入编辑模式,按 cmd + v 粘贴,按 esc 退出编辑模式,输入 :x 保存退出(半角冒号紧接着 x)。 在终端窗口继续操作,键入命令:
sudo vim ctex.cfg复制以下内容:
\setCJKmainfont[BoldFont=STZhongsong, ItalicFont=STKaiti]{STSong} \setCJKsansfont[BoldFont=STHeiti]{STXihei} \setCJKmonofont{STFangsong} \newCJKfontfamily[stsong]\songti[BoldFont=STZhongsong, ItalicFont=STKaiti]{STSong} \newCJKfontfamily[sthei]\heiti[BoldFont=STHeiti]{STXihei} \newCJKfontfamily[stkai]\kaishu{STKaiti} \newCJKfontfamily[stfang]\fangsong{STFangsong} \newCJKfontfamily[stli]\lishu{STLiti} \endinput切换回到终端窗口,按 i 进入编辑模式,按 cmd + v 粘贴,按 esc 退出编辑模式,输入 :x 保存退出(半角冒号紧接着 x)。 在终端窗口继续操作,键入命令:
sudo texhash这里,
- ctexopts.cfg 会在 ctex 宏包/文档类的选项定义之后被载入,我们启用了 nofonts 和 UTF8 这两个选项;
- ctex.cfg 则会在 ctex 宏包/文档类的结尾被载入,我们配置了字体;
- texhash 会刷新 TeX 的文件名数据库。
发表评论 取消回复