LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2431|回复: 11

Debian建设信息化校园三十二:Debian文字处理之Tex和Latex

[复制链接]
发表于 2004-6-11 15:47:06 | 显示全部楼层 |阅读模式
Debian建设信息化校园三十二:Debian文字处理之Tex和Latex

      在习惯使用微软产品的用户眼里,文字处理就是使用Office,就是使用Word,根本不知道什么是Tex,什么是Latex。可能他们当中的部分也曾经听到过一些自由软件爱好者鼓吹Tex和Latex,而且他们在听这些鼓吹的时候总会同时听到自由软件爱好者们对微软的Office产品的不屑和蔑视,所以他们对Tex和Latex产生一种神秘,崇拜,甚至是恐惧的心理。

一 先搞懂几个名词:到底什么是Tex以及Latex等等?
1 什么是Tex?
      TeX系统是由计算机学术界的泰斗级人物,美国Stanford大学的Donald E. Knuth教授耗费了十年心血,研制成功的一套可以轻松地完成高质量科技文献的排版工作的计算机文字处理和排版系统。
      TeX特别适合于科技论文和书籍的排版,目前在国外已经被广泛使用,并且是许多国际知名学术杂志的指定论文投稿的文件格式,而我国最近也有不少学术杂志要求论文投稿必须使用Tex文件格式。

2 什么是Latex?
      TeX与Linux的Kernel一样,只是一套核心技术,实际应用时往往需要在TeX的基础上继续开发。由此产生了一些TeX系统的衍生版本,其中最著名的是由美国数学会(AMS)组织人员开发的AMS-TeX和美国计算机学家Leslie Lamport在二十世纪八十年代初开发的LaTeX,其中前者适合于排版复杂的数学公式,而后者则适合于排版普通文章和书籍。
      LaTeX提供了一整套生成复杂文档所需的高级命令,这样即使作者没有掌握复杂的排版和程序设计知识,也可以充分利用TeX系统提供的强大功能,轻轻松松地完成标题、章节、表格、目录、索引、公式、图表等的编排。
      Latex可以说是Tex的一种衍生版本,或者说是一种Tex方言,或者说是Tex的一个宏命令集合。实际上,每个Latex命令最后都会被编译成若干Tex命令来执行。
      Tex的衍生版本很多,只不过Latex的名气最大,所以我的题目使用了"Tex和Latex"这样并不符合语法规则的文字组合。

3 什么是Tetex,fpTex等
      为了安装和使用上的方便,有人将TeX基本系统包装起来并添加了一些实用工具,做成了各种Tex发行版本供别人使用,其中常见的有MikTeX、emTeX、PCTeX32、fpTeX、teTeX等,它们大多为自由软件,可以从网上免费下载获得。
      Debian中缺省使用的是Tetex。

4 什么是DVI PDF PS文件格式
      为了和国际接轨,我们一定要知道世界上除了DOC这种文件格式之外,还有在学术界更为标准,更加流行的DVI PDF PS文件格式。
      DVI文件是用户编写的Tex源文件经过编译之后产生的与设备无关的输出文件(DVI是英文DeVice Independent的缩写)。在不同的输出打印设备下都能输出质量优秀的文件。该文件在Debian中可以用xdvi或KDVI软件浏览打印。
      
      PDF文件是一种通用文件格式,不管创建源文档时使用的是哪些应用程序和平台,它均可以保留任何源文档的字体、图像、图形和版面设置。PDF文件以其良好的输出质量和跨平台特性,成为世界上分发和交换电子文档及电子表单的实际标准。在学术界更有着不可替代的地位。PDF文件可由DVI文件产生,在Debian下可以使用XPDF,Acrobat Reader等工具浏览打印。
        
      PS文件就是指这个文件已经用PostScript语言处理过了,可以直接在PostScript打印机上输出的文件。这里的PS是PostScript的缩写,PostScript是Adobe公司开发的一种可编程打印控制语言。大家平常看到的所谓“PostScript"打印机就是指支持“PostScript”语言的打印机。PDF文件可由DVI文件产生,在Debian下可以使用ghostview等工具浏览打印。

二 谁应该学习使用Tex.
      我认为并不是每个人都要使用Tex来创建文件,Tex适合于理工科学术论文的创建,尤其适合于含有大量数学公式的论文创建。所以,如果你是一个理工科的学生(当然,现在的学科交叉,不少文科如经济学论文也要大量使用数学公式),需要转写学术论文,而且需要和国际标准接轨,那么你就一定要学习使用Tex了。

三 为什么Tex和Latex给人一种曲高和寡的印象?
      Tex给一般用户造成一种高深莫测的原因主要有:
    1 含有太多的不常见的名词:
    如上面提到的Tex Latex Tetex PDF PS DVI AMS-Tex等术语,都很让一般用户头痛不已。

    2 并不合适于日常的文字处理。

    3 Tex语法庞大而复杂。

    4 缺少“所见即所得”的创作工具。

    5 汉化和中文支持比较复杂。

四 在Debian下配置使用Tex和Latex:
   在Debian下配置使用Tex和Latex主要包括以下步骤:
   1 安装Tetex:
      #apt-get install tetex*
      现在你可以使用vi或是emacs写一个纯文本格式的,最基本的tex文件来测试---注意学习掌握Tex语法格式那可不是一朝一夕的事情,假设编辑得到tex源码文件hello.tex:
      \documentclass[12 pt]{article}
      \begin{document}
       Hello, world! {\LaTeX} can typeset equations like
      \begin{equation}
      \int^{2\pi}_0\sin^2\theta d\theta = \frac{1}{2}
      \end{equation}
      \begin{equation}
      \left[
      {\bf X} + {\rm a} \ \geq\
      \underline{\hat a} \sum_i^N \lim_{x \rightarrow k} \delta C
      \right]
      \end{equation}
      \end{document}
    现在我们编译:
       # latex hello.tex
       在当前目录下可以看到生成了一个Hello.dvi文件,用xdvi打开,应该看到如下画面:

      2 转化为PDF和PS文件格式:
        #dvipdf hello.dvi
              #dvips hello.dvi
       在当前目录下生成文件hello.pdf和hello.ps,用相应的浏览器打开,可以看到同上的画面。

    3 安装中文支持和中文字体:
        这需要安装CJK-Latex。CJK是德国人Werner Lamberg的杰作, 是中文(Chinese), 日文(Japanese)和韩文(Korean)三国文字的缩写,它能够支持在LaTeX中使用包括中文, 日文, 韩文在内的多种亚洲双字节文字.
        #apt-get install cjk-latex tfm-arphic-g* tfm-arphic-b*
        现在你的Latex可以支持中文了。

     这里要注意的是中文Latex文件里面的写法,这是一个例子:
       \documentclass[12pt]{article}
       \usepackage{CJK}
          \begin{document}
          \begin{CJK*}{GB}{gchei}
          \CJKtilde
          \title{\bf 中文~\LaTeX~(CJK+LaTeX)的使用示例}
          \date{\today}
          \maketitle
          \end{CJK*}
          \end{document}
         将以上Tex源码存为chi.tex文件后再测试。
  
       以上方法使得Latex支持的中文字体是几套文鼎开源中文字体,如果要支持其他字体,设置比较麻烦,可以参阅以下文章自行设置:
    http://211.100.7.181/~liling/debian-ctex.html

五 Tex的编辑器:
    用什么软件来编辑Tex源文件呢?因为Tex文件都是纯文本的,所以一般推荐使用Linux系统下最流行的字处理软件vi和Emacs来编辑Tex源文件。也可以使用一个Tex和Latex的前端软件LyX。

    前面我们已经知道TeX排版指令很复杂, 使很多初学者望而生畏。LyX的出现给则LaTeX的使用者带来了福音, 它为使用者提供了一个"近乎"所见即所得的文件编辑环境,。有了LyX就不必再去记忆一大堆LaTeX的排版指令了, 特别是对表格和繁杂的数学公式的编排, 你可以将全部精力放在写文章上了, 你只要用鼠标点点按按就可以得到高质量排版的文章。

    可以说,LyX是LaTeX的前端, 它使LyX文件转换成LaTeX格式文件, 然后再调用系统里的LaTeX程序进行排版工作, 产生结果文件。
      
       在Debian下安装使用LyX很容易,直接apt-get install LyX就可以了,是否支持中文还没有测试。

六 结语
    写到这里我要结束了,还有三句话要交代:
    1 以上只是告诉大家如何安装配置一个Tex工作环境,只是万里长城第一步,要想真正掌握好Tex,你需要不断地实践,当你能够熟练运用Tex之后,你会发现你已经实在不愿意使用微软的Office了。
    2 关于在Linux安装使用Tex,据说最好用的应该是TexLive(http://www.tug.org/texlive/),国内也有一个CTex套装(http://www.ctex.org/),这两种Tex套装在Debian安装使用是否方便尚未测试。
    3 Tex无疑是强大的,但是它不适合于网络表达和网络传输。在当前文件格式和数据格式纷纷向XML迁移的时代,新一代数学公式表示语言MathML有可能取代Tex的位置,有兴趣的同行可以研究研究。

参考文献:
1 http://www-900.ibm.com/developerWorks/cn/l...tex/index.shtml
2 http://www.ctex.org
发表于 2004-11-15 00:01:36 | 显示全部楼层
谢谢

顶起来
发表于 2004-11-15 02:09:15 | 显示全部楼层
emacs的话就用auctex和preview-latex了
发表于 2004-11-15 08:33:27 | 显示全部楼层
lyx 不支持 cjk,但可以下载网上的 cjk-lyx,注意基于 qt 界面的 cjk-lyx 同样对中文支持不好,xform_i18n 的效果还行。
发表于 2005-1-18 02:03:43 | 显示全部楼层
谢谢
顶起来
回复 支持 反对

使用道具 举报

发表于 2005-1-18 02:55:09 | 显示全部楼层
tex是好东西,顶!
回复 支持 反对

使用道具 举报

发表于 2005-1-18 16:27:59 | 显示全部楼层
佩服wen兄弟呀,孜孜不倦呀。
回复 支持 反对

使用道具 举报

发表于 2005-1-18 17:51:59 | 显示全部楼层
没有找到 Debian 下的 cjk-lyx , 只好先用 kile 了


准备试试用 alien 把 rpm 包转换成 deb 装来看看
回复 支持 反对

使用道具 举报

发表于 2005-1-18 19:25:02 | 显示全部楼层
谢谢。
转到我的个人blog里面了,没有版权问题吧。
回复 支持 反对

使用道具 举报

发表于 2005-1-18 20:20:07 | 显示全部楼层
不行


我用 alien 装了一个


lyx-cjk 里可以输入显示中文


但是只要有中文字符就无法编译为 dvi 或 pdf



我的 Latex-CJK 是没有问题的 , 在 Kile 里都正常
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表