Chinaunix首页 | 论坛 | 博客
  • 博客访问: 413291
  • 博文数量: 78
  • 博客积分: 1527
  • 博客等级: 上尉
  • 技术积分: 830
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-27 20:57
文章分类

全部博文(78)

文章存档

2011年(1)

2008年(12)

2007年(53)

2006年(12)

我的朋友

分类: LINUX

2006-12-09 14:43:09

LyX中文排版软件的安装及使用简介方案



  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排版软件的读者可阅读东北大学薛定宇教授的<>.
  
  熟悉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开发者的网站上()下载相应版本的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 | |
  +---------------------------------------+-------------------------------------------+
  | freetype-contrib-2.0.1-4CLE.i386.rpm | |
  +---------------------------------------+-------------------------------------------+
  | xform-0.88-3.i386.rpm | |
  +---------------------------------------+-------------------------------------------+
  | CJK-LyX-1.1.6fix3-src.tar.gz | |
  +---------------------------------------+-------------------------------------------+
  | CJK-LyX-1.1.6fix3-menu-patch | |
  +---------------------------------------+-------------------------------------------+
  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
  %
  % 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排版文件
阅读(7609) | 评论(0) | 转发(0) |
0

上一篇:vim使用手记

下一篇:CJK-LyX 中使用中文

给主人留下些什么吧!~~