2011年2月13日星期日

latex study

http://www.madio.net/home-space-uid-20-do-blog-id-5047.html

latex


LaTeX是著名的论文排版软件。它作为论文排版的事实标准,从功能和排版的质量上远远超过Word等软件,而且在熟悉了以后非常好用。但LaTeX需要先学一段时间,不像Word的入门门槛那么低。所以有的同学可能觉得很难,甚至半途而废。我总结了一些LaTeX的入门知识,希望能够帮助大家更顺利地入门。



在叙述的时候,我并不追求说法的准确性。有一些问题,除了在深入分析软件结构时会苛求其准确性以外,在常规应用当中,即使有不太清晰甚至带有误解的观念,一般也不影响正常使用。所以有某些地方的叙述就有些含糊,甚至有一些不正确的说法,我也容忍下来了。以降低门槛为原则,希望等到熟悉了以后,再去从更准确的角度来探讨这些知识。



下面的内容会很长,希望读者有耐心看完。



1:LaTeX的使用方法。LaTeX和Word不同,它不是“所见即所得”的软件。对Word来说,你只需要把字打上去,然后用鼠标把版面调成你想要的样子,保存下来就可以了。但是LaTeX不同。你可以把它想象成一个源程序,源文件是按纯文本文件保存的,当然文件名的后缀一般要改成.tex。而LaTeX是一个编译器,负责把源文件编译成最后的结果。编译出来的结果一般是dvi文件,它可以轻松地转化成pdf文件或ps文件。如果觉得文章的什么地方想改动,就必须更改源文件相应的地方,然后重新编译。这和用C编程序,甚至和用Matlab编程序的工作方法是基本一样的。



2:LaTeX软件之间的关系。所谓LaTeX,其实是在排版软件TeX的基础上发展来的一个宏集。可以这样看待它的结构:最底层的排版软件就叫TeX,它的功能强大(在版面上任意安放字符的事情都能做),但由于命令太多太繁琐,并不易用。人们把一些常用的功能和版式,做成底层命令的集合。这就是LaTeX了,它的一条语句,可以等效于一系列的底层TeX命令。而用户在LaTeX这个层面上应用,当然会省事得多。



在LaTeX的基础上,还可以调用别的宏包。有一些功能,直接使用可能需要相当繁杂的命令,但调用了这些已经做好的命令集合,就可以简单地完成这些功能了。在LaTeX源文件里开始一般会有几行\usepackage,这和C里的#include是一个道理(不过C语言里include的东西恰恰不能叫宏,这个名词弄混了会惹麻烦的)。



TeX的主要语言是英语,其他语言的字符在TeX里没法直接处理,需要一个预处理的步骤。预处理中文的有CJK、CCT、TY(天元)等工具。它们都不作为一个独立运行的软件出现,而是作为一个组件,在启动LaTeX的时候配合使用。XeTeX是一个从TeX改进而来的软件,其区别是可以直接处理Unicode字符。也就是把各种语言的文字和符号(只要是在Unicode里包含的)一视同仁地处理。这要方便许多。XeLaTeX当然就是在XeTeX基础上的LaTeX了。



用纯文本编辑器编写源文件,再用LaTeX编译,流程虽清晰,但并不便捷。正如C语言一样,比较流行的是“整体套装”的开发环境,不仅可以查看和编辑,而且想编译的时候点击编译按钮就可以了。在Windows上比较流行CTeX。当然,一个完整套装包括核心的TeX,LaTeX,现在也有了XeTeX,一个文本编辑器,一个dvi文件查看器,生成pdf文件的工具,生成ps文件的工具以及另外一些辅助工具等,以及绝大多数有名有姓的宏包,加起来肯定会相当巨大。



在Mac OS X上,最流行的套装当属MacTeX。里面自带的文本编辑器是TeXShop,还包括LaTeXit等别处不多见的软件,非常好用。在Linux下,TeXlive是很流行的选择(我没用过,恕不能详细介绍)。其实MacTeX也是基于TeXlive做的,不过我们暂时不探讨它们之间的复杂关系。



当然上面介绍的都是功能全面的套装,还有一些体积较小的套装,轻便灵活,也可能非常好用。


没有评论:

发表评论