Fedora6下的中文Texlive2007配置

来源: 作者:岳光
  

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命令卸载列出的包.(注意由于不能确定texinfogettext包是否应卸载我没有卸载这两个包.

2下载texlive2007DVD光盘镜像

http://www.tug.org/texlive/

这里我具体下载了:

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进行安装.


安装完毕,修改环境(我假设你的用户名叫somebody,在home目录下有somebody目录,下同):
#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分别对应宋体\黑体\仿宋\楷体

也可到专门的网站上下载字体文件.

:http://font.knowsky.com/

下载后解压出.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.fdCJK包,内容如下:
% 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的过程,希望对大家有用.

时间:2007-11-29 15:51 来源: 作者:岳光 原文链接

好文,顶一下
(1)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量