红联Linux门户
Linux帮助

让熟悉Linux未接触tex的能在最短时间内了制作pdf文档和幻灯片

发布时间:2007-10-23 00:54:20来源:红联作者:Nesoikps
本文的目的让熟悉GNU Linux操作系统未接触过tex的读者能在最短时间内了解如何制作出pdf文档和幻灯片。讨论的基础只涉及到最简单的”命令”和”文件”这两个概念,除去这两个概念之外或者综合的部分统一用“系统”来表示。

一、操作系统、发行版和tex套件

笔者选择的是Ubuntu Linux 7.10,texlive。

Ubuntu 是一个从Debian改进过来的Linux发行版,继承了Debian先进的包管理方式deb,apt,使用这套系统的好处就是安装卸载方便,再也不用到处找软件包了,所有的软件包都在/etc/source.list文件中指定的源的位置存放好了,社区的开发人员会精心挑选合适的软件包,你只需要简单的运行一些命令即可完成安装卸载等操作。相对于Debian来说,Ubutun的好处可能在于更为简单,适合作为个人桌面操作系统来使用。

应当说texlive本身是为多个Linux发行版设计的,用户只需下载ISO或刻录成光盘,简单的mount就能直接使用。但是笔者出于对Debian和Ubuntu的喜爱,因此只介绍这种发行版上的操作,其他发行版的上的操作不做具体介绍。

在bash环境(不熟悉命令的读者可以简单理解为类似windows的命令提示符cmd下)下运行:

apt-cache search texlive | grep texlive | more

该命令查找出包含texlive关键字所有软件包并分屏显示,读者会看到如下等一些类似的东西:

texlive - TeX Live: A decent selection of the TeX Live packages
texlive-base - TeX Live: Essential programs and files
texlive-base-bin - TeX Live: Essential binaries
texlive-bibtex-extra - TeX Live: Extra BibTeX styles
texlive-common - TeX Live: Base component
texlive-doc-base - TeX Live: Base documentation
texlive-xetex - TeX Live: XeTeX macros

这里只列举了一些,刚开始可能弄不清这么多软件包都是做什么用的,没关系,找最有可能的软件包安了再说, 之后如果使用过程这中出现问题,系统会提示你需要安装哪些软件包。 一眼看去,笔者认为"texlive - TeX Live: A decent selection of the TeX Live packages"最有可能安装后就可以使用了。于是运行如下命令安装texlive:

apt-get install texlive


二、第一个文档

三、第一个幻灯片


一些约定:

| - * 符号之间的为命令或工具,本文大部分情况下“命令”和“工具”两个词可以替换使用。

[]内为文件格式,扩展名;一个例外情况是latex文档的扩展名不是latex而是tex.

{}内可以理解为系统: {cjk}{ctex}{beamer}是宏包,{etex}则包含了etex格式以及处理etex格式的一系列工具。

各种命令/文件格式太多,其全称及意义在这里说明可能会使文章内容庞大,扰乱整个系统的概观,降低读者的阅读兴趣。会在后文中一一说明。


- - - - - - - - - - - - - - - - - - [pdf]
| | |
| | |
| | dvipdf / xdvipdfmx
| | |
| | |
| - - - - - -- - - - - - - [dvi / xdv] - dvips - [ps]
| | pdftex / xetex |
pdflatex / xelatex | |
| | | tex / xetex -no-pdf
| latex / xelatex | |
| * | |
| * {etex} - - - - [plain tex / plain xetex] - - {nts}
| *
| *
- - - - * * * * * * * * * [palin latex / plain xelatex] < - {beamer}
*
|
{cjk}
*
|
{ctex}

需要注意的是,由一种文件转换成另一种文件可能有多种方式,一种命令也可以生成多种格式。譬如:

1. 由dvi到pdf的转化可以通过运行dvipdf test.dvi也可以通过运行dvipdfmx test.dvi;
2. xetex通过加上参数可以分别生成xdv和pdf格式;
3. 运行pdflatex \pdfout0 test.tex则生成dvi而不是生成pdf。

开发人员可能对xetex生成pdf是如何复用xdvipdfmx感兴趣,进一步了解到实际中可以通过system函数/fork系统调用/excv系统调用/或直接复用做好的库函数等各种方法,不过对于一名只想用tex/latex来高效制作出精美的pdf文档/pdf幻灯片的读者,却无需了解这些。上图给出了一种笔者认为最简单常用的方式,相信可以借此理清楚各种文件之间的转换流程,使读者能第一时间制作出看得见模得着的pdf文档/pdf幻灯片。

一些解释:

1. 之前没有见过plain xetex这种说法,这里是便于理解:将palin tex加上unicode支持称为plain xetex。tex本身只支持英文,xetex则支持unicode,也就是世界上所有的语言,个人认为是比cjk更加彻底的中文解决方案。

2. etex是对tex的一些扩展,这些扩展是对tex系统的一些基本概念应不涉及到多国语言支持,同样应可以应用到xetex上去。(或许当前的xetex的系统已经包含etex扩展中的一些概念,笔者不得而知。)

3. nts据说是下一代tex系统,是用来取代tex的,目前只是有一些概念,并没有实际的系统形成。

4. beamer是用来制作幻灯片的,仅仅latex(特指latex系统/宏包)本身不能制作幻灯片。

5. cjk包为tex / latex系统增加了中日韩文支持,另有一套中文支持系统CCT似乎是不符合国际化大方向已经停止开发。

6. ctex是www.ctex.org弄的基于cjk和cct的更高层(这里“高层"与"更简便的用户接口"类似含义)一些的宏包,由于某些不知的原因,安装配置起来还是不够方便(需要了解刷新数据库等相对底层的一些东东)。xetex正处于发展中,在笔者的ubuntu机器上要完全正常运行起来还需要费一番功夫。

7. ps(postscript)格式,似乎是个用于打印的标准,一些国外的论文是ps格式的。为什么用这种格式而不用广大群众喜闻乐见的pdf格式、这种格式究竟有什么好处,或许有其很深的历史原因,笔者不得而知。)
文章评论

共有 0 条评论