2007年9月3日星期一

在Fedora 7下安装LaTeX CJK

LaTeX CJK的安装一向都很麻烦,主要是字体安装和配置不容易。这里主要根据Edward Lee的Blog(http://blog.bs2.to/post/EdwardLee/7672)里的方法进行配置。
  1. 下载安装CJK包
  2. http://cjk.ffii.org/下载CJK扩展包,解压缩到“$HOME/texmf/tex/latex/CJK/”。这里不准备修改系统文件,所以只安装到用户目录。
  3. 生成Type1字体和配置文件
  4. 这里使用CJK自带的FontForge脚本文件subfonts.pe生成Type1字体。 首先建一个目录,例如$HOME/song/,我们就在这个目录里生成字体。把我们想要的TrueType字体拷贝到这个目录中,我这里使用的是Fedora自带的文鼎Unicode字体uming.ttf。再把CJK包utils里面的subfonts.pe拷贝到这个目录。最后到http://delloye.free.fr/Unicode.sfd下载Unicode.sfd文件到同一个目录。执行下面的命令:
    fontforge -script subfonts.pe uming.ttf song Unicode.sfd
    这个命令执行的时间比较长。执行完之后,还在该目录执行下面命令生成map文件:
    for i in *.tfm
    do
    cat >> song.map << EOF
    ${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
    EOF
    done
    按照Edward Lee的方法,还需要生成fd文件。但是我们给字体起的名字song和CJK自带的c70song.fd文件冲突了,如果用Edward Lee的方法反倒会出问题。我们有个更简单的解决办法,直接把c70song.fd修改一下。CJK自带的c70song.fd文件在$HOME/texmf/tex/latex/CJK/texinput/UTF8/目录下,内容如下:
    % This is the file c70song.fd of the CJK package
    %   for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
    %
    % created by Werner Lemberg 
    %
    % Version 4.7.0 (17-Oct-2006)
    
    \def\fileversion{4.7.0}
    \def\filedate{2006/10/17}
    \ProvidesFile{c70song.fd}[\filedate\space\fileversion]
    
    
    % character set: Unicode U+0080 - U+FFFD
    % font encoding: Unicode
    
    \DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
    
    \DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{}
    \DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * cyberb}{\CJKbold}
    
    \endinput
    
    我们只要把其中的cyberb改作song就可以了。
  5. 把生成文件拷贝到相应目录
  6. 把生成文件拷贝到下面的目录:
    $HOME/texmf/fonts/map/dvips/CJK/song.map
    $HOME/texmf/fonts/tfm/CJK/song/*.tfm
    $HOME/texmf/fonts/type1/CJK/song/*.pfb
    如果目录不存在,自己建立一下。
  7. 生成ls-R数据库
  8. 执行
    texhash
  9. 更新字体map
  10. updmap --enable Map song.map
  11. 测试
  12. 可以编辑下面的文件进行测试。
    \documentclass{article}
    \usepackage{CJKutf8}
    \begin{document}
    \begin{CJK}{UTF8}{song}
    \LaTeX CJK 测试。
    \end{CJK}
    \end{document}

没有评论: