LaTeX中文字体的安装一直困扰着很多的初学者,大多数用户都是通过网上搜索,去寻找解决的办法,然而看到的内容却很零乱和复杂,用起来很不方便。为了方便大家使用,我曾经写过一篇帖子,说明怎么利用Winodws平台下CTeX的配置文件来配置FreeBSD平台下teTeX的中文,但还是有些麻烦,也不是很容易操作,尤其是对没有安装CTeX的用户根本用不了我说的那些方法,于是我重新写了下面这篇文章,用最简单也是最有效的方法一步一步的教大家在teTeX下安装中文字体,包括粗体和斜体。以下的方法我在FreeBSD-5.4-Release平台,teTeX3.0套装下测试成功,latex,pdflatex,dvipdfm等都能正确使用。
1. 预备工作
(1)安装好teTeX和CJK,这些安装步骤我就省略了。对于linux下的用户来说没有什么困难的,对于FreeBSD用户来说有些不同,如果通过ports安装,要编译所有的源码包,很麻烦(至少我不喜欢),我建议大家用package来安装,很方便快捷,但是CJK只能通过ports来make install clean了。
(2)安装完后有个目录${TEXMFMAIN}我要先说明一下,在我的系统中
${TEXMFMAIN} = /usr/local/share/texmf
${SPECIALMAP} = ${TEXMFMAIN}/fontname/special.map
我用的是旧版的CJK(zh_CJK-4.5.2_1),对新版的CJK(ZH_CJK-4.5.2_2),${SPECIALMAP}发生了变化,请注意
${SPECIALMAP} = ${TEXMFMAIN}-dist/fonts/map/fontname/special.map
(感谢maver的提醒)
(3)中文字体要准备好,现在大家都会系统的中文美化,一般系统中都有simsun.ttc,simhei.ttf等中文字体,我的中文字体放在这个目录下面:
/usr/X11R6/lib/X11/fonts/TrueType
2. 开始配置中文
(1)更改${SPECIALMAP}。CJK安装完之后会生成这个文件,最初的内容如下:
@c Arphic BIG5 Kaiti TTF
arb5kai big5 arb5kai
@c Arphic BIG5 Mingti TTF
arb5sung big5 arb5sung
@c Arphic GB Kaiti TTF
argbkai gb argbkai
@c Arphic GB Sungti TTF
argbsung gb argbsung
需要做的就是照样在下面添加两行为simsun和simhei准备的内容,更改后的内容如下:
@c Arphic BIG5 Kaiti TTF
arb5kai big5 arb5kai
@c Arphic BIG5 Mingti TTF
arb5sung big5 arb5sung
@c Arphic GB Kaiti TTF
argbkai gb argbkai
@c Arphic GB Sungti TTF
argbsung gb argbsung
@c SimSun GBK Songti TTF
gbksong GBK gbksong
@c SimHei GBK Heiti TTF
gbkhei GBK gbkhei
(2)更改${TEXMFMAIN}/ttf2pk/ttfonts.map。CJK安装完之后会生成这个文件,最初的内容如下:
% These entries are just examples!
arials arial.ttf Slant=0.25
arial arial.ttf Slant=0 Extend=1 Pid = 1 Eid = 0
arialx arial.ttf Slant=0 Extend=1.5
times times.ttf Encoding=T1-WGL4.enc \
.g0xc7=ring .g0xc9=caron .g0xc4=dotlessi
times95 times95.ttf Encoding=T1-WGL4.enc
ntukai@Big5@ ntu_kai.ttf Pid = 3 Eid = 4
cyberb@Unicode@ cyberbit.ttf
% the next entry maps the Unicode encoded font to Big 5 encoding; thus you
% can say \begin{CJK}{Big5}{...} (this is an environment from the CJK
% package for LaTeX).
mingli@UBig5@ mingliu.ttc Fontindex = 0
arb5kai@UBig5@ arb5_kai Pid=3 Eid=1
arb5sung@UBig5@ arb5_sung Pid=3 Eid=1
argbkai@UGB@ argb_kai Pid=3 Eid=1
argbsung@UGB@ argb_sung Pid=3 Eid=1
需要做的就是照样在下面添加两行为simsun和simhei准备的内容,更改后的内容如下:
% These entries are just examples!
arials arial.ttf Slant=0.25
arial arial.ttf Slant=0 Extend=1 Pid = 1 Eid = 0
arialx arial.ttf Slant=0 Extend=1.5
times times.ttf Encoding=T1-WGL4.enc \
.g0xc7=ring .g0xc9=caron .g0xc4=dotlessi
times95 times95.ttf Encoding=T1-WGL4.enc
ntukai@Big5@ ntu_kai.ttf Pid = 3 Eid = 4
cyberb@Unicode@ cyberbit.ttf
% the next entry maps the Unicode encoded font to Big 5 encoding; thus you
% can say \begin{CJK}{Big5}{...} (this is an environment from the CJK
% package for LaTeX).
mingli@UBig5@ mingliu.ttc Fontindex = 0
arb5kai@UBig5@ arb5_kai Pid=3 Eid=1
arb5sung@UBig5@ arb5_sung Pid=3 Eid=1
argbkai@UGB@ argb_kai Pid=3 Eid=1
argbsung@UGB@ argb_sung Pid=3 Eid=1
gbksong@UGBK@ simsun.ttc Pid=3 Eid=1
gbkhei@UGBK@ simhei.ttf Pid=3 Eid=1
(3)更改${TEXMFMAIN}/tex/latex/CJK/GB/c19song.fd。修改后的内容如下:
% This is the file c19song.fd of the CJK package
% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
%
% created by Werner Lemberg <wl@gnu.org>
%
% Version 4.5.2 (28-Mar-2003)
\def\fileversion{4.5.2}
\def\filedate{2003/03/28}
\ProvidesFile{c19song.fd}[\filedate\space\fileversion]
% Chinese characters (extension of GB 2312)
%
% character set: GBK
% font encoding: CJK (extended)
\DeclareFontFamily{C19}{song}{\hyphenchar \font\m@ne}
\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbksong}{}
\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbksong}{\CJKbold}
\endinput
(4)更改${TEXMFMAIN}/tex/latex/CJK/GB/c19hei.fd。CJK安装之后是没有这个文件的,可以复制c19song.fd的内容,自己编辑一下,修改后的内容如下:
% This is the file c19song.fd of the CJK package
% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
%
% created by Werner Lemberg <wl@gnu.org>
%
% Version 4.5.2 (28-Mar-2003)
\def\fileversion{4.5.2}
\def\filedate{2003/03/28}
\ProvidesFile{c19hei.fd}[\filedate\space\fileversion]
% Chinese characters (extension of GB 2312)
%
% character set: GBK
% font encoding: CJK (extended)
\DeclareFontFamily{C19}{hei}{\hyphenchar \font\m@ne}
\DeclareFontShape{C19}{hei}{m}{n}{<-> CJK * gbkhei}{}
\DeclareFontShape{C19}{hei}{bx}{n}{<-> CJKb * gbkhei}{\CJKbold}
\endinput
(4)准备生成字体。进入到${TEXMFMAIN}目录下,执行以下命令链接一下字体文件:
#cd fonts/truetype
#mkdir chinese
#cd chinese
#ln -s /usr/X11R6/lib/X11/fonts/TrueType/simsun.ttc simsun.ttc
#ln -s /usr/X11R6/lib/X11/fonts/TrueType/simhei.ttf simhei.ttf
(5)生成字体。进入到${TEXMFMAIN}目录下,执行以下命令为simsun和simhei生成字体信息:
#cd fonts/tfm
#mkdir chinese
#cd chinese
#mkdir gbksong
#mkdir gbkhei
#mkdir cd gbksong
#ttf2tfm /usr/local/share/texmf/fonts/truetype/chinese/simsun -P 3 -E 1 gbksong@/usr/local/share/texmf/ttf2pk/UGBK@
#cd ..
#cd gbkhei
#ttf2tfm /usr/local/share/texmf/fonts/truetype/chinese/simhei -P 3 -E 1 gbkhei@/usr/local/share/texmf/ttf2pk/UGBK@
#texconfig rehash
3. 配置完成,测试一下吧。
4. 其实完成这些步骤很简单的,写一个脚本就可以了,大家完全可以按照/usr/ports/chinese/CJK/scripts/post-install的内容来做,我的思路就是源于这个文件,为了清晰起见,我把每一步都详细的写了出来,供广大初学者参考,如果大家愿意可以把这些步骤写成一个脚本,以后添加字体就方便了,我这里就不提供了。