LyX是一個開放源代碼的文字處理軟件, 在Linux上已經出現很長時間了, 而且很早就可以支持中文的使用了. 只可惜此軟件在國內似乎還沒有受到足夠的重視, 還沒有被大家廣泛接受和使用. 目前LyX也有了Windows Port的版本, 但目前Windows的版本還不支持中文的使用, 而且需要X-Server. 本人已經從一年多以前就開始完全使用LyX來處理日常的文件排版工作. 本文只是簡單的向大家介紹一下中文LyX的安裝和使用, 希望能夠讓大家認識一下LyX配合LaTeX-CJK這套文字排版處理軟件的強大功能.
1 LyX是什麼? 相信許多人已經知道TeX和LaTeX是什麼了. TEX是美國計算機專家D. E. Knuth教授研制的一個計算機排版系統, 它可以很容易的完成高質量的科學文件排版工作, 而且由於TeX系統的全部源程序都是開放的, 可以按照自己的要求進行擴充和修改. 世界上許多出版社和雜志編輯部都直接接受TeX/LaTeX投稿. 想詳細了解TeX/LaTeX排版軟件的讀者可閱讀東北大學薛定宇教授的<<LaTeX科學文件處理軟件入門(修訂版)>>. 熟悉TeX的人都知道, TeX的排版指令很復雜, 盡管Leslie Lamport的LaTeX在TeX之上加了打量的宏指令, 使TeX使用變得容易了, 但用LaTeX寫文章還是象編程序一樣, 功能雖然很強大, 但入門的門檻太高, 使很多初學者望而生喂. LyX的出現給LaTeX的使用者帶來了福音, 解決了初學者的困擾, 它為使用者提供了一個"近乎"所見即所得的文件編輯環境, 有了LyX就不必再去記憶一大堆LaTeX的排版指令了, 特別是對表格和繁雜的數學公式的編排, 你可以將全部精力放在寫文章上了, 你只要用鼠標點點按按就可以得到高質量排版的文章, 其中包括直接輸出標准的LaTeX文件, dvi文件, 網絡上非常流行的Html文件, pdf文件和ps文件. 本文即是用CJK-LyX編輯輸出的. LyX是LaTeX的前端, 它使LyX文件轉換成LaTeX格式文件, 然後再呼叫系統裡的LaTeX程序進行排版工作, 產生排版的結果.
2 LyX與Word的差別 在談到文字處理和排版時, 相信很多人馬上就會想到Microsoft Word, 似乎Microsoft Office已經成了文字處理和排版軟件的代名詞, 很多人已經習慣了Word的排版方式了. 習慣使用Word的人在初次接觸LyX時往往會很不習慣, 如打開LyX後即不能選擇字體的式樣和大小, 也不能用TAB鍵來對齊文本, 連想要插入空格將文字擺到自己喜歡的位置都不可能. 其實LyX, 或更確切的說是LaTeX, 和MS Word的設計哲學就存在著根本的差別, Word講究的是所謂"所見即所得"(WYSIWYG--What You See Is What You Get), 而LaTeX講究的是"所見即所思"(WYSIWYM--What You See Is What You Mean), 在LyX的屏幕上看到的根本就不是真正的輸出結果, 只是大致的文章結構. 用Word寫文章時, 你要花很大精力在文章的版式, 字體的大小, 字形選擇等瑣碎的事情中, 而用LyX排版時你可以將注意力集中到寫文章上, 只需用鼠標拉一拉點一點, 告訴LyX這行屬於標題(Title), 這段屬於正文(Standard)等環境就可以了, 其他如版面格式, 字體字形等排版工作你大可不必費心, 這些繁雜的工作完全由LaTeX程序來完成. 這就是LyX和Word的最大不同. 事實上想寫一篇規規矩矩的文章, 大可不必花費太多的時間和精力在排版的細節上, 而LyX正好符合這樣的要求. 而用Word寫一篇文章時往往要花費很多的時間和精力在對齊, 字形字體大小, 行距字距等排版的細節上, 特別在處理長文件時, 稍有不慎就可能會出現章節編號, 標題字體及格式不統一的現象. LyX(或說LaTeX)的這些特色特別適合於較長或格式固定的文章, 如學術論文和書籍排版.
3 中文LyX軟件的安裝 如果不用中文的話, 在Linux下安裝LyX比在MS Windows下安裝Word還要容易, 因為目前的Linux版本都安裝有TeTeX, 只要到LyX開發者的網站上(http://www.lyx.org)下載相應版本的rpm包或源碼文件安裝即可. 而支持中文的LyX的安裝可能要費一番力氣才行, 這主要是因為目前TeTeX和其它大部分LaTeX版本沒有附帶直接的中文支持, 但大陸TurboLinux4.0以上版本和台灣的包含CLE的Linux版本都提供了完整的中文LyX環境, 只要安裝時選中這些安裝包即可順利使用LyX編輯中文文件了. 本文以XteamLinux4.0版為基礎, 介紹中文LyX環境的安裝. 3.1 准備必要的軟件包 LaTeX已經是linux版本中的基本部分了, 無論你手邊的是哪一個Linux版本, 你都可以在它的安裝光盤上找到LaTeX的安裝包, 目前在Linux下使用最普遍的LaTeX軟件為TeTeX, 但大部分不支持中文的使用. 所以要使用中文LyX必須首先安裝LaTeX的中文支持. 在Linux下目前使用較多的是CJK(中, 日, 韓)環境. 在開始安裝之前首先准備好必要的軟件包. 以下是XteamLinux4.0下安裝LaTeX中文支持(CJK)和中文CJK-LyX的安裝包: +---------------------------------------+-------------------------------------------+ 軟件包 來源 +---------------------------------------+-------------------------------------------+ +---------------------------------------+-------------------------------------------+ CJK-current.tar.gz http://www.ctan.org +---------------------------------------+-------------------------------------------+ freetype-contrib-2.0.1-4CLE.i386.rpm http://cle.linux.org.tw +---------------------------------------+-------------------------------------------+ xform-0.88-3.i386.rpm http://cellular.phys.pusan.ac.kr/cjk.html +---------------------------------------+-------------------------------------------+ CJK-LyX-1.1.6fix3-src.tar.gz http://cellular.phys.pusan.ac.kr/cjk.html +---------------------------------------+-------------------------------------------+ CJK-LyX-1.1.6fix3-menu-patch http://cellular.phys.pusan.ac.kr/cjk.html +---------------------------------------+-------------------------------------------+ 3.2 中文LaTeX環境CJK的安裝 CJK是Werner Lamberg的傑作, 是中文(Chinese), 日文(Japanese)和韓文(Korean)三國文字的縮寫. 事實上, CJK能夠支持在LaTeX中使用包括中文, 日文, 韓文在內的多種亞洲雙字節文字. CJK是LaTeX2e的一個宏包, 可以用LaTeX輸出標准的dvi文件, 可以在任何DVI Viewer中預覽和打印, 無需象CCT那樣要用patchdvi進行處理, 而且可以使用TeX和LaTeX的新功能, 如用pdfTeX, pdfLaTeX生成pdf文件, 以及用LaTeX2html生成html文件等.
1. 安裝CJK-current.tar.gz 以root身份登入系統. 在家目錄下建一個臨時子目錄temp (mkdir temp). 將CJK-current.tar.gz和freetype-contrib-2.0.1-4CLE.i386.rpm拷貝到temp子目錄中. 解開CJK-current.tar.gz tar xzvf CJK-current.tar.gz 將texinput目錄拷貝到texmf目錄中 cp /cjk-current/texinput /usr/share/texmf/tex/latex/CJK cd /usr/share/texmf/tex/latex/CJK/GB 修改或創建文件 c10fs.fd, c10hei.fd, c10kai.fd, c10song.fd, c11fs.fd, c11hei.fd, c11kai.fd, c11song.fd, c19fs.fd, c19hei.fd, c19kai.fd, c19song.fd, c20fs.fd, c20hei.fd, c20kai.fd, c20song.fd, c21fs.fd, c21hei.fd, c21kai.fd, c21song.fd 下面是c10fs.fd, 其他文件做相應修改或創建 % This is the file c10fs.fd of the CJK package % for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e % % created by Werner Lemberg <
[email protected]> % % Version 4.2.0 (10-Jan-2001) % \def\fileversion{4.2.0} \def\filedate{2001/01/10} \ProvidesFile{c10fs.fd}[\filedate\space\fileversion] % % simplified Chinese characters % % character set: GB 2312-80 % font encoding: CJK (standard) % \DeclareFontFamily{C10}{fs}{} \DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gbfs}{} \DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gbfs}{\CJKbold} \DeclareFontShape{C10}{fs}{m}{it}{<-> CJK * gbfssl}{} \DeclareFontShape{C10}{fs}{bx}{it}{<-> CJKb * gbfssl}{\CJKbold} \DeclareFontShape{C10}{fs}{m}{sl}{<-> CJK * gbfssl}{} \DeclareFontShape{C10}{fs}{bx}{sl}{<-> CJKb * gbfssl}{\CJKbold} \endinput
2. 安裝ttf2pk, 執行: rpm -i freetype-contrib-2.0.1-4CLE.i386.rpm cd /usr/share/texmf/ttf2pk 修改ttfonts.map內容如下: gbfs@UGB@ simfang.ttf Pid = 3 Eid = 1 gbfssl@UGB@ simfang.ttf Slant=0.25 Pid = 3 Eid = 1 gbkai@UGB@ simkai.ttf Pid = 3 Eid = 1 gbkaisl@UGB@ simkai.ttf Slant=0.25 Pid = 3 Eid = 1 gbhei@UGB@ simhei.ttf Pid = 3 Eid = 1 gbheisl@UGB@ simhei.ttf Slant=0.25 Pid = 3 Eid = 1 gbsong@UGB@ simsun.ttf Pid = 3 Eid = 1 gbsongsl@UGB@ simsun.ttf Slant=0.25 Pid = 3 Eid = 1 gbksong@UGBK@ simsun.ttf Pid=3 Eid=1 gbksongsl@UGBK@ simsun.ttf Slan