我注意到由 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.
Run Code Online (Sandbox Code Playgroud)
Uwe*_*Uwe 40
在过去的 50 年中,这些字符的语义和常用字形发生了变化(多次)。
ASCII 的六位前身包含各种多用途字符,包括一个类似单引号的字符,用于任何与引号有某种相似之处的字符:开引号、闭引号、撇号或(通过叠印)锐角或重口音。
ASCII 引入了另一个类似引号的字符,所以现在我们有', 用作撇号、结束引号和重音符号,而`用作开始引号或重音符号(具体字形在各种字体中有所不同)。
出于某种奇怪的原因,ISO-8859-1 声明'为撇号或无向引用,声明`为重音符,增加了一个重音´(重音),
并取消了套印(这样孤立的重音标记现在完全没有意义) . 后来的扩展(MS-Windows 代码页和 Unicode)通过引入新的有向引号字符和组合重音符号解决了这个问题。
您在这里看到的本质上是 ASCII 时代的产物,当时大多数字体都为'和配对(倾斜和/或卷曲)字形`。
像输出由产生makeinfo自的Texinfo源。Texinfo 还可以呈现为其他格式,如 PDF,因此它需要比 ASCII 更具表现力。也许为了避免丢弃语义,makeinfo像这样对引号进行编码,这样你就可以看到什么是开始和结束引号。
示例:如果您看不到差异,我可以想象,如果您编写了一些 Texinfo 源代码并依赖报价差异可见,我会有点困惑,因为您会将其预览为 PDF。因为您从未使用 进行渲染,所以您永远makeinfo不会发现它不可读,无法像那样渲染。
| 归档时间: |
|
| 查看次数: |
3395 次 |
| 最近记录: |