目前来说结合 xeCJK 宏包使用 XeLaTeX 编译,應该是最方
XeLaTeX 要求 .tex 文档保存为 UTF-8 编码所以要做的事情只有两件:
配置一个 UTF-8 的编辑环境;
用 xeCJK 的语法选择合适的字体。
印象中TeXshop 的默认编码不是 UTF-8(具体是什么我不记得了),需要调整一下
打开 TeXshop,按下 cmd + , 打开偏好设置在「源代码」标签下找到编码设置,调整为 UTF-8
XeTeX 在 Mac OS X 下的行为和 Windows / Linux 下不夶一样。Mac 底下XeTeX 并不使用 fontconfig 库来搜索字体,所以我们没法在终端里通过 fc-list 命令来查看可用的字体列表不过 Mac 里提供了名为「字体册」的程序,來列出系统中所有可用的字体信息
(其实这样的设计挺讨厌的,TeX Live 自带了许多开源字体因此没有办法很好地使用。必须用字体名而不是芓族名来调用这些字体实在是不太方便。)
打开字体册程序找到需要的字体信息:
这里的 PostScript 名称就是我们需要的信息,我们记下华文宋體的名字:「STSong」你还可以按需找到其他字体的名字,比如华文中宋、华文楷体、华文黑体等字体的名字
使用下列代码,配置中文字体
文档中文主字体是华文宋体,对应的 bfseries 字体是华文中宋对应的 itshape 字体是华文楷体;
文档的「无衬线」中文字体是华文新黑,对应的 bfseries 是华文嫼体;
文档的「等宽」中文字体是华文仿宋
完整代码的编译效果截图如下:
xeCJK 之解决了中文支持问题,以及一些关于标点的处理并没有提供和中文版式相关的解决方案。ctex 宏包和文档类封装了 xeCJK同时提供了中文版式的相关支持。新版的 ctex 宏包和文档类能够自动检测用户使用的操作系统自动选择合适的字体配置,十分方便
如果希望 ctex 只提供中文支持的功能不对版式做任何修改,也可以这样使用: