精華區beta FreeBSD 關於我們 聯絡資訊
http://freebsd.sinica.edu.tw/zh-tut/howtoget.html#JADETEX Contribute by 海邊的野孩子 ([email protected]) last update: 2003年 4月 7日 周一 19時11分14秒 CST 要先安裝 teTeX, docproj, CJK, xpdf 等應用軟體,請參考前一節的說明。 jade 可以將 XML/SGML 轉換成 tex 檔,若是 XML 原本內含中文, 或是其他 CJK 文字,原本會輸出成一般的中文, 加上環境變數 SP_ENCODING=Big5 後, 輸出的 tex 檔會將這些文字用 \Character{29992} 表示,這數字是 unicode, 「&#29992;」在 unicode 裡是中文的「用」字。 若是直接以 jadetex 編譯這個 .tex,會出現 Unknown character 的錯誤訊息, 我的方式很簡單,既然這些字元沒有定義,就幫他定義一下, 在編譯的時候先 引入就好了。 定義一個 cjk-char.sty,每行的內容像: \DefineCharacter{19968}{4E00}{\begin{CJK*}{Bg5}{bsmi}XXX\end{CJK*}} XXX 是經過 bg5conv 處理過的中文字。因為每個字都用 \begin{CJK*} 和 \end{CJK*} 包住,所以編譯時會很久。 這個做法可能可以在一份文件中用到 好幾種編碼的文字。 若要加快編譯速度,就要將 \begin{CJK*} 用在開頭, \end{CJK*} 放在 \endFOT{} 之前。這樣可以大幅提昇速度, 但是一份文件裡可能就只能有 一種編碼的亞洲文字。 還有一種做法是最開始使用 \begin{CJK*}{}{bsmi}, 在每個字定義的地方都用 \CJKenc{Bg5} 來指定編碼, 這樣速度會比第一種快一些。 然後在 .tex 的開頭加入 \usepackage{CJK}\input cjk-char.sty 再進行編譯。 下面就是我的步驟,cjk-char.sty 要自行下載。 # env SP_ENCODING=Big5 make FORMATS=tex # echo '\usepackage{CJK}\input cjk-char.sty' > zh-tut.tex.2 # cat zh-tut.tex >> zh-tut.tex.2 # mv zh-tut.tex.2 zh-tut.tex # env SP_ENCODING=Big5 make FORMATS=dvi # dvipdfmx zh-tut.dvi 最後用 xpdf 的 pdffont 檢驗。 DL: cjk-char.sty http://freebsd.sinica.edu.tw/zh-tut/cjk-char.sty 其他的資訊: DocBook文件轉換環境設定 http://www.ascc.net/nl/91/1806/03.txt http://www.ascc.net/nl/91/1807/03.txt -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: statue.netlab.cse.yzu.edu.tw > -------------------------------------------------------------------------- < > http://freebsd.sinica.edu.tw/zh-tut/howtoget.html#JADETEX 忘了把效果也放出來看看... http://freebsd.sinica.edu.tw/zh-tut/zh-tut-edwar.pdf 這是用 jadetex 產生的 (0.8M) http://freebsd.sinica.edu.tw/zh-tut/zh-tut.pdf 這是用 distiller 產生的 (0.5M) > -------------------------------------------------------------------------- < > ※ 引述《[email protected] (statue)》之銘言: > > http://freebsd.sinica.edu.tw/zh-tut/howtoget.html#JADETEX > 忘了把效果也放出來看看... > http://freebsd.sinica.edu.tw/zh-tut/zh-tut-edwar.pdf > 這是用 jadetex 產生的 (0.8M) 經檢察後發現 zh-tut-edwar.pdf 內嵌了英文字型,所以也弄成不內嵌了 dvipdfmx 的問題在於他少了幾個檔, cmr.map, lw35urw.map, psbase14.map 這幾個檔可以在他舊的套件中找到, 拷貝到 /usr/local/share/texmf/dvipdfm/base 後 重新作 mktexlsr 就好了 # pdffonts zh-tut-edwar.pdf name type emb sub uni object ID ------------------------------------ ------------ --- --- --- --------- Helvetica-Bold Type 1 no no no 8 0 Times-Roman Type 1 no no no 15 0 ShanHeiSun-Light CID TrueType no no no 18 0 Courier Type 1 no no no 19 0 Helvetica Type 1 no no no 20 0 Times-Bold Type 1 no no no 25 0 Times-Italic Type 1 no no no 26 0 Courier-Bold Type 1 no no no 59 0 FKPCTC+CMMI10 Type 1 yes yes no 167 0 Courier Type 1 no no no 376 0 Symbol Type 1 no no no 164 0 # ls -lh zh-tut.pdf -rw-r--r-- 1 statue statue 597k Apr 8 00:15 zh-tut-edwar.pdf > -------------------------------------------------------------------------- < > ※ 引述《[email protected] (我們不結婚,好嗎?)》之銘言: > > 忘了把效果也放出來看看... > > http://freebsd.sinica.edu.tw/zh-tut/zh-tut-edwar.pdf > > 這是用 jadetex 產生的 (0.8M) > 經檢察後發現 zh-tut-edwar.pdf 內嵌了英文字型,所以也弄成不內嵌了 > dvipdfmx 的問題在於他少了幾個檔, cmr.map, lw35urw.map, psbase14.map > 這幾個檔可以在他舊的套件中找到, 拷貝到 /usr/local/share/texmf/dvipdfm/base 後 > 重新作 mktexlsr 就好了 這個的正解應該是修改 dvipdfmx.cfg 就好了 .. cmr.map, psbase14.map, lw35urw.map 都被整合到 psfonts.map 了.. --- data/config/dvipdfmx.cfg.orig Tue Apr 8 12:23:17 2003 +++ data/config/dvipdfmx.cfg Tue Apr 8 12:23:42 2003 @@ -76,10 +76,11 @@ % Font map files % -f cmr.map -f psbase14.map +% f cmr.map +% f psbase14.map % Most distributions now use these names -f lw35urw.map +% f lw35urw.map % Some use these names % f lw35urwa.map f cid-x.map +f psfonts.map -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: statue.netlab.cse.yzu.edu.tw