我刚刚问过关于 LaTeX 用于文本布局的算法或技术的文档,从而导致LaTeX 的替代品其中指出了一些工具,例如语境我也听说过 LuaTeX,密克泰克斯,TeX 直播, 和别的。
我不熟悉这些不同的“LaTeX 工具”是如何工作的,这也是这个问题的答案。我想知道他们是否真的实现了 TeX划痕也就是说,他们以某种方式读到了调查报告并实现了所有算法,而无需借助某些标准/中央 TeX 库。我所说的标准/中央 TeX 库是指实现研究论文中所有算法的中央代码存储库。如果所有这些工具都是从头开始实现研究,那么这将是一个有用的学习工具。
如果我列出的工具(以及其他类似的工具)只是围绕中央 TeX 库的包装器,那么我想知道那个中央库是什么。我见过https://github.com/latex3/latex2e,但考虑到LaTeX 和 TeX 不同,我不确定是否会考虑这一点tex-core
。这个问题TeX、LuateX、pdfTeX 的源代码在哪里导致计算机辅助设计(还这里,看起来像是写在网络, 和如何编译它),但不确定是否所有东西都在使用它。如果有多种不同的 TeX 研究实现,那也会很有帮助。
答案1
你把不同种类的东西混为一谈了。此外,我认为你可能犯了分类错误,尽管我不确定。
MikTeX 和 TeX Live 是 TeX 的发行版,其含义是“全部”,或者更准确地说是“大部分”。如果安装它们,您将获得 TeX、LuaTeX、ConTeXt、XeTeX、LaTeX、一堆软件包、脚本、附加工具等。
TeX、pdfTeX、LuaTeX、XeTeX 和 ConTeXt 都是引擎。它们将
.tex
文件转换为可处理的文档:DVI 或 PDF。plain、LaTeX 和 ConTeXt 都是格式。它们由核心 TeX 提供的原语构建而成。如果人们说他们使用的是 TeX,而不是 LaTeX,他们通常意味着他们使用的是 plain 格式。但这仍然是一种建立在核心之上的格式,就像其他格式一样。
这份清单并不全面。有很多格式,你可以很容易地制作自己的格式。但这些可能是最知名的,至少在西方是如此。
核心 TeX 和纯格式的描述见TeX 书。Lamport 的书和随该格式提供的文档中都描述了 LaTeX。据我所知,使用 LaTeX 格式相当于加载
latex.ltx
。使用 plain 相当于加载包含该格式定义的宏的文件。
ConTeXt 既是一个引擎,又是一种格式。
否则,你必须
格式 + 引擎 -> 二进制或按名称二进制
纯文本 + TeX ->
tex
- LaTeX + TeX ->
latex
- 纯文本 + pdfTeX ->
pdftex
- LaTeX + pdfTeX ->
pdflatex
- 普通 + LuaTeX ->
luatex
- LaTeX + LuaTeX ->
lualatex
- 普通 + XeTeX ->
xetex
- LaTeX + XeTeX ->
xelatex
格式只是一堆预编译的代码,您可以加载,但它会更慢且不太方便。
上述许多二进制文件都是按名称二进制文件,我的意思是两个不同的名称调用同一个二进制文件,其行为取决于调用名称。
lrwxrwxrwx 1 texlive texlive 6 Tach 25 2016 ../bin/x86_64-linux/latex -> pdftex*
lrwxrwxrwx 1 texlive texlive 6 Tach 25 2016 ../bin/x86_64-linux/lualatex -> luatex*
-rwxr-xr-x 1 texlive texlive 8.4M Ebr 2 18:10 ../bin/x86_64-linux/luatex*
lrwxrwxrwx 1 texlive texlive 6 Tach 25 2016 ../bin/x86_64-linux/pdflatex -> pdftex*
-rwxr-xr-x 1 texlive texlive 2.1M Maw 26 23:02 ../bin/x86_64-linux/pdftex*
-rwxr-xr-x 1 texlive texlive 371K Maw 21 21:47 ../bin/x86_64-linux/tex*
lrwxrwxrwx 1 texlive texlive 5 Tach 25 2016 ../bin/x86_64-linux/xelatex -> xetex*
-rwxr-xr-x 1 texlive texlive 23M Ebr 2 18:10 ../bin/x86_64-linux/xetex*
如您所见,调用pdflatex
与调用相同的二进制文件pdftex
。不同之处在于前者导致使用指定 LaTeX 格式的选项。
正如在回答你上一个问题时所说,TeX 书和 TeX 的源代码是需要查看的地方。其余的只是详细说明。
LaTeX 3 项目涉及 LaTeX 格式的第三个主要版本的开发。目前的版本是 2e,尽管 L3 项目的某些部分目前可以在 2e 之上使用。与 2.09 和 2e 以及(大概)版本 1 一样,这“只是”一种基于 TeX 的格式。它与 TeX 并无不同,因为它是一种替代品。它与 TeX 的区别就像房子与地基的区别一样。
您链接的 CTAN 页面包含一些扩展的链接,例如 eTeX 和 pdfTeX。因此您可以查看例如https://tug.org/svn/pdftex/branches/stable,但您看到的是扩展版本,而不是基本版本,即如果您只想要核心,请查看核心的源代码。如果您想了解它是如何重新实现和扩展的,请查看 eTeX 或 pdfTeX 或 LuaTeX 或任何其他的源代码。