Yiannis 对问题的回答让我了解了“垂直模式”的概念。在互联网上搜索,关于不同操作模式的信息相对较少;我所能找到的就是有 6 种模式,水平和垂直各 2 种,还有数学模式和显示数学模式。
不幸的是,我没有 TeX Book 的副本,目前也无法随时获得副本。我的问题是:
- 6 种不同模式是什么?
- 对于 TeX 的用户(而不是软件包开发者)来说,我需要担心哪些实际问题?(上面链接的问题是暴露弱点的一个例子。)
答案1
为了理解模式,我们首先需要了解 TeX 的工作方式是它只是排版框。这些框中的内容对 TeX 来说并不重要。如果你的手稿只包含文本,则主要构建这些框,而 TeX 有两种模式。在水平模式下,它将框堆叠在一起,在垂直模式下,框堆叠在一起。这些称为水平或垂直列表。
因此,通常当 TeX 处于水平模式时,它会忙于构建 TeX 行,而当它处于垂直模式时,它会将行或段落的框一个接一个地堆叠在一起。
在数学模式之一中,它正在读取公式。将模式视为程序开关根据 TeX 排版的内容,开关可以启用不同的模式来执行不同的任务,例如允许或禁止原始命令等。
当 TeX 处于垂直模式或内部垂直模式时,新段落的第一个标记会将模式更改为水平模式,并持续整个段落。您也可以通过使用\indent
或明确告诉 TeX 进入水平模式,而不是依赖于这种隐式模式切换\noindent
。Plain、LaTeX 和 pdfTeX 具有内置宏,可以更轻松地从一种模式切换到另一种模式,例如\leavevmode
,它只是一个打开的空框:
\protected\def\leavevmode{\unhbox \voidb@x}
细节可以在 TeXbook 或 TeX by Topic 中找到。此外,e-tex 手册中有很多宏可以检测模式。TUGboat 上还有一篇非常好的文章,介绍了TeX 处理器作品。
答案2
这电子书包含有关模式的完整章节(13)。六种模式如下:
- 垂直模式. 构建主垂直列表,输出页面由此列表派生而来。
- 内部垂直模式. 为 vbox 构建垂直列表。
- 横向模式. 为段落建立水平列表。
- 受限水平模式. 为 hbox 构建水平列表。
- 数学模式. 建立一个数学公式并放置在水平列表中。
- 显示数学模式. 构建一个数学公式,将其单独放置在一行上,暂时中断当前段落。
正常和受限水平模式的区别在于,受限模式下不能有换行符。简而言之:当 TeX 构建一行时,它处于横向模式.A\hbox
或\mbox
然而是受限水平模式。
然后将水平的盒子堆叠在一起形成垂直的盒子。我假设内部垂直模式不能包含分页符。