01LaTeX学习系列之---TeX的介绍与认识

Posted zyg123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01LaTeX学习系列之---TeX的介绍与认识相关的知识,希望对你有一定的参考价值。

01TeX的介绍与认识

目录

本系列是有关LaTeX的学习系列,共计19篇,本章节是第1篇。
前一篇:无
后一篇:02LaTeX学习系列之---TeX环境的搭建
总目录:19LaTeX学习系列之---LaTeX的总结

前言

今天我们来介绍一个专业的写论文的计算机语言TeX,

一.请允许我说一下学习TeX的动机:

  1. 为本学期准备参加的数学建模比赛,做好一手专业的文档。

  2. 未毕业论文做一下排版的准备,毕竟TeX比较专业,至于为什么不用word,请看下面。

  3. 为以后科研方面写文章,还是工作的需要,做好文章的排版的准备。

  4. 就是对美学的追求。

二.我们简单的介绍一下TeX的主要功能

  1. 排版的利器

  2. 打数学公式的利器

  3. 写论文的利器

三.下面的推荐几个快速能够认识TeX的网站,有兴趣学习的同学,可以参考一下。

我自认为,需要对Tex有一个大概的认识是很有必要的。

(一)TeX 的宣传

参考网站

下面是该参考网站的部分内容,本人做了一些排版修改,可到原文参考更全面的介绍

TeX — Beauty and Fun

这里是一个宣传 TeX — 世界上最漂亮,最有趣,最可靠的排版程序的网页。希望通过我的介绍,你能体会到使用 TeX 的快乐感觉,并且成为一个 TeX 的用户和支持者。由于中国 TeX 的普及率还很低,我们必须适当宣传。如果你也情不自禁爱上了 TeX,你希望更多的人从中受益,那么把 TeX介绍给你的朋友们吧。
不管你怎么到了这里,或者是写论文时被 Word 繁琐的功能弄晕了,想看看这个新鲜东西能否消除你的烦恼?或者你是久闻 TeX 大名,但是不知道这到底是怎么回事?或者你不知道 LaTeX 和 TeX, MikTeX, teTeX 有什么关系?或者你是被我的“公益广告”拉过来的……这一页都是非常有意思的 :)
这页分成了很多小主题,可以叫做一个非技术性的 FAQ. 里面藏着我收集的很多有趣的有关 TeX 的言论,你可以挑你喜欢的看。

1. TeX 是什么?

TeX 是一个排版系统。用 TeX,你可以把你的文章做成书那种效果。你可以把它打印出来,或者送到出版社投稿。TeX 非常适合写各种学术论文,书籍,幻灯片。“TeX 不是一个用来制造比较漂亮的书籍的程序,而是用来制造最美的书籍的程序。”

2. TeX 是哪家公司生产的?

TeX 不是一家公司生产的,它主要是由计算机科学家 D.E.Knuth 设计并实现的。在 TeX 的诞生过程中,还包含了千千万万 TeX 用户的建议和要求。TeX 使用的字体包含了许许多多书法家,字体设计家的功劳,其中包括著名的 Hermann Zapf,其实 Knuth 自己也是一个字体设计艺术家。TeX 的宏包,字体,…… 成千上万,是由各个领域的的专家按照自己专业的需要设计的。所以 TeX 是全世界科学家和艺术家集体智慧的结晶。

3. 我们今天主角的名字怎么念啊?"Tecks"?

看看上面右边那位,它就是 TeX。TeX 的名字是由大写的希腊字母技术图片 组成。在希腊语中这个词的意思是“科技”和“艺术”,这也解释了它的发音。“T”和“E”就像在“technology”中的发音一样,而“X”的发音类似于苏格兰语单词“loch”或德语单词“ach”中的“ch”,也类似于西班牙语中的“j”或俄语中的“kh”。当你对着电脑屏幕读这个单词,你的屏幕就会起雾。

4. LaTeX 怎么发音?

LaTeX 读作:“雷TeX”。嘿嘿。

5. 排版 Word 也可以啊!TeX 跟 Word, WordPerfect 有什么不一样?

Word 和 WordPerfect 是“字处理程序”(word processor),它们是“所见即所得(WYSIWYG)”的,你直接修改字体,颜色,用鼠标画出表格…… 马上就可以看到效果。屏幕上显示出来是什么效果,印出来……基本上就是那个效果。而 TeX 不是,你输入的都是文本文件,需要一个程序(当然就是tex了)处理之后才能得到一个排版后的结果。

6. 那样的话 TeX 还不如 Word 呢!

你认为 WYSIWYG 很好吗?其实还有更好的,TeX 是 "WYTIWYG(所想即所得)"。用 TeX 写论文的时候,你根本不用想着“这个单词使用什么字体呢?”,“这行应该缩进多少呢?”,……这类问题。你能够专注于你的思路,你的作品的逻辑关系,这样才能更好的为你的读者着想,写出比用WYSIWYG更好的作品。用TeX写文章,你想的是“这一段是否应该属于上一节呢?”,“这句话跟我这章的主题符合吗?”,“是否应该开始新的一章呢?”……
你告诉 TeX 的是:“这是一章开始”,“这个单词应该强调”,“这里是一段诗”……而不是告诉它:“这是第3章,应该用黑体三号字,开头有一个‘双S’,……”,“这个单词用斜体楷体小四”,“左右缩进各一英寸,右边不要对齐,换用小一号花体”……
在用 TeX 的时候,TeX 是你的排字工,你是诗人,作家…… 而用字处理程序的时候,你既当作者又当排字工,累不累?
其实你也知道,再好的字处理程序打印出来的效果也跟屏幕上看到的大不一样,而 TeX 生成的 dvi 文件在屏幕上看到是什么样,打印出来绝对就是那个样子,每一个字符的每一笔每一划,……都是一模一样。在某种程度上,TeX 才是“所见即所得”。

7. TeX,几十年前的东西了,又不更新,早过时了吧?

TeX 确实已经很老了,它在 1982 年以后基本就没有变化过。但是你相信世界上有如此完美的程序吗?它几乎没有bug, 而且你可以在几乎任何计算机上使用它,从PC机到Cray巨型机。经过几十年的风霜,它仍然是文档排版界的 "No.1", "state-of-the-art".它的王牌地位明显还将在21世纪继续保持!
TeX 的版本自从1995年3月就保持在 3.14159 没有变化,最近才变成了 3.141592。这说明什么呢?这说明它已经趋于完美。你应该改变所有软件都必需从 0.1, 1.0, 1.1, 1.2, 2.0, ..., 3.0, 3.1, 95, 98, 2000, XP, ... 不断升级的想法。
TeX 是如此的稳定,几十年前的文档在现在输出效果不会有任何变化,你学习的TeX语法有永远不过时的保证。
虽然TeX程序和语言本身没有再变化,但是TeX是可以在不修改主体的情况下扩展的。TeX的扩展性使得它成为最先支持PDF的系统之一,你可以参考ConTeXt 专栏。基于TeX的各种格式,应用风起云涌,百花齐放。TeX 现在还是 SGML, XML 的后端主力。
虽然你几十年前的文档不加修改是不会变化的,但是你可以任意的选择采用新式的办法处理你的文档。当新的宏包产生的时候,你只要改几个字就可以使你的“古籍”具有当今最流行的效果。比如转化成一个带有超级链接和bookmark的PDF文件!

8. 你不应该随便用形容词的最高级来形容一个东西,我听你说了“最漂亮”,“最美”,甚至“完美”!

通常我们不应该乱用最高级,但是在这种情况下,我可以使用“最漂亮”,“最美”,甚至“完美”来形容 TeX,因为还没有其它程序能够处理如此复杂的内容,得到的效果能够与 TeX 比美!这些问题太复杂,以至于 Microsoft,Quark,甚至 Adobe 都不感兴趣。TeX 是如此不可一世,以至于 TeX 经常成为“宗教战争”的起因。
长江后浪推前浪,将来一定会出现超过 TeX 的程序。它们从 TeX 身上应该能学到很多东西。即使有一天 TeX 不再是最好,但是它的影子还是会在其它程序身上出现。

9. 你这么关心文档的外表干什么?重要的是内容!

正确。重要的是内容。但是如果你编辑你的大作的时候还想着字体该用什么,行间距该多大,…… 你的内容质量是否会受到影响呢?TeX 使你专心于内容,这正符合你的一贯思想啊!而且顺便你就得到了世界一流的美观效果,何乐而不为?
知之者不如好之者,好之者不如乐之者。
Beautiful presentations can greatly deepen our perception of difficult concepts.
看到漂亮的公式,均称的排版,优雅的字体,你体会到美的旋律,行云流水,一气呵成…… 即使最难的概念也会轻松的印到你的大脑里,持久不变!

(二)TeX的基本概念

参考网站

https://www.zhihu.com/question/55137880/answer/539242148

新手学习TeX,推荐用什么编译器,是LaTeX还是CTeX?或者说别的什么?

十秒版本:

  1. 安装 TeX Live:TeX Live 下载及安装说明

  2. 开始菜单中找到随附 TeX Live 安装的 TeXworks,打开。这是一个「TeX 编辑器」。

  3. 阅读入门教程:一份其实很短的 LaTeX 入门文档

1.引擎

与通常用的编程语言的编译器相对应——如 C++ 的 gcc/icc/cl、Java 的 javac——TeX 的「编译器」的真名叫做「TeX 引擎」。TeX 引擎大概有如下一些选择:

  • Knuth TeX

  • e-TeX

  • pdfTeX

  • LuaTeX

  • XeTeX

  • pTeX

  • upTeX

  • e-upTeX

  • pTeX-ng

其中,Knuth TeX 是高德纳的原版 TeX,现在你基本已经找不到它了。

e-TeX 是目前事实上的「标准」TeX。尽管它名字中的「e」表示的是「extended」。几乎所有的后续的 TeX 编译器都是在 e-TeX 基础上开发的。

pdfTeX 是西文世界最常用的 TeX 编译器。通常来说,西文期刊的模板,用 pdfTeX 作为编译器编译不会错。

LuaTeX 则是作为 pdfTeX 正统后继者出现的。它给 TeX 加入了 Lua 脚本的支持,同时原生支持 Unicode。它可以通过 Lua 回调加入编译器级别的 CJK 字符支持;虽然这样子处理,编译起来效率很低速度很慢。

XeTeX 是 e-TeX 的另一个分支扩展。它也原生支持 Unicode,并且和 LuaTeX 一样,支持直接调用系统里的字体。目前推荐的中文支持办法,是在 XeTeX 引擎上,使用宏的方式解决的。(xeCJK宏包)

pTeX 及后续的 TeX 引擎,我们习惯称之为「pTeX 系引擎」。这里的「p」是「publish」的缩写。看得出来,pTeX 的日本作者们「野心」很大的,想要做成一个出版工业级的引擎。pTeX 系引擎里,目前用得最广泛的是 e-upTeX。它可以较好地支持 CJK 字符。不过由于是日本人开发的,所以对日语支持是最好的。用来撰写中文文档,跟我们的习惯有些出入,需要有丰富的经验才能驾驭。pTeX-ng 则是 pTeX 系引擎的新贵,它是由国人Clerk Ma 开发的引擎。其中「ng」是「next generation」的缩写。从命名来看,果然还是要「秒杀」一下我们的邻居的。pTeX-ng 已经相对成熟,不过我用得很少,故不展开。关于 pTeX 系引擎,我有翻译过一系列文章(在此)。

小结一下。Knuth TeX 是祖宗,目前已被供起来,不太会被用到。e-TeX 开创了新世纪,不过裸用 e-TeX 也很少。pdfTeX 在西文世界里被广泛使用,也很稳定。LuaTeX 是 pdfTeX 的「正统」继承者,不过编译起来慢慢慢。用 XeTeX 来支持中文比较成熟,在中文世界里被推荐使用。pTeX 系引擎源自日本,感兴趣的可以玩一玩。

2. 格式

TeX 是一个「宏语言」。当你制作了一些特别基础的宏,那么你可以将其发布为一个「格式」(format)。建立在 TeX 之上,有常用的格式:

  • plain TeX:这是 Knuth 搞出来的格式,最为基础。

  • LaTeX:这是兰伯特搞出来的格式,使用最为广泛。

  • ConTeXt:这也是一个格式。不过我基本没用过。

你在某个格式之上写作文档(manuscript)时,你需要先告诉 TeX 引擎你要载入哪个格式。因为格式使用得太频繁了,所以人们倾向于把格式和引擎打包在一起。这样,就不用每次都告诉 TeX 引擎这件事情了。以 LaTeX 为例,将它与上述引擎打包在一起之后,我们有了:

  • e-TeX -> LaTeX

  • pdfTeX -> pdfLaTeX

  • LuaTeX -> LuaLaTeX

  • XeTeX -> XeLaTeX

  • pTeX -> pLaTeX

  • upTeX -> upLaTeX

  • e-upTeX -> e-upLaTeX

  • pTeX-ng -> pLaTeX-ng

尽管真正的「编译器」应该是「TeX 引擎」这一概念。但实际上,在日常沟通中,我们说的「怎么编译」,应当指的是这些「格式与引擎相结合」的产物。

于是,再小结一下:

  • 西文文档:pdfLaTeX、XeLaTeX

  • 中文文档:XeLaTeX

  • 考古者:LaTeX

  • 好奇心者:LuaLaTeX、pLaTeX-ng

  • 好奇心爆棚者:pLaTeX、upLaTeX、e-upLaTeX

3.发行版

回到「宏」的问题上来。当你写了一些具有特定功能的宏,你会考虑将其发布为宏包(style package)或者文档类(document class)。也因此,当你想要用某些特定功能,你会倾向于去寻找宏包或者文档类,而不是自己造轮子。若是你每次寻找宏包,都要去互联网上爬文、下载、安装、调试、使用。那么多试几次,你一定会崩溃。

这引出了「TeX 发行版(distribution)」或者「TeX 系统(system)」或者「TeX 套装(suite)」的概念,表示上述所有引擎、格式、宏包,还有一些为了简便未在此处介绍的驱动、辅助工具,的集合。一般来说 TeX 发行版是用户真正需要安装的东西。也就是说,讨论「新手应该安装什么」的时候,我们实际上讨论的是「新手应该安装什么 TeX 发行版」。

  • TeX Live

  • MikTeX

  • CteX

  • maxTeX

对于任何阶段的 TeX 用户,这里都推荐安装 TeX Live 这一发行版。若你使用 macOS,则推荐安装基于 TeX Live 开发的 macTeX 这一发行版。

注意:不推荐 CTeX 发行版。没有理由,不听解释。

注意:名为 CTeX 的,除了发行版,还有一个宏集(多个宏包组成的集合)。它们不是一个东西。尽管我们不推荐 CTeX 发行版,但我们强烈推荐使用 CTeX 宏集解决中文支持和版式设定的问题

最后,对于新人:一份其实很短的 LaTeX 入门文档

选自:https://liam.page/2018/11/26/introduction-to-TeX-engine-format-and-distribution/

(三)不使用CteX套装的原因

参考网站

http://tieba.baidu.com/f?kz=2665622350&mo_device=1&ssid=0&from=844b&uid=0&[email protected],[email protected]_1001,[email protected]_2_8.0_24_70.0&bd_page_type=1&baiduid=C7A86F568A5FE01B1FEBE6D5108A8948&tj=www_normal_1_0_10_title&referer=m.baidu.com?pn=0&&red_tag=x2172213826

理由:

  1. CTeX 封装的 MikTeX 在实现 XeTeX 以及字体库的时候有一些问题,前者导致运行 XeLaTeX 异常缓慢,后者导致使用一些数学字体的时候会报错。

  2. CTeX 封装的默认编辑器 WinEdt 是闭源软件,实际上是在使用盗版软件。

  3. CTeX 封装的默认编辑器 WinEdt 修改了默认编码为 GBK, 这将在后续使用过程中产生很多问题,对初学者来说是不良的。

  4. CTeX 封装的默认编辑器 WinEdt 集成了太多的功能,并且修改了很多 LaTeX 的默认行为,对于初学者来说,这些未经通告的默认行为修改对于其对 LaTeX 的理解是不良的。

  5. CTeX 套装的 2.9.2.164 版本至今已经超过一年未更新,aloft 老大似乎也没有更新的愿望,事实上也没有必要再更新了。

  6. CTeX 由于封装 MikTeX 而只能运行于 Windows 平台。

顺带: CTeX 是因为 CJK 包的字体配置复杂,为了免去入门用户的配置成本而推出的。 而现在因为 XeTeX 引擎以及 xeCJK 宏包的出现,CJK 包已经成为过去。并且使用 zhm 可以与 CJK 结合方便地动态配置字体。因此 CTeX 曾经的优势实际上已经不成为优势,并且因其引起的各种国内期刊模板的老旧问题正不断成为阻碍中国 TeX 社区进步的恼人因素。

(四)最后小结

我们中国用户推荐使用:

发行版本: TeX Live

引擎: LaTeX

编译器:XeLaTex

编辑环境:TeXStudio

本系列是有关LaTeX的学习系列,共计19篇,本章节是第1篇。
前一篇:无
后一篇:02LaTeX学习系列之---TeX环境的搭建
总目录:19LaTeX学习系列之---LaTeX的总结

作者:Mark

日期:2019/03/02 周六

以上是关于01LaTeX学习系列之---TeX的介绍与认识的主要内容,如果未能解决你的问题,请参考以下文章

latex代码转化为数学公式

LaTeX学习01 如何安装txelive

将Latex tex文档转换成 word文档(下)

Jupyternotebook download as pdf via LaTex报错

latex学习笔记 第一章 LATEX须知

Java 集合系列07之 Stack详细介绍(源码解析)和使用示例