当前位置:网站首页>【从零设计 LaTex 模板】1. 一些基础知识
【从零设计 LaTex 模板】1. 一些基础知识
2022-08-10 05:34:00 【天真的和感伤的想象家】
前言: 文章内容包含:
- TeX 发展介绍,包括引擎、格式、发行版本等。
- 诸多中间文件的介绍。
0. 写在前面
用 LaTeX 编写文档,在公司电脑配置好 LaTeX 环境后,直接套用已有模板,老出现莫名其妙、难以理解的问题,一天时间都没解决。
气不过,遂,自给自足。
空闲时间学习,持续补充相关内容。
1. 一些基本知识
1.1 发展历程
1.1.1 引擎
类似于编译 C++ 的 gcc 一样,与 TeX 对应的是 TeX 引擎。
TeX 引擎有如下几种:
Knuth TeX
最早的,高德纳(Donald E. Knuth)为排版文字和数字公式开发的软件。用在 ASCII 字符环境。起始开创之作。
因为比较纯粹,所以使用起来没那么方便,门槛高,因此有了后续改进。目前几乎已经见不到了。
e-TeX
标准的基础 TeX 引擎,后面诸多编译器都是在此基础上开发的。不过直接使用此编译器的也较少。
pdfTeX
西文世界被广泛应用的 TeX 编译器。
LuaTeX
给 TeX 加入了 Lua 脚本支持,同时支持 Unicode 编码,也可以通过 Lua 加入中日韩字符 (CJK) 字符支持,但编译起来比较慢。
XeTeX
e-TeX 的另一分支扩展。支持 Unicode 编码,中文支持可以通过加入 xeCJK宏包 方式实现。因为对中文的支持比较成熟,因此被广泛使用。
pTeX
后续诸多 TeX 引擎统称。支持中日韩字符 (CJK),来源日本,对日语支持最好。
1.1.2 格式
宏是把一些命令组织一起,实现某一特定任务。TeX 中格式就是一些基础宏的集合。
为了排版,不可能所有代码都亲力亲为。为了方便,通过组合一些指令实现一些常用功能,再次使用时直接调用即可。这也就是宏的作用。
而集合做出的一些基础的宏,就可以发布为一个格式 (format)。目前常用格式有
plain TeX
由 Donald E. Knuth 开发的,最为基础。
LaTex
由 Leslie Lamport 博士开发,基本理念是分离内容和格式,让作者更能够专注于内容创作而非格式。应用最为广泛。
当前版本为 LaTeX2e,其含义为第二版plus版本,但为达到第三版程度。
ConTeXt
1.1.3 打包版本
引擎与格式其实是分开的
在每次进行排版工作时,你需要指定所用引擎和所用格式。
目前人们倾向于把两者直接打包到一起,况且现在最流行的格式是 LaTex(这也是为什么现在流行说 用 LaTex 排版,而非 TeX)。
以 LaTex 格式为例,
| 所用引擎 | 所用格式 | 打包版本 | 说明 |
|---|---|---|---|
| e-TeX | LaTeX | LaTeX | 较原始 |
| pdfTeX | LaTeX | pdfLaTeX | 西文 |
| LuaTeX | LaTeX | LuaLaTeX | 凑合 |
| XeTeX | LaTeX | XeLaTeX | 中、西文 |
| pTeX | LaTeX | pLaTeX | 新颖 |
现在常提到的引擎,大多指引擎和格式的打包。下文中也是如此。
在实际编译中,可以在命令行中使用诸如以下命令(注意:要配置好系统环境变量)
>> pdflatex FileName
或
>> xelatex Filename
当然也可以不用自己在命令行输入代码进行编译,可以使用一些发行版本自带编辑器中的编译选项。如以简洁著称的 TeX works editor,进行编译选择
1.1.3 发行版本
在【格式】中为了方便,我们是把一些宏集合到一起。但这些宏都是很基础和通用的(如辩证法中的一般性所述)。
有些宏或功能可能针对某一特定人群比较常用,同时也为了避免重复造轮子,就需要另外一些宏包的加入。于是就有了 TeX发行版或TeX套装。
这些发行版或套装其实也并非仅仅在引擎、格式基础上只增加了额外宏包,而是还加入了诸如驱动、字体、文本编辑器、pdf查看等一系列辅助工具。
目前国内流行的发行版本有
TeX Live
适用于 Windows 和 Linux,macOS系统可以使用基于此开发的 macTeX。
CTeX
适用于 Windows系统。其是在 MiTex 发行版基础上的扩展,最大特色是解决了中文支持和版式设定问题。
感觉相当臃肿。不推荐。中文问题可以引入相应包来解决。
1.2 编译过程
这部分主要包含 TeX 如何编译的。更确切说是一些中间文件,诸如 *.aux, *.toc, *idx 为啥生成、生成次序以及这些都是干啥的。
待遇到和解决编译问题时补充。
边栏推荐
猜你喜欢
随机推荐
Common class BigDecimal
大端以及小端以及读寄存器习惯
PyTorch的安装与基础知识
Content related to ZigBee network devices
R语言聚类分析——代码解析
LeetCode 2011. Variable Value After Action (Simple)
集合 set接口
Batch add watermark to pictures batch add background zoom batch merge tool picUnionV4.0
Likou - Number of Provinces
微信小程序-小程序的宿主环境
PyTorch之CV
堆的原理与实现以及排序
LeetCode 面试题17.14 最小k个数(中等)
Notes for Netual Network
wiki confluence installation
cesium add point, move point
sqlplus displays the previous command and the available backspace key
Machine Learning - Clustering - Shopping Mall Customer Clustering
Set Sources Resources and other folders in the IDEA project
Ten years of sharpening a sword!The digital collection market software, Link Reading APP is officially open for internal testing!









