為什麼 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,所以您永遠不會發現它不可讀,像這樣渲染。

相關內容