歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

LyX中文排版軟件的安裝及使用簡介

LyX是一個開放源代碼的文字處理軟件, 在 Linux 上已經出現很長時間了, 而且很早就可以支持中文的使用了. 只可惜此軟件在國內似乎還沒有受到足夠的重視, 還沒有被大家廣泛接受和使用. 目前LyX也有了 Windows Port的版本, 但目前Windows 的版本還不支持中文的
  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 Slant=0.25 Pid=3 Eid=1
  gbkkai@UGBK@ simkai.ttf Pid=3 Eid=1
  gbkkaisl@UGBK@ simkai.ttf Slant=0.25 Pid=3 Eid=1
  gbkhei@UGBK@ simhei.ttf Pid=3 Eid=1
  gbkheisl@UGBK@ simhei.ttf Slant=0.25 Pid=3 Eid=1
  gbkfs@UGBK@ simfang.ttf Pid=3 Eid=1
  gbkfssl@UGBK@ simfang.ttf Slant=0.25 Pid=3 Eid=1
  
  3. 修改texmf.cnf文件
  cd /usr/share/texmf/web2c
  
  修改texmf.cnf, 找到TTFONTS = .;$TEXMF/fonts/truetype//, 在其後添加如下兩行
  
  TTF2PKINPUTS = .;$TEXMF/ttf2pk//
  TTF2TMFINPUTS = .;$TEXMF/ttf2pk//
  
  4. 生成字體
  建立truetype子目錄, 將Windows的字體文件simfang.ttf, simhei.ttf, simkai.ttf和simsun.ttf拷貝到truetype目錄中.
  然後
  
  cd /usr/share/texmf/fonts/tfm
  
  mkdir chinese
  
  cd chinese
  
  編輯並運行以下腳本文件gbktfm生成GB和GBK的tfm字形文件.
  
  #! /bin/bash
  #
  # GBK 編碼
  #
  cd /usr/share/texmf/fonts/tfm/chinese
  #
  mkdir gbksong
  cd gbksong
  ttf2tfm /usr/share/texmf/fonts/truetype/simsun.ttf -q gbksong@UGBK@
  cd ..
  #
  mkdir gbkkai
  cd gbkkai
  ttf2tfm /usr/share/texmf/fonts/truetype/simkai.ttf -q gbkkai@UGBK@
  cd ..
  #
  mkdir gbkhei
  cd gbkhei
  ttf2tfm /usr/share/texmf/fonts/truetype/simhei.ttf -q gbkhei@UGBK@
  cd ..
  #
  mkdir gbkfs
  cd gbkfs ttf2tfm /usr/share/texmf/fonts/truetype/simfang.ttf -q gbkfs@UGBK@
  cd ..
  #
  # GBK 編碼 斜體
  #
  mkdir gbksongsl
  cd gbksongsl
  ttf2tfm /usr/share/texmf/fonts/truetype/simsun.ttf -q -s 0.25 gbksongsl@UGBK@
  cd ..
  #
  mkdir gbkkaisl
  cd gbkkaisl
  ttf2tfm /usr/share/texmf/fonts/truetype/simkai.ttf -q -s 0.25 gbkkaisl@UGBK@
  cd ..
  #
  mkdir gbkheisl
  cd gbkheisl
  ttf2tfm /usr/share/texmf/fonts/truetype/simhei.ttf -q -s 0.25 gbkheisl@UGBK@
  cd ..
  #
  mkdir gbkfssl
  cd gbkfssl
  ttf2tfm /usr/share/texmf/fonts/truetype/simfang.ttf -q -s 0.25 gbkfssl@UGBK@
  cd ..
  #
  # GB 編碼
  #
  mkdir gbsong
  cd gbsong
  ttf2tfm /usr/share/texmf/fonts/truetype/simsun.ttf -q gbsong@UGB@
  cd ..
  #
  mkdir gbkai
  cd gbkai
  ttf2tfm /usr/share/texmf/fonts/truetype/simkai.ttf -q gbkai@UGB@
  cd ..
  #
  mkdir gbhei
  cd gbhei ttf2tfm /usr/share/texmf/fonts/truetype/simhei.ttf -q gbhei@UGB@
  cd ..
  #
  mkdir gbfs
  cd gbfs
  ttf2tfm /usr/share/texmf/fonts/truetype/simfang.ttf -q gbfs@UGB@
  cd ..
  #
  # GB 編碼 斜體
  #
  mkdir gbsongsl
  cd gbsongsl
  ttf2tfm /usr/share/texmf/fonts/truetype/simsun.ttf -q -s 0.25 gbsongsl@UGB@
  cd ..
  #
  mkdir gbkaisl
  cd gbkaisl
  ttf2tfm /usr/share/texmf/fonts/truetype/simkai.ttf -q -s 0.25 gbkaisl@UGB@
  cd ..
  #
  mkdir gbheisl
  cd gbheisl
  ttf2tfm /usr/share/texmf/fonts/truetype/simhei.ttf -q -s 0.25 gbheisl@UGB@
  cd ..
  #
  mkdir gbfssl
  cd gbfssl
  ttf2tfm /usr/share/texmf/fonts/truetype/simfang.ttf -q -s 0.25 gbfssl@UGB@
  cd ..
  #
  
  5. 更新LaTeX目錄文件, 運行: mktexlsr
  現在你就可以使用CJK-LaTeX的GB和GBK字體了.
  
  cd cjk-current/doc/chinese
  latex READMEgb.tex
  
  看看有沒有生成一個READMEgb.dvi文件.
  
  3.3 CJK-LyX的安裝
  
  將xform-0.88-3.i386.rpm, CJK-LyX-1.1.6fix3-src.tar.gz和CJK-LyX-1.1.6fix3-menu-patch拷貝到temp目錄下.
  
  1. 安裝xform包
  LyX是以xform圖形函數庫編寫出來的軟件, 所以在編譯CJK-LyX之前首先要安裝xform圖形函數庫. 安裝xform運行如下指令:
  
  rpm -i xform-0.88-3.i386.rpm
  
  2. 編譯和安裝CJK-LyX
  運行如下步驟編譯和安裝CJK-LyX:
  
  1. tar -xzvf CJK-LyX-1.1.6fix3-src.tar.gz
  2. cd CJK-LyX-1.1.6fix3
  3. patch -p1 < ../CJK-LyX-1.1.6fix3-menu-patch
  修改"hanout.c"第51行
  #define HANOUT_FONT "-hanyang-*-medium-r-normal--0-0-0-0-*-0-ksc5601.1987-0"為
  #define HANOUT_FONT "-*-*-medium-r-normal--*-*-*-*-*-*-gbk-0"
  4. ./configure --with-included-string
  5. make
  6. make install (主意: 以root身份)
  
  運行
  lyx &
  
  3.4 在LyX使用中文
  
  第一次運行LyX會在你的家目錄下建立一個.lyx子目錄, 此時輸入中文顯示的可能是亂碼, 這是因為屏幕顯示字形可能不對. 退出LyX, 將lyxrc.defaults和lyxrc.example文件拷貝到.lyx目錄下.
  
  cp /usr/share/lyx/lyxrc.defaults ~/.lyx/
  cp /usr/share/lyx/lyxrc.example ~/.lyx/
  cd ~/.lyx
  
  在llyxrc.defaults文件最後加入如下幾行:
  
  \screen_font_i18n1_gothic "-*-songti"
  \screen_font_i18n1_normal "-*-songti"
  \screen_font_i18n1_encoding "gbk-0"
  \screen_font_i18n2_gothic "-*-songti"
  \screen_font_i18n2_normal "-*-songti"
  \screen_font_i18n2_encoding "gbk-0"
  
  將lyxrc.example文件改名為lyxrc
  
  mv lyxrc.example lyxrc
  
  在lyxrc文件最後加入如下幾行:
  
  #
  # CHINESE SUPPORT SECTION ##################
  #
  # use CJK Package
  \language_auto_begin false
  \language_auto_end false
  \language_command_begin "\begin{CJK*}{GB}{}"
  \language_command_end "\end{CJK*}"
  \language_package "\usepackage{CJK}"
  
  重新啟動LyX, 輸入幾個中文字看看是否成功了.
  
  4 用LyX排版文件

Copyright © Linux教程網 All Rights Reserved