歡迎您光臨本站 註冊首頁

Fedora6下的中文Texlive2007配置

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

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的過程,希望對大家有用.


[火星人 ] Fedora6下的中文Texlive2007配置已經有475次圍觀

http://coctec.com/docs/linux/show-post-67471.html