【LaTex】LaTeX介绍及环境部署

【LaTeX】\text{LaTeX介绍及环境部署}

最近用Word排版论文的时候感觉十分糟心,想起美赛的时候舍友学了大半天\text{LaTeX}就开始动手排版,于是便动了用学习\text{LaTeX}的念头。

从心血来潮,到上B乎了解LaTeX是什么,到部署LaTeX环境,到开始试着排版论文,整个过程基本大半天就能搞定,剩下的一些技术细节可以一边上网查一边用,自然也走了许多弯路。为了让自己记住一些重要的代码,也帮助读者快速入门,我会在这里把我排版第一篇论文过程中所总结的的部署方法常用代码注意事项记录下来。

  • 这篇文章主要讲 \text{LaTeX} 的背景,以及如何部署 \text{LaTeX} 环境。

  • 下一篇文章主要讲如何用一个模板排版一篇文章

这些方法不一定是最聪明的,但作为入门也未尝不可!鉴于我个人也暂时没有完全挖清楚\text{LaTeX},所以部分代码我也没读懂。先达到能用的程度,然后再边做边查边学吧😂

1 了解\text{LaTeX}

首先,你要知道 \text{LaTeX} 怎么读,按照官方文本:

And in case you were wondering, LaTeX is pronounced Lah-tech or Lay-tech, to rhyme with blech or Bertolt Brecht (almost).

百度百科也告诉我们,\text{LaTeX} 的中文名是 \text{拉泰赫} 。所以它大概率是读成:

\text{/ˈlɑːtɛx/ or /ˈleɪtɛx/}

这个问题估计困扰了很多人,虽然我也不确定一定是这么读,但是大概率是的👀

1.1 \text{TeX}家族

本节参考CSDN博客的内容。虽然内容枯燥,但我认为还是搞懂的好,不然后面的设置会一头雾水🧐

  • \text{TeX}:TeX是由著名的计算机科学家Donald E. Knuth为了编写《The Art of computer programming》而发明的一种文本编辑语言,说白了就是一门编程语言。

  • \text{PlainTeX}:TeX语言十分晦涩,Donald E. Knuth为了方便用户,自己基于最原始的TeX开发了Plain TeX。然而,Plain TeX命令依然十分难搞,用户入门依旧困难。

  • \text{LaTeX}:L. Lamport教授为了进一步方便用户使用,在Plain TeX的基础上开发了LaTeX。LaTeX将原始的TeX命令打包为许多个新的控制命令并封装成一个可执行文件。这个文件会解析LaTeX打包好的控制命令并“翻译”成TeX命令。所以,LaTeX只是一个工具,用户按照LaTeX规定的格式编写的文件最终会被翻译成TeX语言进行排版

  • \text{pdfTeX}:TeX系统生成的是.dvi格式的文件,这是一种为了排版而生的格式。虽然.dvi可以通过其他程序转换为.pdf,但毕竟不方便。为了解决这个问题,Hàn Thế Thành 博士在他的博士论文中提出了 pdfTeX。pdfTeX是对TeX的拓展,二者的主要差别是pdfTeX直接输出.pdf而TeX则输出.dvi

  • \text{pdfLaTeX}:同TeX和LaTeX的关系一样,pdfLaTeX的本质也是“翻译”LaTeX文档,只不过这次“翻译”以后的结果不是交给TeX处理了,而是交给pdfTeX处理

  • \text{XeTeX}:Donald E. Knuth教授在实现 TeX 的当初并没有考虑到中日韩等字符的处理。所以,在XeTeX出现之前,为了能让 TeX 系统排版中文,国人曾使用了天元CCTCJK宏包(后面会解释)使TeX能够“读懂”中文。现在,天元和CCT现在已经基本不用,CJK因为使用时间长且效果相对较好,现在还有人使用。目前,XeTeX 引擎直接支持 Unicode 字符:也就是说现在不使用 CJK 也能排版中日韩文的文档了,并且这种方式要比之前的方式更加优秀。

  • \text{XeLaTeX}:XeLaTeX的工作其实也是将LaTeX格式的文件进行“翻译”,并将翻译的结果交给XeTeX处理。

  • \text{LuaTeX}:现在开发还不完善,就不讨论了。

XeLaTeX极端方便,这将会是我们使用的编程环境,所以后面的所有描述都基于XeLaTeX

从上面我们也可以发现一些逻辑,“某某LaTeX”的作用是将“LaTeX”语言“翻译”更底层的语言,然后交给“某某TeX”来处理。由于“某某TeX”才是最终进行排版的,所以我们也称之为“引擎


1.2 \text{TeX}的发行版本

前面提到的各种TeX、各种LaTeX都是\text{TeX}家族的一员。然而,仅仅有他们还不足以方便用户使用。

CTeX、MiKTeX,TeX Live、MacTeX这些软件集合不仅包括了TeX家族的基础程序,还包括一些方便用户使用的文档类、编辑器、模板、字体文件、辅助程序等等。这些被统称为LaTeX/TeX的发行版本,可以类比AnacondaPython的关系。

上面各种TeX发行版本的关系可以用下图来描述:

TeX家族

1.3 编辑环境

上面提到的TeX家族本质上只是封装语言(某某LaTeX)和执行引擎(某某TeX),我们要对其进行编程,还需要编辑器编辑器只是一个“记事本”,用来记录程序代码,本身并不执行。这就跟Python是一门语言,可以用VS Code编辑是一个道理。

常见的编辑器有:WinEdtVSCodeTeXStudioTexpad(macOS)等。其中,WinEdt是CTeX中文套装中包含的编辑器,已经非常老,而且很多bug,不推荐(事实上 CTeX中文套装本身也非常老非常多bug)。

我们使用LaTeX排版时,并不能像Word一样“所见即所得”。也就是说,你在编辑器上对LaTeX代码进行修改,修改完的结果并不能马上显示出来,而需要“运行”你的代码才能够显示(其实也有一些可以帮你一边编辑代码一边自动“运行”代码给你看的编辑器,但本质是一样的)。

LaTeX运行的结果将会是一个.pdf文件(前文已经提到,我们使用的是XeLaTeX环境),所以,我们还需要一个合适的pdf阅读器。并且,我们要将为TeX系统指定一个pdf阅读器,并使得他每次运行完毕后都自动打开生成的.pdf

很烦是吧😂这就是为什么我推荐一些自带PDF显示功能的编辑器,比如TeXStudioTexpad(macOS)


1.4 宏

有时候我们在逛论坛博客的时候,会经常看到宏包软件包这些名词。这些名词看着高大上,实际上我可以一眼看穿:

“宏”实际上就是用户/社区编写的能够实现特定功能的代码集。

你可以类比pandasnumpymatplotlib之于Python。幸运的是,各类“发行版本”已经包含了绝大多数我们经常会用到的“宏”,所以用户不需要太过焦虑。


1.5 \text{TeX}的总结

在开始部署 \text{TeX}之前,我们最好总结一下“引擎、宏、编辑器、发行版”的关系,表格来自于知乎网友:

概念 解释 Python \text{LaTeX}
编译器/解析器/引擎 负责处理代码并输出结果 python.exe pdflatex/xelatex/...
宏包/软件包/宏 用户/社区编写的代码集 numpy/pandas/... amsmath/CJK/...
编辑器/IDE 用来写代码的“记事本” PyCharm/VS Code/... TeXstudio/WinEdt/...
发行版本 编译器/宏/编辑器的打包 Anaconda TeX Live/MacTeX/...

2 \text{LaTeX}环境部署

2.1 下载必要的组件

部署 \text{LaTeX} 无非就是将1.5节中表里的内容安装好。在此之前我们首先要知道:

  • 发行版本不仅包含了各类 \text{TeX}\text{LaTeX} ,还包括了我们会用到的模板。所以建议的做法是安装一个合适的发行版本

    当然你也可以手动安装各种 \text{TeX}\text{LaTeX} 然后再手动安装各种宏,但是这种反人类的事情还是不要找我罢

  • 发行版本可能会自带编辑器,比如CTeX套装包含了WinEdtMacTeX包含了TeXShop。但是这些编辑器一般都糟糕透了,所以我们需要选择另外的编辑器

  • 别忘了部分编辑器并不自带pdf阅读器,所以你还得另外搞一个pdf阅读器并将它与TeX系统连接起来

所以在逛论坛的时候你会经常看到一些网友说:

sublime+MacTex(TexLive)+Preview
Sublime Text + MacTeX +Skim

其实这里的sublime就是所谓的编辑器;MacTeX就是所谓的发行版本;Preview/Skim就是pdf阅读器

由此,我们就可以明确部署一个完整好用的 \text{LaTeX}环境 包括以下三步:

  1. 下载一个发行版本

  2. 下载一个编辑器

  3. 如果不带pdf阅读功能,那么还要选择一个pdf阅读器

我使用的是 \text{macOS Catalina 10.15.3} 系统,所以后面的步骤都会以此进行。但安装的思路大致相同,应该可以类比的。


2.2 让我们开始8

  1. 下载一个发行版本

    官网下载MacTeX\text{Windows}用户推荐使用\text{TeX Live}),如图:

    MacTeX官网

    用Safari下载MacTeX.pkg速度非常慢,建议用一些别的下载软件,比如迅雷。

    作为 \text{macOS} 用户,我们可以选择的发行版本最好是MacTeX,因为其实MacTeX就是TeX Live\text{macOS} 版,这也省去了挑来挑去的烦恼了。\text{Windows} 用户选择TeX Live就可以了。

    下载好了一路飞奔安装,最后在macOS的Launch Pad会得到这四个应用:


    MacTeX安装完毕
  2. 下载一个编辑器

    我个人使用的编辑器是Texpad for Mac\text{Windows}用户可以使用TeXstudio),它的语法补全功能很强大、自带pdf阅读器、支持一边写代码一边自动更新(其实这个功能没啥用,因为代码量大了就会很卡🙈)、支持边栏的目录导航,等等。

    大家可以看B站up的视频,他对这个app做了比较详细的描述。

    Texpad for Mac是付费软件,千万不要在App Store里买,因为好像不更新了。我们可以下载绿(po)色(jie)版:

    • 你可以在Mac金币网站充值积分购买(恰烂钱?不存在的),好处是可以下载较新的版本

    • 在前面推荐的B站up视频下第一条评论有一个百度云链接,破解码是 \text{wo0z}(用此方法的麻烦给up主视频点个赞啦🤣)

    • (正版途径并没有被推荐???)

  3. 正式开始前的设置

    \text{Windows}用户:这一节的最终目的是为了将环境设置为 \text{XeLaTeX} ,你们被放弃了,自己想办法设置吧

  • 打开下载好的Texpad软件:

    Texpad欢迎页
  • 选择Create a local file...并来到代码编辑界面

    代码编辑界面

    在红框框内,有一个Live、一个TexpadTeX、一个⚙️,他们的功能是:

    • Live 表示这时候软件会让你体验一边写代码一边自动运行代码的爽快感(但其实会很卡,没啥用😟)

    • TexpadTeX是一种特殊的 \text{TeX},它与前面的 \text{pdfTeX}\text{XeTeX} 是同一个级别的概念。是Texpad软件团队开发的一种 \text{TeX},并没有什么用+10086

    • ⚙️:设置

    前面提到,我们所使用的环境是 \text{XeLaTeX} 而不是 \text{TexpaTeX},所以我们需要点击齿轮进行进一步设置

  • 进一步设置

    请按照图片中的方法设置,并保证每个框框内的内容是一样的:

    • Built-in TexPad Typestter环境下无法使用 \text{XeLaTeX}

    • 取消自动排版,会极大提升你的效率(/狗头)

    • 取消☑️自动鉴别板式,开放General选项卡

    • Document Format要从默认的 \text{Plain TeX} 改成 \text{LaTeX},这些东西是什么在1.1节有解释

    • 最后的Typeset Engine选择 \text{XeLaTeX}

    记得,每次新建一个.tex文件都要做这些设置。每次你的代码报错,运行卡死的时候,千万千万千万不要慌,首先就要检查你是不是处于 \text{XeLaTeX} 环境!


3 开始写论文吧!

现在你们可以去论坛、知乎之类的找 \text{XeLaTeX} 模板了。

我上传了一个不知道从哪个论坛下载的模板,既然作者说:

%% You can mofify it and distribute it freely :)

那你们也可以下载来用,提取码是 \text{lca9}

下载解压,里面有一个.png文件、一个.pdf文件、一个.tex文件。用Texpad打开.tex文件,然后直接按

\text{cmd+T}

运行!

.
.
.
.
.
.
.
.
.
.
\text{A Few Moments Later}
.
.
.
.
.
.
.
.

报错???

竟然运行失败,辣鸡推文,浪费我时间,根本没点用,溜了

...别忘了我之前说的,紧张害怕慌张满头大汗之前,一定要先

\text{设置为XeLaTeX环境!设置为XeLaTeX环境!设置为XeLaTeX环境!}

设置好以后,再运行代码:

0 errors and 0 wornings”,舒服了

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • 01TeX的介绍与认识 目录 本系列是有关LaTeX的学习系列,共计19篇,本章节是第1篇。前一篇:无后一篇:02...
    张一根阅读 16,714评论 3 41
  • TeX与LaTeX TeX是由著名的计算机科学家Donald E. Knuth(高德纳)发明的排版系统,利用TeX...
    JasonDing阅读 5,116评论 1 13
  • 刚装了电脑,这几天一直在整理资料还有倒腾软件。今天打开Word突然觉得它很难用,因为它经常出现格式混乱的情况。这时...
    BSC_5622阅读 47,939评论 0 19
  • 第一次玩娃娃机是和闺蜜一起去逛街时,看着她玩了几次,而且每次都抓到了,于是我也按耐不住了。从此我就对娃娃机着了魔,...
    逸轻阅读 794评论 0 5
  • 姓名:游向国 公司:海南蔚蓝时代实业有限公司 组别:上海第361期感动一组 【知~学习】 《六项精进》大纲1遍 共...
    莜面山药蛋阅读 44评论 0 0