您看得懂的 TeX/LaTeX 指南

圆周率,笔记 2022-06-30 829 次浏览 次点赞

美国计算机科学家唐纳德·克努特(Donald Ervin Knuth)编著关于计算机程序设计之七卷本著作《计算机程序设计艺术》(The Art of Computer Programming,TAOCP),并因此获得美国计算机协会1974年图灵奖。在进行第二卷的校样时,发觉书商把他书中的数学式子排得太难看了,因此发明数学排版系统TeX

LaTeX_logo.png

TeX是一个处理复杂数学公式的排版系统,更被视为一种专为科学和数学设计的学术界排版语言(TeX 本身是一种宏命令编程语言)。在开发 TeX 时,克努特还创造了一种新的编程方法,他称之为Literate Programming(文学编程),因为他认为程序员应该将程序视为文学作品。


TeX


从TeX第三版开始,之后的升级是在小数点后加入一个新数位,使之越来越接近圆周率π的值。TeX目前的版本是3.141592653。这显示了TeX已经十分稳定,任何的升级都十分细微,这也代表了TeX不断追求完美的理想。克努特曾表示“最后一次升级是(于我过世后)将版本数改为π,那时任何余下的漏洞将被看作程序的功能。”

基于TeX非常稳定和克努特的幽默,他悬赏奖励任何能够在TeX中发现程序漏洞的人,奖励金额从2.56美元(16进制的100美分)开始,以后每发现一个,奖金都会翻倍,直到目前的327.68美元。那么已经发现有多少个漏洞呢?

  • TeX 遵循传统的排版规则,以排版的质量为最重要的目标;
  • TeX 的源程序是用 Pascal 写成的,尽可能方便地移植到其它的操作系统中;
  • TeX 的输出是与设备无关,输出 DVI 文件可以被发送到任何输出设备;
  • TeX 支持PostScript、字体和外部图形,以及生成HTML和PDF;
  • TeX 不是所见即所得(WYSIWSG)的,需要运行 ​​TeX 以生成格式化输出(如 PDF 文件)才能看到效果。

LaTeX


最基本的TeX只有300多个命令,短小精悍却晦涩难懂。以TeX作为格式化引擎,美国计算机科学家莱斯利·兰伯特(Leslie B. Lamport,图灵奖获得者)开发了LaTeX排版系统,对TeX基于宏定义的二次开发封装,以便没有排版和程序设计知识的用户也可以充分发挥TeX提供的强大功能。LaTeX非常适用于生成高印刷质量的科技和数学、物理文档,尤其擅长于复杂表格和数学公式的排版,成为科学文献交流和出版的事实标准。

TeX名字源自technology的希腊词根​,而将兰伯特的名字和TeX混合则得到了LaTeX的名字。

至此,实际上用户仍旧难以直接使用TeX或者LaTeX,它们都不是独立的程序,而需要 TeX 发行版。LaTeX网站推荐适用于桌面端的发行版包括:

  • TeX Live(Windows,macOS,Linux),由 TUG(TeX User Group)发布的一个发行版,相当于TeX的官方版。TeX Live是开发状态最为活跃的TeX发行版,是许多Linux/Unix系统默认或推荐的TeX套装。
  • MacTeX(macOS),TeX Live 在 macOS 下的一个独立的发行版。
  • MiKTeX(Windows,macOS,Linux),德国软件工程师Christian Schenk开发的发行版。

TeX 发行版通常将工作 TeX 系统所需的所有部件捆绑在一起,并且它们通常会添加到配置和维护实用程序中。这些部件包括:

  • 引擎,将TeX代码转化为页面描述语言(PDL),如TeX;
  • 格式,在引擎的基础上,通过预定义一系列宏,来实现一种TeX编写模式和规范,如LaTeX;
  • 编辑器,为用户提供交互式编辑环境,如TeXworks;
  • 宏包,类似于其他语言的标准库;
  • 驱动,将TeX编译成文档的转换软件,如将dvi文件转化为pdf文件的dvipdf。

也就是说,如果您使用 TeX 发行版,那么它已经包含一个 LaTeX 版本。


TeX Live


下载和安装TeX Live(包含TeXworks,可选),需要较长的时间。

2022-05-25 165432.png

命令行查看TeX、LaTeX、XeLeTeX、pdfTeX的版本号,同时也是验证是否安装成功。可见TeX目前的版本是3.141592653。

2022-05-25 165851.png

包括TLShell TeX Live Manager、TeXworks editor、DVIOUT DVI viewer等组件。

2022-05-25 170146.png

使用XeLeTeX编译测试。

2022-05-25 174121.png

2022-05-25 174133.png

LaTeX的公式语法如此犀利又非常繁琐,那么可以借用一下懒人工具:在线LaTeX公式编辑器,latexlive.com或者codecogs.com

为什么许多的教程都在TeX Live后又安装一个TeXstudio呢?

实际上没有必要一定要这么做。TeXstudio是又一个TeX编辑器,用途和伴随TeX Live一起安装的TeXworks等同。如果您确实没有同步安装TeXworks,也不喜欢TeXworks,除了TeXstudio,其他如Emacs、Sublime Text、Atom、Visual Studio Code也行,这是萝卜白菜的问题。


网页TeX/LaTeX


同时,LaTeX网站还推荐了Papeeria、Overleaf、ShareLaTeX、Datazar和LaTeX base等在线 LaTeX 环境。

那么,如果只是想在网页中借助TeX/LaTeX显示数学公式呢?

MathJax 是一个跨浏览器的 JavaScript 库,它使用 MathML、TeX 和 ASCIImath 标记在 Web 浏览器中生成 HTML+CSS、SVG 或 MathML 显示数学符号,被认为是使用最广泛的“Beautiful math in all browsers”方案。

GitHub 于 2022 年 5 月 19 日宣布,支持 Markdown 里面的 LaTeX 数学公式渲染,渲染引擎是 MathJax。将表达式写成块,开始一个新行并用两个$$分隔表达式;编写内联表达式,在行内用两个$分隔表达式。

MathJax已获得众多专业期刊及数学门户的支持,但只支持用于描述数学表示法的LaTeX子集。山巅周刊第4期有谈到如何在网页上显示数学公式
👍



本文由 PeakOneTemple 整理创作,参考 知识共享署名 3.0 协议,撰写及摘编内容仅反映个人观点和立场,如果任何可能的雇主与赞助者持有相同的意见,只是巧合;基于互联网链接的腐烂率,无法持续验证外部链接的真实性和有效性,也不对可能的链接无效(linkrot)或者内容转移(Content Drift)负责。

「圆周率文化」坚持非功利写作和分享,但会有一些获利推荐,以及接受您的打赏,这都会鼓励我

如果您也希望拥有一个博客,请阅读《如何开始写博客》 ,以及《从域名到运营:开办独立网站全流程》。

了解我的全职业务,请登录THAILYCARE。欢迎就管理咨询信息化服务汽车绞盘宠物行业创意项目休闲度假等事业咨询、交流和合作。
感谢您的支持,我会持续给您山巅.一寺.一壶酒的独特视角!

「圆周率文化是个人站点,重点分享科技、商业、医学及人文资讯。

「圆周率文化得到中国汽车绞盘网的支持,深表感谢。中国汽车绞盘网业务始创于2001年,为越野车、清障车、消防车、军用车、特种车及工程应用等拖曳、救援场景提供手动绞盘、电动绞盘、液压绞盘和技术支持。