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,
「用」在 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