在查看 TeXBook 的源代码时,我发现其中每个章节前面都有一个字符 ^^ff。我想知道为什么要使用这个看似无用的 ^^ff 字符?
以下屏幕截图显示了我在 WinEdt 和 Notepad++ 编辑器中看到的内容:
答案1
它是分页符(换页符)的旧控制字符,很久以前用于标记打印机的新页面。
它0x0C
以十六进制表示,也表示为Control + L
。WinEdt 将其显示为^L
- 下划线L
。Notepad++ 将其显示为FF
。
答案2
它绝对不是0xFF
,而是“Control-L”或 ASCII 0x0C
(十进制 12),称为“换页符”(这就是为什么您的查看器将其显示为 FF)。
您可能知道,Knuth 开始使用计算机时,计算机还不像我们今天使用的计算机。当电传打字机是唯一的界面时,使用 Control-L 字符来告诉电传打字机“前进到表单末尾”,因此可以轻松撕掉纸卷,并可以从新状态重新启动会话。
后来,屏幕编辑使用“Control-L”告诉计算机“打开新页面”,这样滚动过去“Control-L”就会将下一个副本放在屏幕顶部。它还可用于标记文本中的相关点,因此“搜索 Control-L”会引导到texbook.tex
下一章的开头(例如)。
Plain 格式定义
\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par"
因此需要再次检查括号是否不平衡。请看第 2 章的开头:
Technique! The very word is like the shriek
Of outraged Art. It is the idiot name
Given to effort by those who are too weak,
Too weary, or too dull to play the game.
\author LEONARD ^{BACON}, {\sl Sophia Trenton\/} (1920) % composed at Stanford
\eject
^^L\beginchapter Chapter 2. Book Printing\\versus\\Ordinary Typing
忘记引用中的年份会导致 TeX^^L
在扫描过程中找到参数\author
,但 active^^L
是一个外部宏。
在文件上运行 TeX 时它只会生成\par
,但它可以通过其他方式重新定义。