排版软件 LaTeX 介绍

  当你在撰写学位论文,开始计划写5章,其中第5章已经排版完成,这时你导师突然告诉你,在第2章前面加“数学背景”一章,这时你怎么办?用Word排版显然你要手动地将第五章改成第六章,其中所有的数学公式序号都要改,这样的工作量有多大。等你好不容易完成了,你导师又说,把第二章和第三章合并可能更好,你这时会觉得脑袋发大吗?

  在同一章中,你花了好几天的时间将本章的图都排好了,你导师说,前面叙述不充分,再不半页内容吧。可能就因为这一句话,你得忙活几天。

  Word作为文秘人员的工具是很实用的,但不适合于专用人员的排版。其数学公式的效果实在离规范的出版档次差太远。有 Word经验的人知道,其数学公式实际上是由嵌入对象的形式完成的。没一个公式都是一个嵌入的对象。假设你导师要求你将全文中的t改成t,若不逐一手动替换,你能有其它方法实现吗?而LaTeX绝无此问题。本文即将对这个特殊排版系统的作一些简单的介绍和对比。

  LaTeX排版系统简介

  LaTeX语言是由美国学者Knuth教授主持开发的,1980年开始运行后立即得到好评。加之当时没有Microsoft Word这样的软件,所以马上就在学术界普及开来了。当时可能没有相应的好软件和它并存,故它在科学界称为最好的排版工具。不过今天看来,它的功能远比Word这样所谓的“所见即所得”排版软件高得多。其交叉引用、浮动图形、数学公式排版等功能尤为突出。它目前是国内流行的中英文排版软件,特别适合用于科技文章、书籍的制作,而且对于科技人员来说他们完全可以在计算机上生成与印刷品几乎完全一样的作品。

  LaTeX 实际是TeX的宏命令,这些宏命令能把各种复杂的数学公式都系统化。许多数学符号,例如上下标的大小等,都是由系统自动制作好的,这就给LaTeX的用户带来了很大的方便。用户可以不用设计文章的具体格式和印刷的要求,只要按照规定给出这些确定的宏命令,即可生成质量较高的作品。数学家和理论物理学家们往往会遇到极为复杂的数学公式,排印好这些公式,不仅对一般的排字工人来说是繁杂的,而且对科技人员来说也不是轻易的事。LaTeX 软件提供的宏命令可方便地把各种复杂的公式系统化,这就简化了复杂的数学公式的排印。凡是看过LaTeX 生成文稿的人,都会对它的文高质量感到很满意。与目前Word和WPS等通用的西文文字处理软件相比,它在字符质量、排版功能和数学公式的排印方面均胜一筹。

  LaTeX软件是一种叙述标记系统(Descriptive Markup System),不是可视标记系统,不能直接看到输出的结果,要在普通文件中加上说明语句用来说明输出的格式。叙述标记系统能自动转换数学公式的形式,它的源文件使用ASCII码写的,具有很好的可移植性,并能用电子信函(E-mail)在不同的计算机之间传输。叙述标记系统中的说明语句也不同于专业印刷术语,而是将那些高度专业化的术语用最简单的说明来代替。例如,虽然可视标记系统简单,但在排印一些复杂的数学公式是,必须有作者调节字符大小、位置等等,这就要求作者有极为丰富的印刷排版经验,对于普通人员来说这几乎是不可能的。虽然许多国内汉字软件都受到了广泛的欢迎,但读者只要将LaTeX排印出的数学公式和其他的中英文排印软件(例如科印、华光等)排印出的数学公式比较一下,就会发现明显的不同。LaTeX排印出的中英文文章几乎无异于正式出版物,这就是近年来一些出版社直接用LaTeX出版杂志和书籍的原因。

  在国外,LaTeX软件早已被广泛用于制作科技文章、书籍、档案、学位论文、手稿和私人信件、各种复杂的符号公式、外文(英文之外的字母,例如法文、德文、意文、希腊文、俄文等)、目录、参考文献、索引和脚注等。它使得出版快速,并生成质量很高的科技作品以交流科技信息。另外,一些出版部门直接接受写在磁盘上的文章,然后进行激光照排,以缩短文章的发表周期。例如国内的《计算数学》和《应用数学学报》等众多杂志,都要求作者提供LaTeX源文件。特别要注意的时当作者向国外出版社投稿时,需按出版社的要求使用LaTeX软件排版。这是由于使用LaTeX可以很轻松地完成高质量科技文献的排版工作,并且可以按照作者的要求进行扩充和修改, 所以逐渐引起出版界和各国科技工作者的注意,被一致认为是目前国际上排版数学公式能力最强的系统,并且在各种国际会议上被指定为标准的论文编排软件。[next]

  LaTeX系统

  计算机技术的不断进步推动了各行各业的飞速发展,使许多行业出现了革命性的变化,传统的印刷出版业也逐渐告别了铅与火的时代,开始普遍采用计算机排版系统。目前,大大小小的排版系统非常多,并且都有其自身特点和适用范围,例如PageMaker比较适合于专业的出版社,而普通用户在编排要求不高的稿件时使用Word、WPS等也不失为合适的选择。但如果要用Word这类所见即所得(WYSIWYG)软件编排学术论文或者科技文献,那么一旦遇到复杂的数学公式和特殊字符,即便使出浑身解术,其结果也难以令人十分满意。虽然Linux下的OpenOffice、KWord等字处理软件虽然在功能上与Microsoft Word类似,但目前在易用性和可用性方面仍然存在许多不足,直接使用它们来生成高质量的文档显然还不太现实。在这种场合下使用LaTeX则是一个不错的选择,它是一种使用方便、价格低廉的专业级排版系统,在编排论文、报告和书籍时,其输出质量并不比价格昂贵的大型计算机专业排版系统逊色,并且在某些方面(如数学公式的编排)仍然是目前排版质量最好的系统。

  LaTex系统的发展过程

  何谓 LaTeX?一种排版用标识语言而已,由L.B.Lamport对D.E.Knuth发明的TEX作了外层宏包装,最初的用途是数学论文排版(Knuth著)。就其精神实质而言,LaTeX和XML相近,它所描述的是元素的属性而不是格式化信息。其经历了这么一个过程:    

LaTeX排版系统

  其中,由于TeX的源代码是公开的,所以在此基础上发展出了许多版本Plain TeX、SliTeX、PiCTeX、Eplain、BibTeX、AmsTeX、AmsLaTeX、lillipop等。

  Plain Tex虽然比原始的TeX更加方便,但其重点还只放在如何排版的层次上,在排版复杂公式时仍然需要大量命令,并且在挖掘它的深层功能时往往需要相当丰富的排版和编程技巧。好在TeX系统提供了非常强大的宏定义功能,因此很多人开始在TeX之上进行二次开发,产生了一些TeX系统的衍生版本,其中最著名的是由美国数学会(AMS)组织人员开发的AMS-TeX和美国计算机学家Leslie Lamport在二十世纪八十年代初开发的LaTeX,其中前者适合于排版复杂的数学公式,而后者则适合于排版普通文章和书籍。LaTeX提供了一整套生成复杂文档所需的高级命令,这样即使作者没有掌握复杂的排版和程序设计知识,也可以充分利用TeX系统提供的强大功能,轻轻松松地完成标题、章节、表格、目录、索引、公式、图表等的编排。

  随着LaTeX的逐渐普及,它在许多原本没有想到的领域中得到了扩展,为了建立一个统一的标准,Leslie Lamport、Frank Mittelbach、Chris Rowley和Rainer在1989年开始了名为LaTeX3的项目,旨在建立一个最优的命令集合。该项目的第一个里程碑是在1994年发布的LaTeX2e,它是LaTeX3出现之前的现行标准版本。而且到现在LaTeX的正式使用还不到20年,而TeX也只不过是刚20年多些。以下为TeX与LaTeX的比较:

LaTeX排版系统

  LaTeX与Word的差别

  在谈到文字处理和排版时,相信很多人马上就会想到Micro-soft Word,似乎Microsoft Office已经成了文字处理和排版软件的代名词,很多人已经习惯了Word的排版方式了。习惯使用Word的人在初次接触LaTeX时往往会很不习惯,如打开LaTeX后即不能选择字体的式样和大小,也不能用TAB键来对齐文本,连想要插入空格将文字摆到自己喜欢的位置都不可能。其实LaTeX,和MS Word的设计哲学就存在着根本的差别, Word讲究的是所What You Mean),在LaTeX的屏幕上看到的根本就不是真正的输出结果,只是大致的文章结构。用Word写文章时, 你要花很大精力在文章的版式,字体的大小,字形选择等琐碎的事情中, 而用LaTeX排版时你可以将注意力集中到写文章上,只需用鼠标拉一拉点一点,告诉LaTeX这行属于标题(Title),这段属于正文(Standard)等环境就可以了,其他如版面格式,字体字形等排版工作你大可不必费心,这些繁杂的工作完全由LaTeX程序来完成。

  这就是LaTeX和Word的最大不同。事实上想写一篇规规矩矩的文章,大可不必花费太多的时间和精力在排版的细节上,而LaTeX正好符合这样的要求。而用Word写一篇文章时往往要花费很多的时间和精力在对齐,字形字体大小,行距字距等排版的细节上,特别在处理长文件时,稍有不慎就可能会出现章节编号, 标题字体及格式不统一的现象。LaTeX的这些特色特别适合于较长或格式固定的文章,如学术论文和书籍排版。虽然在学习和使用上虽然不如“所见即所得”的容易和方便,但也有着其它排版软件不可替代的优点。以下为英文说明: The main difference between custom WYSIWYG word processing software (Microsoft Windows) and LaTeX is the strict separation of the look of a document and its content. In LaTeX the author provides a logical structure and the look is determined by a (predefined) style.英文优缺点对比如下表所示:

LaTeX排版系统

  [next]latex排版的主要特点

  1.国际权威学术机构制定排版格式

  国际上许多权威学术机构都将LaTeX排版格式作为标准的文档格式。各种数学刊物、国际数学会议上被定为标准的论文投稿、编排软件,列入著名的国际数学刊物《Journal of Group Theory》(《群论杂志》)就将LaTeX文件定为标准论文投稿格式,美国数学协会(AMS)甚至将它所有的会刊论文格式都定为LaTeX。

  2.符号公式随心所欲

  Knuth 设计了另一个软件METAFONT,用来生成各种文虎字体,在标准的TeX软件包中有75种不同设计尺寸的字体,而且美中字体有八种不同的放缩比例。

  3.文档易于网上传输

  LaTeX文档采用一种文本解释方式来表示文档的开始、结束和符号,而且文件在文档中只包含ASCII扩展字符集前128位,文档输入文件同其他系统的文件相比尺寸较小,非常有利于在Internet上通过电子邮件传输。

  4.支持多种操作系统平台

  Word迄今为止也只能在Microsoft的Windows系列操作系统上运行。但随着台式机性能的飞速提高,在PC上使用unix或其他操作系统的用户越来越多,而LaTeX排版系统可以让你轻松跨越这道操作系统屏障。

  5.易于转换成PostScript或pdf文档

  LaTeX排版时在文档中可以插入PostScript 的eps格式的图像,同时系统生等的dvi文件很容易转换成PostScript的ps格式或Acrobat的pdf格式。

  6.便于扩充并形成个性化的排版环境

  LaTeX本身随产品发布了许多可选的包文件,而且用户自己也可以开发排版功能,自己书写宏包文件。

  总而言之,LaTeX的优点概括下来主要有这些:排版方便、效果好、容易获得、辅助编辑器多、跨平台。

  源文档的组成元素

  任何LaTeX输入文件都是纯文本文件,根据对排版结果的影响,其内容可以分为注释、空白符、LaTeX命令和文档文本。下为它们的作用:

  1.注释:不影响结果但可以提高输入文件的可读性。
  2.空白符:控文档排版时的间隔情况,影响的结果根据上 下文环境会有所不同。
  3.LaTeX命令:最重要的组成部分,可以完成诸如版面设置、模式切换、公式符号输出等各种功能。
  4.文档文本:少量的纯文字内容,大量的文档内容都作为 某个命令的参数形式出现。

  中文LaTeX环境CJK的安装

  LaTeX 功能十分强大,但以前处理中文有问题。后来中科院科学工程研究所的张林波研究员成功地开发出了 CCT 系统,在国内广泛应用。随着 Windows 技术的普及,采用 CCT 也有不便之处,所以现在普遍广泛使用 MikTeX 与 CJK 的结合。

  CJK是Werner Lamberg的杰作,是中文(Chinese),日文(Japanese)和韩文(Korean)三国文字的缩写。事实上,CJK能够支持在LaTeX中使用包括中文、日文、韩文在内的多种亚洲双字节文字。 CJK是LaTeX2e的一个宏包,可以用LaTeX输出标准的dvi文件,可以在任何DVI Viewer中预览和打印,无需象CCT那样要用patchdvi进行处理,而且可以使用TeX和LaTeX的新功能,如用pdfTeX, pdfLaTeX生成pdf文件,以及用LaTeX2html生成html文件等。

  需准备必要的软件包

  LaTeX已经是linux版本中的基本部分了,无论你手边的是哪一个Linux版本,你都可以在它的安装光盘上找到LaTeX的安装包,目前在Linux下使用最普遍的LaTeX软件为TeTeX,但大部分不支持中文的使用。所以要使用中文LyX必须首先安装LaTeX的中文支持。在Linux下目前使用较多的是CJK(中、日、韩)环境。

  LaTeX的排版流程

  在使用LaTeX进行排版时,从输入文本到最后在打印机上得到输出结果,通常需要经过如图1所示的几个步骤:

LaTeX排版系统

图1 LaTeX排版流程

    1.编辑
    用编辑器编写文稿(源文件),同时插入排版命令。

    2.编译
    生成的 LaTeX源文件中如果没有语法错误,那么就可以使用LaTeX命令进行编译,生成DVI文件:[xiaowp@xpcdev latex]$ latex hello.tex

  3.查看
  在正式打印输出或者照排制版之前,可以先在计算机屏幕上显示DVI文件,察看文件内容或者排版结果是否合乎要求,如果有不满意之外,则应重新对LaTeX源文件进行修改。

  4.打印
  DVI元文件中的信息最终要被转化成可以在特定打印机上输出的形式,该过程是由一个称为打印驱动程序来完成的,它是与具体打印机相关的。例如,在Linux下可以用下面的命令将hello.dvi送到惠普激光打印机上打印: [xiaowp@xpcdev latex]$ dvihp hello.dvi

  5.输出
  在很多场合下,使用latex得到的DVI文件并不总是需要打印出来,而是要转化成更加便于阅读的格式,如PDF(Portable Document Format)或者PS(PostScript)。要将hello.dvi转化成hello.pdf和hello.ps,可以分别使用如下的命令:
[xiaowp@xpcdev latex]$ dvipdf hello.dvi
[xiaowp@xpcdev latex]$ dvips hello.dvi -o

  排版后的结果在Linux下可以用xdvi查看。

  小结

  LaTeX 是一个在学术界享有盛名的专业级排版软件,特别适合于科技论文和书籍的编排,它使得作者能够专注于写作的内容,而不是拘泥在每个字应该如何显示等具体细节,此外在排版复杂的数学公式时,至今还没有任何软件可以与 LaTeX 匹敌。LaTeX和Linux一样属于自由软件,借助于LaTeX这一专业的排版系统,在Linux下完全可以生成比Word等字处理软件具有更高质量的文档。

[时间:2009-09-07  来源:必胜网]

黄品青微站