texlive中使用ctex遇到的字体问题

首先,texlive提供了cjklatex、xecjk(xelatex)来解决中文字体的问题,一般说来,中文字体都没有问题了。

但是,如果要写一本书,直接用book模版的话,需要修改很多章节标题、标点符号的问题。ctex宏包通过集中中文处理的相关的其他宏包解决了这个问题。

安装方法是:手动下载texlive最新版本并安装。由于在linux下,字体和文件名大小写不是完全与windows下的一致,开发者写的一部分程序有bug。直接用xelatex编译会出现如下错误:

fontspec error: “font-not-found”
The font “[SIMKAI.TTF]” cannot be found.

解决方法:第一、安装adobe字体,然后加入adobefonts参数,\documentclass[adobefonts]{ctexbook};第二、安装linux下的相应字体,然后利用
fc-list :lang=zh-cn
命令来显示所有中文字体的名称,记住其中楷体和仿宋对应的名称(通常是 KaiTi和FangSong),然后修改ctex-xecjk-winfonts.def文件,把其中的SIMKAI.TTF和SIMFANG.TTF换成前面记下来的字体名称。


% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体
% vim:ft=tex

\setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}]
{SimSun}
\setCJKsansfont{SimHei}
\setCJKmonofont{FangSong}

\setCJKfamilyfont{zhsong}{SimSun}
\setCJKfamilyfont{zhhei}{SimHei}
\setCJKfamilyfont{zhkai}{KaiTi}
\setCJKfamilyfont{zhfs}{FangSong}
% \setCJKfamilyfont{zhli}{LiSu}
% \setCJKfamilyfont{zhyou}{YouYuan}

\newcommand{\songti}{\CJKfamily{zhsong}} % 宋体
\newcommand
{\heiti}{\CJKfamily{zhhei}} % 黑体
\newcommand{\kaishu}{\CJKfamily{zhkai}} % 楷书
\newcommand
{\fangsong}{\CJKfamily{zhfs}} % 仿宋
% \newcommand{\lishu}{\CJKfamily{zhli}} % 隶书
% \newcommand
{\youyuan}{\CJKfamily{zhyou}} % 幼圆

\endinput

部分内容转自http://huxuan.org/2012/07/14/chinese-font-problem-of-ctex-in-texlive-under-linux/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注