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了,下面就是自己磨练的时刻了。