« 製作月曆(二) | Main | LaTeX CJK 的新功能:\CJKhdef »
在以往,LyX 必順經過 patch 才能處理中文,也就是著名的
CJK-LyX,Big-5 碼的部份,最早是由王佑中先生所修改出來的。但處理 UTF-8 文件則仍然有問題,而且 CJK 的部份一直沒能納入原本的 LyX 中,以致於想在 LyX 使用中文的朋友,得去另外安裝 CJK-LyX。
LyX 1.5 的版本是一個新的里程碑,它不僅完整的支援 UTF-8 編碼文件,還同時計畫把以往 CJK-LyX 的成果整合進來,這樣一來,就無需另外安裝 CJK-LyX 了。
目前 LyX 1.5 已經釋出了 LyX 1.5 beta1 的版本。初步測試,UTF-8 文件的部份的確是可以用的。
目前 TeX/LaTeX 可以支援 UTF-8 文件的,有 LaTeX CJK 及 XeTeX,其他一些 ucs macro 及 Omega,但對實際處理品質及安裝方便性上而言,則 XeTeX 比較佳。所以,這裡要談的是和 XeTeX 的配合。當然,這裡假設你已將 LyX 1.5beta1 及 XeTeX 安裝好了,如果你的系統 XeTeX 編譯不起來,最方便的方法就是使用 TeX Live 2007。
首先,為了方便使用,我們要先來編輯一個 XeLaTeX 的 LyX template。啟動 LyX 後,開啟一個新檔,把 [Document] => [Settings] 打開,我們先設定 Language 的部份,Encoding 的部份把他設成 utf8,如下圖:
然後是 preamble 區的設定,如下圖:
按 [OK] 或 [Apply] 後,把他存檔成 xelatex-temp.lyx,往後啟動 LyX 後就可以取這個檔當成 template([Files] => [New from Template]),以免每次開新檔都要重設一遍。當然,這裡也可以存成檔案預設的設定(Save as Document Defaults),但我們不打算就一直用 xelatex,而且往後可能和 LaTeX CJK 結合運用,所以,這裡只存成 template 來利用會比較有彈性。
接下來是後端的處理器要換成 xelatex,這個由 [Tools] => [Preferences] => [Converters] 來設定,如下圖:
按 [Save] 存檔後,還要重新整理,[Tools] => [Reconfigure]。這樣就大功告成了。
接下來我們實際編輯一個檔看看(請注意,LyX 要在 UTF-8 環境啟動,除非你的輸入法有支援 Qt input module),檔案命名成 lyxcjk.lyx。以下是編輯的情形,編輯好後 [File] => [Export] => [PDF(pdflatex)] 就會輸出 lyxcjk.pdf:
以下是所輸出的 PDF,由 xpdf 閱覽的情形:
LyX 的 *.lyx 檔是純文字檔,你可以使用編輯器打開來看他的內容。怎麼樣,躍躍欲試嗎?:-D 當然,這只是 beta1 的版本,雖然支援了 Unicode,但是以往的 CJK-LyX 的成果尚未納入,但這樣就已經相當令人期待了。當然,LyX 及 XeTeX 的細節,就請參考他們各自的使用手冊了,而且,這裡並沒有把 XeTeX 要用到的字型全部設定出來。
[補充] Thu Apr 12 21:20:08 CST 2007(Sat Apr 14 12:34:09 CST 2007 加入展示圖檔)
以下是「特製」的 cwttf 字型,有興趣的朋友可以試看看:
http://edt1023.sayya.org/fonts/tex/cwttf/
http://cle.linux.org.tw/~edt1023/fonts/tex/cwttf/
xelatex 的字型設定:
\setmainfont[BoldFont={cwTeXHeiBold},
ItalicFont={cwTeXKaiItalic},
Mapping=tex-text]{cwTeXMing}
\setmonofont{cwTeXFangSongTT}
\setsansfont[BoldFont={cwTeXHeiBold},Mapping=tex-text]{cwTeXYen}
直接使用的話,上面那個網址有已經設好了的 xelatex-temp.lyx。XeTeX 預設會使用 Latin Modern 字型當做數學式子的字型,但內文部份的英文,使用的是所指定的中文字型裡頭的英文字,所以這裡使用 cwttf 是最恰當的,因為 cwttf 中的英文是取自 cm-lgc 字型,和 lm 字型都是源自於 cm 字型,應該是比較能相配合。
只是,能用的中文自由字型並不多,所以,這裡使用 cwttf,以楷書配合 italic,仿宋配合 typewritter 字型來用,但就沒有相對的粗體了。
如果用於一般文稿,可以使用前置處理的方式,讓字型的使用更有彈性,但在 LyX 裡頭,目前並沒方便使用前置處理的方法,所以只好暫時使用這種笨一點的方法。
Update Fri Jul 27 20:29:51 CST 2007
更換新圖檔。
LyX-1.5.0 已正式釋出。
Great article! Thanks for your sharing.
想請問一下,在LYX1.5中要怎麼把工作環境下面的數學相關面板和右邊的快速轉換叫出來呢?
先前在網上下載一個utf-8編碼的pdf
檔,在windows可以看得到,但在linux用xpdf看不到,請幫忙,因在網上找不到xpdf用的utf-8字型檔.
能舉個例子嗎?實際上的內文,在 pdf 是以圖檔的方式呈現,否則也會依 Adobe CMap 來對應(不內嵌字型的情況)。這些 xpdf 應該都可以處理。
如果是指非內文的部份,例如作者、文件名稱等等,那麼請改用 kpdf 就可以閱覽了,目前 xpdf 尚不支援。
多謝回覆,本人在本機內另一分區的Linux,xpdf原來可以看到那檔案的。重啟回到原來的分區,細看xpdfrc內容,發覺原本路經設定錯誤,在繁體及簡體項目設定對應的ttf檔案路經,就可以看到utf-8編碼的檔案了。這是我新安裝的slackware 11,xpdf為3.01.我想CMap是可以將utf-8檔轉為繁體或簡體在xpdf內顯示,不知道是否合理?
pdf 有他自已的「編碼」(cid 值),CMap 就是在對應 cid(s) 「外在」的 encoding value。
很抱歉,這個已經是離題了,可以的話請到適當的 news/bbs/forum 討論。
我這邊好像不能顯示中文,解譯時會出現 Environment CJK undefined.
而您的 xelatex-temp.lyx 我這邊也不能執行,可否冒昧請教為什麼?
使用 TeX Live 2007+LyX 1.50 RC1
噢,就是 TeX-Live 裡面的 XeTeX,
好像用到 Unicode 就不行。
順便問一下,安裝 LyX 時的安裝路徑要填甚麼?他下面寫那個路徑要包含 tex.exe,所以我填 C:\TeXLive2007\bin\win32 那邊,會是這邊填錯所致嗎?
嗯,Windows Vista。還是謝謝 :)下載 Beta 3 中。
我測試的系統是 FreeBSD 6-STABLE 及 Slackware Linux 10.2(Qt 4.2.3)。
以前曾有聽人說過,下載他編譯好的,中文好像會有問題,所以,我都是自行編譯的。
我在 FreeBSD/Linux 下測試過了,LyX-1.5.0rc1 沒有問題,原來的 xelatex-temp.lyx 還是可以繼續使用(當然要安裝裡頭所指定的 cwttf 字型)。
你可能需要請教熟悉 Windows 的朋友來幫忙一下。
嗯!謝謝您的熱心。
目前我的新打算是用 PUTeX 或 chiTeX,至於 LyX 支援與否,那我就不知道了。
如果有人想在 wibdows 編譯 LyX,以下這個連結有非常詳細的說明:
http://www.lyx.org/trac/browser/lyx-devel/trunk/INSTALL.Win32
我使用 lyx1.5.0 rc1 及 rc2 (自行編譯的),按照文上的步驟編排中文,輸出 pdf 時出現以下訊息:
[img]http://img20.imageshack.us/img20/9828/lyxxetextrouble2jw3.png[/img]
[img]http://img20.imageshack.us/img20/7867/lyxtrowinxptexlivewz0.png[/img]
作業系統: Ubuntu 7.04
安裝軟體:TeXLive 2007、cjk-latex
我是直接下載 TeXLive 2007 光碟來安裝 TeX Live的。
能否指點在下如何解決? 非常感謝 ^^
另外,不知是否能夠直接匯出成 svg 格式?
你要設定使用 xelatex 去編譯,而不是使用 latex 或 pdflatex。而且,不要使用 nonstopmode 的參數。
您指的編譯是 convert 裡的設定嗎? 我有照您上面教的方式設定。
如圖 http://img218.imageshack.us/img218/6129/lyxshddhf3.png
不要使用 nonstopmode 的參數 >> 我不知道什麼是 nonstopmode 參數 >
抱歉~
我之前只有用 LaTeX 做數學式子給 Scribus 使用,對 LaTeX 不熟。
( Scribus 中英文混排會出現怪異斷行問題,所以才把腦筋動到 Lyx 上 )
請試著載入以下這個檔案試試看:
http://edt1023.sayya.org/tex/lyx/lyxcjk.lyx
你的設定應該是沒有錯。但有兩個問題:
1. 是不是有安裝 cwttf 字型?
2. TeX Live 的 bin 有沒有設定在你的 PATH 裡頭?
用您給的範例還是不行,如圖:http://img232.imageshack.us/img232/421/lyxpromaf9.png
1. 是不是有安裝 cwttf 字型?>> 有
2. TeX Live 的 bin 有沒有設定在你的 PATH 裡頭?>> 按照官網的指示安裝,沒有更改安裝設定
最後把心一橫,將 texlive 裡的 bin 全部複製到 /usr/locale/bin 裡
結果讀取範本的時候出現這個訊息,如圖:http://img403.imageshack.us/img403/6483/ly001po0.png
忽略訊息,然後匯出pdf出現這個訊息,如圖:http://img403.imageshack.us/img403/7892/ly002jk8.png
可能是你的 TeX Live 沒有安裝完全?請執行:
fmtutil-sys --all (需 root 身份)
fmtutil --all (一般使用者身份)
我覺得,有些執行失敗,問題可能不在 LyX,而是原本的 TeX 系統的問題,請先別管 LyX,先在命令列編譯一些 LaTeX/XeLaTeX 文稿,看是否能正常編譯。
我執行您給的指令出現以下:
This is a summary of all `failed' messages and warnings:
`pdfetex -ini -jobname=latex -progname=latex -translate-file=cp227.tcx *latex.ini' failed
`pdfetex -ini -jobname=etex -progname=etex -translate-file=cp227.tcx *etex.ini' failed
`pdfetex -ini -jobname=pdftex -progname=pdftex -translate-file=cp227.tcx *pdftex.ini' failed
`pdfetex -ini -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini' failed
`pdfetex -ini -jobname=pdfetex -progname=pdfetex -translate-file=cp227.tcx *pdfetex.ini' failed
`pdfetex -ini -jobname=amstex -progname=amstex -translate-file=cp227.tcx *amstex.ini' failed
`pdfetex -ini -jobname=cont-en -progname=context -translate-file=cp227.tcx *cont-en.ini' failed
`pdfetex -ini -jobname=mptopdf -progname=context -translate-file=cp227.tcx mptopdf.tex' failed
TeX/LaTeX 相關的 dump format 無法製作的話,顯然原先安裝的 TeXD 系統是有問題的。
使用 root 身份執行:
/usr/local/texlive/2007/bin/i386-linux/texhash
使用 root 身份執行:
/usr/local/texlive/2007/bin/i386-linux/fmtutil-sys --all
以上如執行正確,以下可以無需執行,除非有另行安裝 macro 或字型於自家目錄。
一般使用者身份(之前要先以 root 身份執行 texhash):
/usr/local/texlive/2007/bin/i386-linux/texhash
/usr/local/texlive/2007/bin/i386-linux/fmtutil --all
以上請使用絕對路徑執行。以下測試你的路徑是否正確,開一個 treminal(rxvt/xterm),然後執行 which latex,看是不是在 TeX Live 所安裝的路徑,如果不是,請在 $HOME/.bash_profile 加上 TeX Live bin 的路徑(即 /usr/local/texlive/2007/bin/i386-linux)。
如果還是不正常,建議砍掉 /usr/local/texlive 目錄,重安裝 TeX Live 或使用 Debian/Ubuntu 官方的 texlive 套件。
我執行命令都還是出現 "failed" 資訊
測試 LaTeX 路徑是在 /usr/local/bin/latex
所以依照您的指示改了 .bash_profile 檔案... 還是不行
(源裡面是舊的版本 好像是2004吧 跟2007有差很多嗎?)
真的很感謝大大這麼耐心教導 我還是先放棄好了
題外話,去 Scribus 官網晃晃,發現5月30日 Scribus1.3.4 釋出了,安裝試了一下
發現效能的提升非常多 (也多了繁體中文介面)
Ubuntu 我不清楚,Debian unstable 則是使用 TeX Live 2007。
謝謝告知,我也要找時間來試一下 scribus 1.3.4。
| « | 八月 2010 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | |||||