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光碟鏡像
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進行安裝.
上一步完畢后
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.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的過程,希望對大家有用.
[火星人 ] Fedora6下的中文Texlive2007配置已經有475次圍觀