xp下安装了ctex套装,貌似有个texlive的windows版,先不管了,反正ubuntu下的是texlive
都说ctex不错,于是安了ctex,但是奈何只能用那几种自带的字体,很不爽,搜索了半天,加上问jyl,最后没有满意答案,又搜索,偶然间在论坛里看到一个帖子,win下用xelatex编译时 文件要用utf8保存。。。晕死我了,困扰好几天的问题终于解决了。
记录一下过程吧。
1. windows 下用 ctex中的 xelatex 命令编译可以使用win系统自带的字库。
2. 查看系统下都有哪些字体库
fc-list :lang=zh-cn
我的列表如下:
STCaiyun,华文彩云:style=Regular
YouYuan,幼圆:style=Regular
STHupo,华文琥珀:style=Regular
Simsun (Founder Extended),宋体\-方正超大字符集:style=Regular
FZYaoTi,方正姚体:style=Regular
KaiTi_GB2312,楷体_GB2312:style=Regular
NSimSun,新宋体:style=Regular
STSong,华文宋体:style=Regular
Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
FangSong_GB2312,仿宋_GB2312:style=Regular
SimSun,宋体:style=Regular
STFangsong,华文仿宋:style=Regular
STXinwei,华文新魏:style=Regular
SimHei,黑体:style=Regular
STXingkai,华文行楷:style=Regular
STLiti,华文隶书:style=Regular
STZhongsong,华文中宋:style=Regular
Microsoft YaHei,微软雅黑:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia
FZShuTi,方正舒体:style=Regular
STXihei,华文细黑:style=Regular
LiSu,隶书:style=Regular
STKaiti,华文楷体:style=Regular
3. 编辑文本 xelatex_font.tex 保存为utf8格式
%!Tex Program = xelatex
\documentclass[12pt,a4paper]{article}
\usepackage{fontspec,xunicode,xltxtra}
\usepackage{titlesec}
\usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry}
\titleformat{\section}{\Large\xbsong}{\thesection}{1em}{}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt
\newfontfamily\youyuan{YouYuan}
\newfontfamily\hwcaiyun{STCaiyun}
\newfontfamily\hwhupo{STHupo}
\newfontfamily\yaoti{FZYaoTi}
\newfontfamily\kaiti{KaiTi_GB2312}
\newfontfamily\xsong{NSimSun}
\newfontfamily\hwsong{STSong}
\newfontfamily\yahei{Microsoft YaHei}
\newfontfamily\fangsong{FangSong_GB2312}
\newfontfamily\song{SimSun}
\newfontfamily\hwfangsong{STFangsong}
\newfontfamily\weiti{STXinwei}
\newfontfamily\heiti{SimHei}
\newfontfamily\hwxingkai{STXingkai}
\newfontfamily\hwlishu{STLiti}
\newfontfamily\zhongsong{STZhongsong}
\newfontfamily\shuti{FZShuTi}
\newfontfamily\hwhei{STXihei}
\newfontfamily\lishu{LiSu}
\newfontfamily\hwkai{STKaiti}
\renewcommand{\baselinestretch}{1.25}
\begin{document}
\title{\yahei \XeTeX 使用系统字体}
\author{\zhongsong 千羽之城}
\date{\lishu 二〇一〇年九月二十三日}
\maketitle
\begin{table}[htbp]
\caption{\yahei 字体列表}
\vskip 6pt
\centering
\begin{tabular}{|l|c|r|}
\hline
\heiti 字体 & \heiti 命令 & \heiti 字体效果 \\
\hline
\kaiti 幼圆 & \verb+\youyuan+ & \youyuan 幼圆\\
\kaiti 华文彩云 & \verb+\hwcaiyun+ & \hwcaiyun 彩云\\
\kaiti 华文琥珀 & \verb+\hwhupo+ & \hwhupo 华文琥珀\\
\kaiti 姚体 & \verb+\yaoti+ & \yaoti 姚体\\
\kaiti 楷体 & \verb+\kaiti+ & \kaiti 楷体\\
\kaiti 新宋 & \verb+\xsong+ & \xsong 新宋\\
\kaiti 华文宋体 & \verb+\hwsong+ & \hwsong 华文宋体\\
\kaiti 雅黑 & \verb+\yahei+ & \yahei 雅黑\\
\kaiti 仿宋 & \verb+\fangsong+ & \fangsong 仿宋\\
\kaiti 宋体 & \verb+\song+ & \song 宋体\\
\kaiti 华文仿宋 & \verb+\hwfangsong+ & \hwfangsong 华文仿宋\\
\kaiti 魏体 & \verb+\weiti+ & \weiti 魏体\\
\kaiti 黑体 & \verb+\heiti+ & \heiti 黑体\\
\kaiti 华文新楷 & \verb+\hwxingkai+ & \hwxingkai 华文新楷\\
\kaiti 华文隶书 & \verb+\hwlishu+ & \hwlishu 华文隶书\\
\kaiti 华文中宋 & \verb+\zhongsong+ & \zhongsong 华文中宋\\
\kaiti 舒体 & \verb+\shuti+ & \shuti 舒体\\
\kaiti 华文黑体 & \verb+\hwhei+ & \hwhei 华文黑体\\
\kaiti 隶书 & \verb+\lishu+ & \lishu 隶书\\
\kaiti 华文楷体 & \verb+\hwkai+ & \hwkai 华文楷体\\
\hline
\end{tabular}
\end{table}
\end{document}
4. 编译 xelatex xelatex_font.tex 即可。
参考资料: http://hi.baidu.com/asnahu/blog/item/dcf4f5cec5a7790d92457e14.html
http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=265803&start=15
ubuntu 安装 texlive2012
1. 为了使用图形界面安装,需要安装perl-tk
sudo apt-get install perl-tk
2. 下载 texlive http://www.tug.org/texlive
3. 挂载并安装
$ sudo mount -o loop path_to.iso /mnt
$ cd /mnt
$ ./install-tl -gui
选择里面的创建系统链接 system-link ,等待安装结束
4. 拷贝中文字体进入 /usr/share/fonts/zh_CN里面,没有此文件夹自己创建
我拷贝的6个字体是:
宋体(simsun.ttf)、仿宋(simfang.ttf)、黑体(simhei.ttf)、楷体(simkai.ttf)、隶书(simli.ttf)、幼圆(simyou.ttf)
$ cd /usr/share/fonts/zh_CN
$ chmod 777 *
$ mkfontscale
$ mkfontdir
$ fc-cache
测试字体是否安装完毕:
$ fc-list
如果有上面的6中字体就是安装成功了。
5. 由于我们使用的是基于XeTex的中文方案,所以接下来是修改ctex-xecjk-winfonts.def文件
这一步是关键,我在安装时就是修改的不对导致找不到对应的字库。
文件位置: /usr/local/texlive/2012/texmf-dist/tex/latex/ctex/fontset/下
原有文件为:
% ctex-xecjk-winfonts.def: Windows 的xeCJK 字体设置,默认为六种中易字体 % vim:ft=tex /setCJKmainfont[BoldFont={SimHei},ItalicFont={[simkai.ttf]}] {SimSun} /setCJKsansfont{SimHei} /setCJKmonofont{[simfang.ttf]} /setCJKfamilyfont{zhsong}{SimSun} /setCJKfamilyfont{zhhei}{SimHei} /setCJKfamilyfont{zhkai}{[simkai.ttf]} /setCJKfamilyfont{zhfs}{[simfang.ttf]} /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
修改后为:
% ctex-xecjk-winfonts.def: Windows 的xeCJK 字体设置,默认为六种中易字体
% vim:ft=tex
/setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi_GB2312}
{SimSun}
/setCJKsansfont{SimHei}
/setCJKmonofont{FangSong_GB2312}
/setCJKfamilyfont{zhsong}{SimSun}
/setCJKfamilyfont{zhhei}{SimHei}
/setCJKfamilyfont{zhkai}{KaiTi_GB2312}
/setCJKfamilyfont{zhfs}{FangSong_GB2312}
/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
注意,KaiTi_GB2312外面一定不要有[]括号,否则调用xelatex编译时报错:Invalid fontname KaiTi_GB2312
感觉[]的包含的是file.ttf但是我写ttf文件也是报错,按照上面的配置文件写完后,就正常了。
6. 测试文件
ubuntu下默认utf-8编码哦,不用修改
test.tex
\documentclass{ctexart} \begin{document} 你好, TeX 2012!\\ {/heiti 这是黑体}\\ {/songti 这是宋体}\\ {/fangsong 这是仿宋}\\ {/kaishu 这是楷书}\\ {/lishu 这是幼圆}\\ {/youyuan 这是幼圆}\\ \end{document}
注意文件中的斜杠方向。我在网上看的一个例子就是给的斜杠方向不对,坑人啊。
编译命令:
$xelatex test.tex
一切正常就会生成 test.pdf了,下面就是自己磨练的时刻了。