格式和宏语言有什么区别?

格式和宏语言有什么区别?

一条评论来自 morbusg

取决于你所说的“纯色 tex”是什么意思:如果你指的是“纯色 tex –宏语言“,那么是的,LaTeX 确实提供了一个界面。如果你指的是“纯文本 –格式“,那么......好吧,LaTeX 确实使用纯文本作为许多事物的基础。

我想格式宏语言是同一个概念,但是引文好像是把两者区分开来,不知道它们之间有什么区别和联系呢?

答案1

我将使用“宏语言”来表示内置于 tex-the-program 中的宏系统,即允许使用参数 #1 .. #9 的宏的系统。这与其他宏语言(例如由 cpp 预处理器为 C 实现的 #DEFINE 宏或 XML 中的实体定义机制)截然不同(这两者的表现力都明显不如 TeX 宏语言)。

TeX 上下文中的“格式”是使用 TeX 构建的语言(通常通过将一组已定义的宏和其他定义转储到打包的二进制文件中)。因此,LaTeX 格式主要由宏组成,但也包括非宏定义,例如寄存器分配和字体定义。

答案2

我只是想区分

  1. TeX - 该语言在用户级具有可用的原始命令,以及
  2. 一种格式(宏的集合),用于构建更高的抽象在这些原语上

你经常会看到人们说“纯 TeX”,但他们实际上指的是上述两种 TeX,这可能会造成混淆。

答案3

宏语言TeX 指的是宏的读取、定义、扩展的方式,ETC。;一组原始命令及其效果;以及诸如此类的东西。在这种情况下,“纯 TeX”是指 DEK 的引擎与 e-TeX、XeTeX、PDFTex、LuaTeX 等引擎提供的扩展不同,ETC。ETC

格式TeX 的配置方式是:哪些字符具有哪些 catcode、基元具有哪些名称、哪些宏是预定义的以及预定义的宏是什么。在上下文中,“纯 TeX” 是TeXBook,而不是像eplain、LaTeX 和 ConTeXt。

格式和宏包之间的区别并不十分明显:有些命令可以将当前加载的宏集转换为新格式。这就是 LaTeX 和 ConTeXt 的工作方式,无需\input latex在源代码顶部添加类似的东西。

按照惯例,该tex命令使用“普通”格式加载 TeX 引擎。

相关内容