本格堅守四不一沒有政治主張:不知道、不清楚、不瞭解、不明白、沒有我的事!
[ start | index | login ]

CJK-LaTeX with UTF-8 on Gentoo

Created by Ada. Last edited by Ada, 3 years and 225 days ago. Viewed 2,360 times. #27
[diff] [history] [edit] [rdf]
labels
Parent:LaTeX
attachments
cjk.pdf (75370)
cjk.tex (940)

CJK-LaTeX with UTF-8 on Gentoo

這是在 Gentoo 上和 CJK LaTeX with UTF-8 奮戰多時的記錄,有需要的人可以參考參考。

cjk-latex 環境的安裝:

這都有現成的 ebuild 檔可以透過 portage 加以管理,
  1. tetex 3.0_p1_r3: TeX 的本體套件,目前 Gentoo 在各硬體平台上應該都被標記為 Masked 的,請自行解除限制後安裝起來。
  2. app-text/dvipdfmx 20050201: 用於將 .dvi 檔轉成 .pdf 檔時使用。這個版本也是 Masked 的,請自行解除限制後安裝起來。
  3. cjk-latex 4.7.0: 中日韓 LaTeX 的支援套件,日前 Gentoo 上暫時沒有此版本的 ebuild 檔,不過在 Gentoo >>bugzilla 上有個 4.6.0 版的 ebuild, 請直接下載並更名成 cjk-latex-4.7.0.ebuild 後透過 PORTDIR_OVERLAY 方式加以安裝。安裝前請先下載 >>ftp://ftp.ctan.org/tex-archive/fonts/CJK.tar.gz 字型檔並改名為 cjk-4.7.0-fonts.tar.gz 後放到 /usr/portage/distfiles 下再開始 emerge 即可完成安裝動作(如果有錯誤發生時,請檢查下載的安裝檔案大小是否正確。(若已下載 cjk-4.5.2-fonts.tar.gz 時則可以直接更名即可)
    1. cjk-4.7.0-doc.tar.gz: 2113101 bytes
    2. cjk-4.7.0.tar.gz: 535037 bytes

中文字型的支援準備:

  1. 中文字碼對應表:有兩個套件可以提供此對應表
    1. app-text/acroread-7.0.8
    2. virtual/ghostscript: 不管是 app-text/ghostscript-esp 還是 app-text/ghostscript-gpl 都可以。
  2. 中文 TrueType 字型安裝:嗯,反正想用那個字型請隨意,只要是 TrueType 就好(我不知道 Type1 字型要怎麼裝… )。此處以 media-fonts/cjkuni-fonts 作為範例,它會安裝 ukai 及 uming 兩種字體。
  3. 中文字型資訊檔製作工具:>>mktfm.sh>>ttf2tfm ( 請選擇符合硬體架構的版本)。mktfm.sh 放在預定要製作字型資料的目錄(假設為 $WORKPATH)下,ttf2tfm 要放在 $PATH 下。
  4. Unicode.sfd 對照檔:>>[Cjk] full Unicode support added,注意那個下載的檔案雖然檔名叫 Unicode.sfd.obj 但實際上應該是 Unicode.sfd.bz2 ,用 bunzip2 解開後放到 mktfm.sh 同一目錄下。

中文字型的配置程序:

  1. 以 root 身份設定以下環境變數並建立相關目錄(※請注意,這是針 tetex 3 的設定):
    1. TEXMFLOCAL=/usr/local/share/texmf
    2. TEXMFFONT=$TEXMFLOCAL/fonts/truetype && mkdir -p $TEXMFFONT
    3. TEXMFTFM=$TEXMFLOCAL/fonts/tfm && mkdir -p $TEXMFTFM
    4. TEXMFENC=$TEXMFLOCAL/fonts/enc && mkdir -p $TEXMFENC
    5. TEXMFSFD=$TEXMFLOCAL/fonts/sfd && mkdir -p $TEXMFSFD
    6. TEXMFDVIPDFM=$TEXMFLOCAL/fonts/map/dvipdfm && mkdir -p $TEXMFDVIPDFM
    7. TEXMFUTF8FD=$TEXMFLOCAL/tex/latex/cjk-latex/UTF8 && mkdir -p $TEXMFUTF8FD
  2. 將 Unicode.sfd 搬移到 $TEXMFSFD 目錄下
    mv $WORKPATH/Unicode.sfd $TEXMFSFD
    在製作字型資訊時也需要這個 Unicode.sfd 檔,所以另行建個檔案連結到工作目錄下
    ln -s $TEXMFSFD/Unicode.sfd $WORKPATH/Unicode.sfd
  3. 建立字型聯結以便製作字型資訊相關檔案
    ln -s /usr/share/fonts/cjkuni-fonts/ukai.ttf $WORKPATH/ukai.ttf
  4. 到 $WORKPATH 下執行 mktfm.sh 以便建立 Unicode 環境下所需的 *.tfm 、*.enc 、*.fd 及 cid-x.map.append 等相關檔案
    cd $WORKPATH && ./mktfm.sh ukai.ttf ukai Unicode
  5. 在 $TEXMFTFM 下建立一個存放 ukai 字型資訊的目錄,其中 CJK 只是用來表示中日韓字型存放區
    mkdir -p $TEXMFTFM/CJK/ukai
  6. 將 *.tfm 檔全部搬移到 $TEXMFTFM/CJK/ukai 中
    mv $WORKPATH/*.tfm $TEXMFTFM/CJK/ukai
  7. 在 $TEXMFENC 下建立一個存放 ukai 字型資訊的目錄,其中 CJK 只是用來表示中日韓字型存放區
    mkdir -p $TEXMFENC/CJK/ukai
  8. 將 *.enc 檔全部搬移到 $TEXMFENC/CJK/ukai 中
    mv $WORKPATH/*.enc $TEXMFENC/CJK/ukai
  9. 將 *.fd 檔搬到 $TEXMFUTF8FD 下
    mv *.fd $TEXMFUTF8FD
  10. 將 cid-x.map.append 附加到 $TEXMFDVIPDFM/cid-x.map 中
    cat $WORKPATH/cid-x.map.append >> $TEXMFDVIPDFM/cid-x.map
  11. 將字型檔連結到 $TEXMFFONT 下
    ln -s /usr/share/fonts/cjkuni-fonts/ukai.ttf $TEXMFFONT/ukai.ttf
  12. 重覆以上步驟完成所有字型檔的配置動作,最後執行 texhash 登錄所有的檔案。沒有執行 texhash 的話將會出現一大堆字型對應錯誤的訊息。
※ 備註:
  1. 如果要產生的是 Big5 編碼下使用的字型資訊檔,那麼在 mktfm.sh 時必須將 Unicode 字樣換成 Big5 ,這個參數正是作為指定字形資訊檔欲使用的編碼設定。
  2. 不同編碼下的字形描述檔 *.fd 有不同的檔名及對應的儲放位置,例如 Big5 編碼的字形描述檔檔名為 c00xxxx.fd,儲放目錄則為 $TEXMFLOCAL/tex/latex/cjk-latex/Bg5 。
  3. 若想產生 GBK 編碼所使用的字形檔,可以找一下 gbkfont 這個工具程式協助。

CJK LaTeX 4.7.0 環境測試

請下載符合前述作業設定的 >>cjk.tex 嘗試編譯,若能正常編成 cjk.dvi 再輸出成 >>cjk.pdf 檔時,即可確認 cjk latex 環境已經 ready 。
ada@www ~/latex $ latex cjk
This is pdfeTeX, Version 3.141592-1.30.5-2.2 (Web2C 7.5.5)
entering extended mode
(./cjk.tex
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
kish, ukrainian, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo))
(/usr/share/texmf/tex/latex/cjk-latex/CJKutf8.sty
(/usr/share/texmf/tex/latex/oberdiek/ifpdf.sty)
(/usr/share/texmf/tex/latex/base/inputenc.sty
(/usr/share/texmf/tex/latex/base/utf8.def
(/usr/share/texmf/tex/latex/base/t1enc.dfu)
(/usr/share/texmf/tex/latex/base/ot1enc.dfu)
(/usr/share/texmf/tex/latex/base/omsenc.dfu)))
(/usr/share/texmf/tex/latex/cjk-latex/CJK.sty
(/usr/share/texmf/tex/latex/cjk-latex/mule/MULEenc.sty)
(/usr/share/texmf/tex/latex/cjk-latex/CJK.enc))
(/usr/share/texmf/tex/latex/base/fontenc.sty)) (./cjk.aux)
(/usr/share/texmf/tex/latex/cjk-latex/UTF8/UTF8.bdg)
(/usr/share/texmf/tex/latex/cjk-latex/UTF8/UTF8.enc)
(/usr/share/texmf/tex/latex/cjk-latex/UTF8/UTF8.chr)
(/usr/local/share/texmf/tex/latex/cjk-latex/UTF8/c70ukai.fd) [1] (./cjk.aux) )
Output written on cjk.dvi (1 page, 4436 bytes).
Transcript written on cjk.log.
ada@www ~/latex $ dvipdfmx cjk
cjk.dvi -> cjk.pdf
[1
** NOTICE: This document contains `Preview & Print' only licensed font **
]
** WARNING ** UCS-4 TrueType cmap table...

75370 bytes written

手動安裝 cjk-latex 4.7.0 的方法

※ 請先下載以下檔案,集中放入工作目錄 $WORKPLACE (自選) 下:
  • tetex-src-3.0_p1.tar.gz
  • tetex-texmf-3.0.tar.gz
  • cjk-4.7.0.tar.gz
  • dvipdfmx-20050831.tar.gz

建立 texmf main tree

cd $WORKPLACE
mkdir -p /usr/share/texmf
tar zxvf tetex-texmf-*.tar.gz -C /usr/share/texmf

編譯及安裝 tetex

cd $WORKPLACE
tar zxvf tetex-src-*.tar.gz
cd tetex-src-3.0
./configure --prefix=/usr/share/texmf \
            --datadir=/usr/share \
            --disable-multiplatform 
make && make world

安裝 CJK

cd $WORKPLACE
mkdir -p /usr/share/texmf/tex/latex/cjk-latex/
tar zxvf cjk-4.7.0.tar.gz
cd cjk-4.7.0
cp -R texinput/* /usr/share/texmf/tex/latex/cjk-latex/

安裝 dvipdfmx

cd $WORKPLACE
tar xzvf dvipdfmx-*.tar.gz
cd dvipdf*
./configure --prefix=/usr --with-kpathsea=/usr/share/texmf
make
make install

安裝字體

請參考 >>替 LaTeX CJK 新增字型 說明。
no comments | post comment
【搜尋】

【求助】

  1. 如何指定格式化的文字
  2. 如果字太小
【SnipSnap 強化方案】
>>SnipIt 誕生
>>功能討論
>>功能確認

< September 2010 >
SunMonTueWedThuFriSat
1234
567891011
12131415161718
19202122232425
2627282930

【RSS 訂閱】




【雜想分類區】
美食小吃
生活雜想
職場遭遇戰
休閒娛樂
台北居、大不易
錯誤正在橫行中
廣告異聞錄
神秘事件簿
電影
健康管理
資訊電腦
科高地球
手機應用
新聞馬後炮
動漫世界
管理眾人之事
專案管理
歌曲歌詞
嘸爽啦!
部落格記錄
惡搞裝笨耍白爛
歧視非IE用戶之網頁
關於我
CSS
RSS

【與 Ada 聯絡】

【有趣的 Blog】
>>什麼都破,什麼都爛,什麼都不奇怪
>>酪梨壽司的日記
>>去吧!錯誤特攻隊!
>>隨裕而安
>>荒謬大觀
>>網路黑貓
>>瑞克梅添涼 DALIREAL
>>鳥毅的blog
>>潛艦 - >>反垃圾信
>>窮留學生懶人食譜
>>約耳談軟體

【網路貼紙】
XHTML 1.0 validated CSS validated
RSS 2.0 validated Powered by SnipSnap
Powered by Gentoo Linux
網站使用 UTF-8 編碼 網站所在地-台灣
Onion Club 洋蔥酷樂部 Powered By PostgreSQL
我是台灣人

【網路同盟】
怠墮管理者同盟

【PCDVD 七八區 RSS】




【PCDVD 疑雜區 RSS】




【網路串連】











【參訪團】

snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt