linux下texlive 2010, 中文字体设置(使用fontspec)

之前在OpenSuSE 11.2上为xelatex安装中文字体设置, 非常顺利, 参考的是http://tech.techweb.com.cn/thread-272484-1-9.html, 将系统升级到11.4后, 再
利用先前的方法时, 则出现了一些莫名其秒的错误。 下面是详细的安装过程及错误解决方法:

1. 安装xelatex
zypper install texlive-xetex
2. 配置
sudo mkdir /usr/share/texmf/tex/xelatex/zhfontcfg
sudo vim /usr/share/texmf/tex/xelatex/zhfontcfg/zhfontcfg.sty
按照之前给的链接中的方法, 需要在该文件中加入一段代码。 对于texlive2010, 由于newfontinstance不可用, 因此应该做一些适当的修改, 如下是我的:
\ProvidesPackage{zhfontcfg}
\usepackage{fontspec,xunicode}
\defaultfontfeatures{Mapping=tex-text}

\XeTeXlinebreaklocale “zh”
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt

\newcommand\fontnamehei{Adobe Heiti Std} %使用我自己带的字体
\newcommand\fontnamesong{Adobe Song Std}
\newcommand\fontnamemono{DejaVu Sans Mono}
\newcommand\fontnameroman{Times New Roman}

\setmainfont[BoldFont=\fontnamehei]{\fontnamesong}
\setsansfont[BoldFont=\fontnamehei]{\fontnamesong}
\setmonofont{\fontnamemono}

\newfontfamily\HEI{\fontnamehei} %new command 改为newfontfamily
\newcommand{\hei}[1]{{\HEI #1}}

\newfontfamily\ENF{\fontnameroman}
\newcommand{\en}[1]{\,{\ENF #1}\,}
\newcommand{\EN}{\,\ENF\,}
这里需要说明一下, 我在openSUSE 11.2上, 安装acroread后, 通过fc-cache -fv能够顺利检测到adobe的字体, 但在11.4上不行, 不知道是什么原因。 于是我直接将acroread中的相应字体拷贝到了$HOME/.fonts
目录下。
同时, 上面的配置文件最好不要直接粘贴。 我第一次直接粘贴后, 运行测试程序总是出一些奇怪的错误。
另外, latex给出的错误信息往往很奇怪, 在http://www.tex.ac.uk/cgi-bin/texfaq2html?label=errstruct中有提到这一点。 在这里尝到一个技巧, 如果看不懂错误信息, 就输入h, 这会提供一些额外的信息。

***********************************************************************

2011/9/15: 原来世界上还有ctex这么一个神奇的东西。

About seckcoder

People behind the pixels. View all posts by seckcoder

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: