Fedora6下的中文Texlive2007配置
岳光ygxyvesuvius@gmail.com
都说配置latex支持中文挺难的,我这几天查资料配置了一番,感觉这句话简直是真理.不过一切总算配置好了,现在谈一下这个问题与大家分享.
请注意:我的操作步骤主要是按照清华yulewang大虾的安装文档
http://mailboxpublic.googlepages.com...jkchinesehowto
及inuxsir.org作者:yanhualu2000的文章
http://www.**.org/bbs/showthread.php?t=304568&highlight=texlive2007
结合Fedora6的情况和我自己的经验做了一点修改,同时我编写了一个脚本用于中文字体的安装,可大大简化步骤.
这里主要是采用texlive2007系统,并安装中文字体.
下面进入正题,步骤:
1卸载系统中的Tex
rpm -qa|grep 'tex'
用rpm -e命令卸载列出的包.(注意由于不能确定texinfo和gettext包是否应卸载我没有卸载这两个包.
2下载texlive2007的DVD光盘镜像
这里我具体下载了:
ftp://ftp.ctex.org/CTAN/systems/texlive/Images/texlive2007-live-20070212.iso.zip
下载后将其解压成texlive2007-live-20070212.iso文件
3安装livetex
mount -o loop texlive2007-live-20070212.iso /mnt/iso(这个目录视自身系统而定,下同)
cd /mnt/iso
sh install-tl.sh
选择S进行完全安装,按i进行安装.
#vim /root/.bash_profile
修改path为:
PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH:$HOME/bin
在用户自己的目录下同样的配置。
#vim /home/somebody/.bash_profile
修改path为:
PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH:$HOME/bin
注销然后登录使刚刚设置的环境生效.
上一步完毕后
sh install-pkg.sh –collection=bin-xdvi.i386-linux
来安装xdvi
测试安装:
用vim建立c.tex文件,内容:
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{gbsn}
你好
\end{CJK}
\end{document}
保存后执行:
latex c.tex
xdvi c.dvi&
如果能正确显示中文证明texlive安装正常.
4安装其他中文字体(如果想使用我的脚本快速安装,直接跳到步骤5
由于tex只带了gbsn一种字体,我们还需要安装一些ttf字体.
准确的说是用工具软件将*.ttf字体文件转换成tex自己的字体.
首先是找到自己喜爱的字体文件.可以从WINDOWS操作系统的WINDOWS\fonts目录下复制
simsun.ttf simhei.ttf simfang.ttf simkai.ttf分别对应宋体\黑体\仿宋\楷体
也可到专门的网站上下载字体文件.
下载后解压出.ttf文件,应在桌面环境下浏览一下字体文件的图标,或将其双击打开.如果能正常显示abc而不是方块,说明该文件有效.
然后安装字体转换工具
yum install fontforge
安装字体,首先建立目录(如安装宋体(song)):
#mkdir -p /usr/local/texlive/2007/texmf/tex/latex/CJK/UTF8
#mkdir -p /usr/local/texlive/2007/texmf/fonts/map/dvips/CJK
#mkdir -p /usr/local/texlive/2007/texmf/fonts/tfm/CJK/song
#mkdir -p /usr/local/texlive/2007/texmf/fonts/type1/CJK/song
在自己的home目录下建立song目录并将simsun.ttf考入
进入song目录
$cp /usr/local/texlive/2007/texmf-dist/source/latex/CJK/utils/subfonts/* ./
$cp /usr/local/texlive/2007/texmf/fonts/sfd/*.sfd ./
然后开始生成字体:
$time fontforge -script. subfonts.pe simsun.ttf song Unicode.sfd
我用了30多分钟,
创建文件makemap,内容如下:
for i in *.tfm
do
cat >> song.map << EOF
${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
EOF
done
执行makemap
$chmod +x makemap
$./makemap
创建文件c70song.fd放CJK包,内容如下:
% This is c70song.fd for CJK package.
% created by Edward G.J. Lee
% modify by Yue Wang
\ProvidesFile{c70song.fd}
\DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
\DeclareFontShape{C70}{song}{m}{n}{<-> CJK * song}{}
\DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * song}{\CJKbold}
\endinput
复制字体到TEXMF
#cp song.map /usr/local/texlive/2007/texmf/fonts/map/dvips/CJK
#cp *.tfm /usr/local/texlive/2007/texmf/fonts/tfm/CJK/song
#cp *.pfb /usr/local/texlive/2007/texmf/fonts/type1/CJK/song
#cp c70song.fd /usr/local/texlive/2007/texmf/tex/latex/CJK/UTF8
更新
#texhash
#updmap --enable Map song.map
$texhash
$updmap --enable Map song.map
大功告成,接下来是测试
创建文件test.tex,内容如下:
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{song}
你好!
\end{CJK}
\end{document}
$latex test.tex
$xdvi test.dvi
中文正确显示,证明中文字体安装成功.
5脚本安装字体
将sss脚本复制到具有simsun.ttf的目录下并进入该目录.(这里以宋体为例)
执行./sss simsun.ttf song
前一个参数是字体文件名,后一个是设定想在tex中使用的该字体名称.
大功告成,接下来是测试
创建文件test.tex,内容如下:
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{song}
你好!
\end{CJK}
\end{document}
$latex test.tex
$xdvi test.dvi
中文正确显示,证明中文字体安装成功.
该脚本会生成song目录字体装完后可删除该目录.
Sss脚本内容如下也可下载:
http://blog.linuxeden.com/index.php?uid-34752-action-viewspace-itemid-5932
#!/bin/bash FONTFILE=$1 FONTNAME=$2 mkdir $FONTNAME cp /usr/local/texlive/2007/texmf-dist/source/latex/CJK/utils/subfonts/* $FONTNAME cp /usr/local/texlive/2007/texmf/fonts/sfd/*.sfd $FONTNAME cd $FONTNAME fontforge -script. subfonts.pe ../$FONTFILE $FONTNAME Unicode.sfd for i in *.tfm do cat >> ${FONTNAME}.map << EOF ${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb EOF done cat >>c70${FONTNAME}.fd<<EOF \ProvidesFile{c70${FONTNAME}.fd} \DeclareFontFamily{C70}{${FONTNAME}}{\hyphenchar \font\m@ne} \DeclareFontShape{C70}{${FONTNAME}}{m}{n}{<-> CJK * ${FONTNAME}}{} \DeclareFontShape{C70}{${FONTNAME}}{bx}{n}{<-> CJKb * ${FONTNAME}}{\CJKbold} \endinput EOF mkdir -p /usr/local/texlive/2007/texmf/fonts/map/dvips/CJK mkdir -p /usr/local/texlive/2007/texmf/fonts/tfm/CJK/${FONTNAME} mkdir -p /usr/local/texlive/2007/texmf/fonts/type1/CJK/${FONTNAME} mkdir -p /usr/local/texlive/2007/texmf/tex/latex/CJK/UTF8 cp ${FONTNAME}.map /usr/local/texlive/2007/texmf/fonts/map/dvips/CJK cp *.tfm /usr/local/texlive/2007/texmf/fonts/tfm/CJK/${FONTNAME} cp *.pfb /usr/local/texlive/2007/texmf/fonts/type1/CJK/${FONTNAME} cp c70${FONTNAME}.fd /usr/local/texlive/2007/texmf/tex/latex/CJK/UTF8 texhash updmap --enable Map ${FONTNAME}.map以上就是我装texlive的过程,希望对大家有用.