为什么 % 是注释字符?

为什么 % 是注释字符?

我正在读一本关于 TeX 宏和相关功能的书,我偶然发现了这一点琐碎的问题...

有人能向我解释为什么%LaTeX 中有注释字符吗?为什么是这个而不是另一个,是否有特定的(历史?)原因?

这引出了另一个相关问题:您是否在 TeX 代码中大量使用注释?如果是,出于什么目的?

附加问题:本着同样的精神,为什么$字符适用于数学模式?

答案1

我不太清楚。特殊字符是

# $ % ^ & _ \ { }

前六个字符位于键盘的上排,与 一起@。我排除了文本中更常用的字符,即! ( ) - + =。其他非字母 ASCII 字符([];:'"|,<.>/?)用于文本。

选择\作为命令的转义字符几乎是显而易见的;^上标和_下标的选择也相当明显。

一些编程或脚本语言使用#来注释,但它也常用于为数字添加前缀,至少在美国是这样,因此它被保留用于为参数占位符添加前缀。 成为&标记对齐点的字符,因此注释字符的选择在 和 之间%@第一个获胜。

好的,仍然会有$,但在 TeXbook 第 127 页,我们读到

我们在本手册中使用$数学括号,符合附录 B 中定义的纯 TeX 格式,因为数学据说很昂贵。

答案2

为什么是百分号?很明显:过度使用带有百分号的液体后,人们会忘记一切!;-)

答案3

一个线索可能源于 postscript 也使用 % 作为注释标签这一事实。

完全可以想象,PS 从早期的打印机驱动程序语言继承了这种语法。

我记得读过(可能是在 D. Knuth 的《数字排版》中),早期激光打印机的发展是 TeX 发展的动机之一。因此,TeX 可能从斯坦福大学安装的早期激光打印机所使用的 PostScript 前身中继承了 % 符号。

答案4

%是 LaTeX 中的注释字符,很可能是因为它已经是纯 TeX 中的注释字符,并在 TeXbook 中提到过。请注意,纯 TeX 是一种格式,就像 LaTeX 一样。TeX 引擎将任何类型类别 14 的字符视为注释。默认情况下,TeX 引擎假定%具有类别 14。(这并不能解释为什么Knuth 选择了%第 14 类,但这不是所写的问题。)

%在几种编程语言中都表示注释,这些语言都是在 TeX 之后出现的(参见维基百科), 除非序言,自 1972 年起就存在。不过,不知为何,我怀疑 Knuth 是否受到了 Prolog 的影响。

相关内容