我注意到由 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
這樣的輸出是由makeinfo
from產生的德州資訊網來源。德信資訊還可以渲染為其他格式,例如 PDF,因此它需要比 ASCII 更具表現力。也許為了避免丟棄語義,makeinfo
對引號進行這樣的編碼,這樣您就可以看到什麼是左引號和右引號。
例如:如果您看不到差異,我可以想像,如果您編寫了一些 Texinfo 原始程式碼並依賴可見的報價差異,我會有點困惑,因為您會以 PDF 形式預覽它。因為您從未使用 進行渲染makeinfo
,所以您永遠不會發現它不可讀,像這樣渲染。