LaTeX 第一课:准备就绪

阅读 301
收藏 10
2017-10-10
原文链接:zhuanlan.zhihu.com
本文同时发于公众号:两个少年的奇幻漂流(ID: Amazing_Adventure)。

本文是蒋先生的 LaTeX 入门介绍的第一篇。主要内容有:

  • 为什么要使用 LaTeX ?

  • 你适合使用 LaTeX 吗?

  • LaTeX 小史

  • LaTeX 的工作原理

  • LaTeX 的安装

  • 第一个文档

本文适合完全没有接触过 LaTeX 的小白,里面也有一些有趣的故事!

=================================================

为什么要使用 LaTeX ?

高二那年,数学竞赛课上,来了一个年轻的老师。他打开了他给我们带来的习题,投影在大屏幕上。起初我们并不以为意,直到我们发现了其中有个地方打错了字。

“噢我改一下……” 他打开了另外一个中英夹杂的文档,在里面改了几个字,然后点了一个键,打开了 Windows 的控制台。上面产生了大量的输出,几秒钟后,习题文档跳了出来,原来的错字已经改好了。

帅呆了。

课间的时候我们端详了老师电脑上的文档,发现那不是我们常用的 Microsoft Word,而是一个 PDF 文件。其中的数学公式非常漂亮,让我对这个新的工具非常好奇。老师说,这个东西叫 LaTeX。

我回家立刻到处搜索到处找资料,给自己的电脑上装了个 LaTeX。然后我看了一些资料,就排版出了一个漂亮的公式。原来扮酷并没有那么难。

之前我们在写实验报告的时候(心理系的应该都知道这个痛),我们都是从 Google scholar 上面找到要引用的文献,点击一下“引用”,然后把 APA 格式的拷贝下来,粘贴到论文的最后。注意最后的参考文献列表要记得按字母顺序排列噢,别忘了同一作者同一年份的文章别忘了加abc,它们之间也要按字母顺序排列。引用的时候,还要注意别把作者的名字写错了,姓当成名这种错误我觉得中国学生还是很容易犯的。年份也别忘了核对一下。我从一开始就知道这样做肯定是不对的,要是真的有百八十篇参考文献那怎么办?别人要写书的,百八十页参考文献怎么办?那时苦于我自己真的只会使用 MS Word,我也不得不这样做。那个学期我花了很多时间来研究如何使用 LaTeX 来自动生成参考文献,终于我现在写综述的时候不用担心参考文献的问题了。我可以在 LaTeX 最开始设计的哲学之下专心地写文稿,一边写一边引用别人的成果,然后个“make”就可以拿到我要的东西。我相信这个技能以后能帮我省下不少的时间。(当然后来我也知道了有种叫 EndNote 的东西,不过那时用 LaTeX 已经轻车熟路了)

说了这么多,其实想表达的 LaTeX 的巨大优势就是自动化。这就是工具的力量,机械的工作都应该交给计算机,它们生来就是为人类完成这些任务的。它们极少出错,也不会喊累,还特别快。另外,它免费开源、全平台可用、占用资源少、社区庞大、文档全面,还有许多其他优点,大家在学习的过程中会慢慢感受到的。

所以为什么要用 LaTeX 呢?因为方便啊。我们专心写东西就行了,排版的问题,就交给它吧。

=================================================

你适合使用 LaTeX 吗?

LaTeX 与 Word 的圣战从来没有停止过。LaTeX 和 Word 各有各的优势,也各有各的缺点,说谁更好其实没有任何意义。对不同的人群来说,只要选择自己合适的工具就好。

LaTeX 主要面向的用户是科研工作者,或者需要高质量学术排版的用户。但是不得不承认,它其实并不是一个好学的东西。我们只有通过刻苦的钻研才能用它排版出自己心仪的作品。它并不像 Word,打开打字就能用,排版效果也无法直接显示在面前,所以学习的成本还是挺高的。我在大二的时候为了满足课程作业的需求折腾了半年才在期末排版出了漂亮的作业,但是最后看到我的成果时我还是非常满足的。因此学习和使用 LaTeX 需要一定的毅力去学习,就像学习任何其他的东西一样。

LaTeX 虽然是一个优秀的排版工具,但是它的图文混排能力并不强。如果你是希望排版画册、杂志等出版物,我想 LaTeX 并不是你需要的,你应该去看看 Adobe Indesign。但是排版学术论文(尤其是有很多参考文献和交叉引用的)和简历还是非常给力的。天一在简单学习了一个小时之后就排版出了非常漂亮的简历,又学习了一个小时之后就自己排版了课程论文,还得到了老师的好评。

LaTeX 小史

学数学或者学计算机的人都知道一个人,就是高德纳 (Donald E. Knuth)。他在而立之年就写下了巨著《计算机程序设计艺术 (The Art of Computer Programming, TAOCP)》的前三卷,并凭借它成为历史上最年轻的图灵奖获得者。当这部书交付印刷后给他看时,他说:“我不知道怎么办。我花了整整 15 年写这些书,可要是这么难看,我就 再也不写了。我怎么能对这样的作品引以为豪呢?” 于是20世纪70年代他就放下了 TAOCP 的写作,用十年的时间写出了 LaTeX 的前身:TeX。同时发布的还有他为 TeX 写的说明书《The TeXBook》。TeX 的版本号从3开始,每次更新都会按照圆周率\pi的小数顺序向后加一位,比如3,3.1,3.14,3.141……目前我使用的 TeX 版本是3.14159265。

这一系统推出之后对出版业影响巨大。TeX 的核心思想就是源自中国的活字印刷术,使用一系列命令来在纸上的不同位置放下不同的文字,这样完成排版工作。但是最初的 TeX 和手动排版没有太大的本质差别,使用起来还是有些不方便。于是在80年代,美国计算机科学家莱斯利·兰伯特 (Leslie Lamport) 在原来 TeX 的基础上加上了许多功能,使得它变得更加易用。大家在 TeX 的前面加上了兰伯特姓氏的前两个字母,就成为了LaTeX。LaTeX 目前的版本是2ε,表示比2大但是比3小,一般也写作 LaTeX2e。莱斯利·兰伯特也在2014年获得2013年度图灵奖。当时的国际计算机学会 (Association of Computer Machinery, ACM) 和美国数学学会 (American Mathematical Society, AMS) 都采用了这一排版系统,直到今天它仍然是学术排版的不二工具。许多学术期刊都提供 LaTeX 模板,并只接收 TeX 源文件投稿。

由于 LaTeX 是公开源代码的软件,整个业界都在为之贡献。大家写出了很多功能各异的宏包来实现各种各样的功能。比如 AMS 官方开发了 amsmath 系列宏包,提供数学排版标准和相应的符号支持;甚至还有专门排版乐谱、化学式、棋谱的宏包。庞大的社区使得 LaTeX 的功能越来越丰富,也让它变得越来越强大。

对了还要提到一点,LaTeX 中的L、T、X应该大写,a和e应该小写,这是一个传统。LaTeX 的标志中本来都是大写的字母,但为了体现它是一个排版软件的名字,A和E分别上升、下降了一些,于是在例如微信等普通排版过程中,都用小写来标记这两个字母,请大家在表达时务必注意。TeX 这个名字来源于英文单词 technology 的希腊文词根τεχ,依原文读作“泰克”,而 LaTeX 则读作“拉泰克”。

=================================================

LaTeX 的工作原理

说了这么多,LaTeX 到底是个什么东西呢?下面我们就来回答这个问题。

LaTeX 是一个排版系统,它是一个引擎。它以文本作为输入,以排版好的文档作为输出。这就像很久以前还没有电脑时候的出版社一样,你把写好的手稿给出版社,出版社帮你出版成书。真正重要的是你写的内容,至于用什么笔、什么纸,都无所谓。所以纯净的 LaTeX 只是一个引擎,它将一个.tex源文件作为输入,把成品文档作为输出。我们写作时其实是在编辑这个.tex源文件。源文件其实只是一个纯文本文件,你可以用任何一种文本编辑器(比如 Windows 下的记事本)来写作。但是由于用 LaTeX 写作不是“所见即所得”的,源文件中会有许多排版命令和标记(类似 HTML),因此方便起见,大家开发了一些专门用于编辑 .tex 文件的编辑器,比如我使用的 Texpad。初学者我推荐 TeXworks (Windows / Linux) 和 TeXShop (macOS),在自己有了一定的编辑习惯和定制编辑器的能力之后,可以再换别的编辑器。不过编辑器从来都没有最好的,挑一个趁手的用就行了。

由于一些历史原因,比如打印设备的进步,LaTeX 发行版中带有多个引擎。目前比较常用的引擎是 XeLaTeX,因为它能够兼容的字符集更全面,尤其是在处理东亚文字方面支持得更好。关于字符集和字体的问题我会在后面找机会和大家详细介绍,现在知道这个就好了。所以整个文档的写作过程可以表达为:

-(编写)-> .tex文件 -(输入)-> XeLaTeX -(输出)-> PDF文档 -->发布

这也是我们编写文档的全部过程。

=================================================

LaTeX 的安装

安装 LaTeX 并不是一件难事,只要选择合适的发行版就行了。LaTeX 相关的全部资源都在 CTAN (Comprehensive TeX Archive Network) 上,可以登录世界各地的镜像网站看到相关的资源。不过需要手动获取资源的情况其实不多,这里只是作一个介绍。

  • Windows 平台上比较常用的是 CTeX 套装,其中自带的编辑器有 WinEdt 和 TeXWorks。安装非常简单,只要下载安装包(应该是 2 GB 左右)之后点开按提示操作即可,全程傻瓜操作。

  • Linux 平台可用 TeX Live,建议不要用 apt-get 或者 yum 直接安装,据说那样安装出来的版本是残废的(我没有试过)。最好还是到 CTAN 上找到最新的版本下载安装。

  • macOS/OS X 可以用 MacTeX,和 Windows 一样可以傻瓜安装。但是安装之后可能会有中文字体的问题,需要手动修改一下配置文件来把中文字体对应上,否则会出现只有西文字符没有中文的情况。这个问题不知道在 2016 版本中有没有解决,不过在网上都有成熟的解决方案。只要用“MacTeX 中文字体”作为关键字搜索基本都能找到相关的帮助。

=================================================

第一个文档

安装好 LaTeX 的你是不是着急想要开始排版第一个文档了呢?这里我把制作题图的 LaTeX 源文件贴在下面,大家可以按照这个文档写一个 hello.tex,然后自己排版试试看。没有调好中文字体的朋友们也可以尝试,因为这里并没有汉字出现。

打完了之后用 XeLaTeX 作为引擎排版,然后新鲜出炉的 PDF 文档就会展现在眼前啦!是不是很有成就感!

下期预告:下期我们将对简单文档中的一些基本命令和一些最基本的排版方式作介绍,包括文档的结构化、字体的样式、特殊符号的输出等。有兴趣的同学们请继续关注噢!

欢迎关注我们的公众号:两个少年的奇幻漂流(ID: Amazing_Adventure)

weixin.qq.com/r/rzlIUCT (二维码自动识别)

评论