为什么 Unix 手册页使用双反引号代替双引号?

为什么 Unix 手册页使用双反引号代替双引号?

我注意到由 Unix 实用程序格式化的手册页和其他文档经常使用双反引号``,后跟双单引号''来包裹引用的短语,而不是双引号字符"。单引号也同样被替换。为什么是这样?

以下是来自手册页的几个示例grep

 To find all occurrences of the pattern `.Pp' at the beginning of a line:

       $ grep '^\.Pp' myfile

 The apostrophes ensure the entire expression is evaluated by grep instead
 of by the user's shell.  The caret `^' matches the null string at the
 beginning of a line, and the `\' escapes the `.', which would otherwise match
 any character.

 The grep utility is compliant with the IEEE Std 1003.1-2008 (``POSIX.1'')
 specification.

答案1

在过去 50 年里,这些字符的语义和常用字形已经发生了几次变化。

ASCII 的六位前身包含各种多用途字符,包括一个类似单引号的字符,该字符用于与引号有一定相似性的任何内容:左引号、右引号、撇号或(通过叠印)急性或重重的口音。

ASCII 又引入了一种类似于引号的字符,因此现在我们有了',它被用作撇号、结束引号和尖音符,以及`,它被用作左引号或重音符(不同字体的具体字形有所不同)。

由于某种奇怪的原因,ISO-8859-1 声明'为撇号或无向引号,声明`为重音,又添加了一个重音´(急性重音), 并废除套印(这样孤立的重音标记现在就完全没有意义了)。后来的扩展(MS-Windows 代码页和 Unicode)通过引入新的定向引号字符和组合重音符号解决了这个问题。

您在这里看到的本质上是 ASCII 时代的遗物,当时大多数字体都有 和 的配对(倾斜和/或卷曲)'字形`

答案2

这样的输出是由makeinfofrom生成的德克萨斯信息网来源。德信信息还可以渲染为其他格式,例如 PDF,因此它需要比 ASCII 更具表现力。也许为了避免丢弃语义,makeinfo对引号进行这样的编码,这样您就可以看到什么是左引号和右引号。

示例:如果您看不到差异,我可以想象,如果您编写了一些 Texinfo 源代码并依赖可见的报价差异,我会有点困惑,因为您会以 PDF 形式预览它。因为您从未使用 进行渲染makeinfo,所以您永远不会发现它不可读,像这样渲染。

相关内容