CJK-LyX 中使用中文


一、 前言

最近有許多朋友在 LyX 使用中文時碰到困難,以下是個人使用上的一些心得供參考,但由於我本身最常用的是 TeX/LaTeX 直接使用 vi 編寫 *.tex,因此 LyX 並沒有很深入研究,而本文的重點也不是 LyX 教學,因此,細節的部份,請有深入研究的朋友補充一下,謝謝!

LyX 是一個進可攻 (學習專業的幕後排版系統 TeX/LaTeX),退可守 (把 LyX 當成文書處理軟體) 的一個功能強大,可以處理圖文的文書處理軟體。也可以馬上轉成 LaTeX 的格式,便利轉換成其它格式,如 HTML 等。

二、 安裝 tetex 及 xforms

由於 LyX 在最後預視、輸出、列印,靠的都是 TeX/LaTeX 系統,所以請先安裝好 tetex 系統 (最好完整安裝),要使用中文請安裝好 CJK package,這個在 CLE 都已經設好,其它的 distribution 可能要做些細部調整。

這個 CJK package 要能正常運作,請先在命令列試著編譯一些 CJK 所附的例子。

CJK-LyX 是使用 xforms,1.2.0pre 的版本已經可以支援 qt2/gnome 的 GUI,但這個版本對於中文輸入、顯示還有問題,建議仍使用 1.1.6fix4 的版本。binary 版的話目前都是採 xforms,所以得先安裝這個 xforms lib

三、 安裝 CJK-LyX

請安裝 CJK-LyX 而不是英文版的 LyX 或 KLyX,可到以下網站下載:
http://cellular.phys.pusan.ac.kr/cjk.html
ftp://stone.phys.pusan.ac.kr/pub/CJK-LyX/

有 source code(tarball) 或 rpm 包。rpm 包的部份,如果您使用的是 glibc-2.2.x 的版本(如 RH-7.x, MDK-8.0)那可能 libstdc++ 的部份會不合,這時可以強迫安裝,再做個 symbolic link 給 LyX 使用。例如系統上是 libstdc++-3-libc6.2-2-2.10.0.so 的話,請成為 root:

su -
cd /usr/lib
ln -sf libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2
* link 到舊的 libstdc++ 應該也可以使用。

然後執行 ldconfig 即可 (請不要使用絕對路徑連結)。

如何知道是 libstdc++-libc6.1-1.so.2 呢?

ldd `which lyx` (注意是左單引號,鍵盤左上方那一個)

如果這樣執行 LyX 時會有不正常的情形,那只好由 source 自行編譯了。

下載時如果想有中文 menu,請下載含有 *menu* 的檔案。但是目前 CJK-LyX 的 po 檔並沒有人去翻譯,因此沒有中文 menu,如果有朋友想翻譯,請和 ChangGil Han 聯絡,以免有其他朋友也同時在翻譯。

四、 必要的設定

頭一次開始執行 LyX,會建立必要的相關檔案,LyX 會自行去搜尋系統上可以用到的 TeX/LaTeX 套件。如果往後 TeX/LaTeX 有新增套件,那要進入 LyX 後,[Edit] => [Reconfigure] 再執行一次,讓 LyX 認得新套件,會紀錄在 ~/.lyx/textclass.lst,然後重新啟動 LyX。當然,請別忘了,在裝了新套件後,要執行 texhashmktexlsr

請編輯一個 ~/.lyx/lyxrc (沒有這個檔的話,請自行建立),內容如下:

\screen_dpi 100
\screen_font_roman "-*-times new roman"
\screen_font_sans "-*-arial"
\screen_font_typewriter "-*-courier new"
\language_package "\usepackage{CJK}"
\language_command_begin "\begin{CJK*}{Bg5}{aming}"
\language_command_end "\end{CJK*}"
\language_auto_begin false
\language_auto_end false
\mark_foreign_language false
\screen_font_i18n1_encoding "big5-0"
\screen_font_i18n1_normal "-*-ar pl mingti2l big5"
\screen_font_i18n1_gothic "-*-ar pl mingti2l big5"
\screen_font_i18n2_encoding "big5-0"
\screen_font_i18n2_normal "-*-ar pl kaitim big5"
\screen_font_i18n2_gothic "-*-ar pl kaitim big5"
\converter latex dvi "bg5latex $$i" "latex"
#\converter dvi pdf "dvipdfm $$i" ""
#\font_encoding default

如果您 TeX/LaTeX 是使用中文 Type1 字型的話,請將最後二行的 mark 拿掉。dvipdfm 可視情形改用 dvipdf。當然,您也可以參考使用手冊,再做更精細的調整。

設定檔尋找的路徑如下:

/usr/local/share/lyx/lyxrc
/usr/local/share/lyx/lyxrc.defaults
~/.lyx/lyxrc
~/.lyx/lyxrc.defaults
~/.lyx/preferences
這裡使用 ~/.lyx/lyxrc 是因為這個檔不會在 LyX 重設定時被新設定蓋過去,其他 ~/.lyx/lyxrc.defaults, ~/.lyx/preferences 會被蓋過去。否則就要設定在預設的 /usr/local/share/lyx/lyxrc 裡頭。我這裡說明的是從 tarball 安裝的,如果是由 rpm 安裝的,應該會在 /usr/share/lyx/lyxrc。但請千萬小心,優先性最高的是 ~/.lyx/preferences。

五、 啟動 LyX

請先啟動 xcin (有些 distro 事先就已經啟動好了)。其它符合 XIM protocol 的輸入法,如 chinput 亦可使用。

最好在 crxvt(or 其它的中文環境終端機) 啟動,以免 locale 環境不是在 zh_TW 或 zh_TW.Big5。如果發現無法輸入中文,請在命令列鍵入 echo $XMODIFIERS 看設定是不是正常,並檢查一下 locale 是否正確。

一般常見的是:

LANG=zh_TW.Big5 或 LANG=zh_TW
XMODIFIERS="@im=xcin-zh_TW" 或
XMODIFIERS="@im=xcin"
如果沒有設好這些變數,請在 ~/.bashrc 加入(在此以 bash 為例):
export LANG=zh_TW.Big5 或 export LANG=zh_TW
export XMODIFIERS="@im=xcin-zh_TW"  或
export XMODIFIERS="@im=xcin"

六、 測試

請進入 LyX 後隨便編輯一個中文檔,或進入 LyX 後引入 (File => Import) 一個純文字的中文文稿,然後按 View => DVI 及 View => Postscript 看運作是不是正常。另外 File => Export => Postscript 看是不是可以正確輸出文稿的 *.ps 檔。

在此建議使用中文 Type1 字型,以免多花時間等待系統製造 pk 字型,而且 ps 檔品質也較好。請參考 ``CJK/LaTeX enviroment 中文 Type1 及 TTF 的使用'' 一文之說明。

七、 補充

要變換字型或做更複雜的變化,LyX 本身並沒有 CJK environment 的特殊功能,得自行加入 tags。例如要換字型,可按功能表那個大的向下的黑箭頭選 LaTeX,以便輸入 CJK environment 的 tag:
\CJKfamily{akai}

這樣以下的文字就會改用楷體字,注意,這裡指的是所輸出的 *.ps 檔的字型,而不一定是您螢幕上看到的字型(依本文的設定,螢幕上是明體)。

其他的中文 TeX/LaTeX 系統,如 cwTeX/ChiTeX 請參考以上設定,自行更改。另外 LyX 所附的文件相當豐富,一些細部或更高級的設定請參考這些文件的說明。


Copyright (c) 2001,2002 李果正(Edward G.J. Lee).
最後修訂日期:2002.05.09
本文件為自由文件(FDL),可自由複製、修改、散佈,但請保留版權聲明。