Я заметил, что страницы руководства и другие документы, отформатированные утилитами 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.
`...'
, выделяющую его (даже в комментариях).Ответы:
Семантика и обычные символы для этих символов изменились (несколько раз) за последние 50 лет.
Шестибитовые предшественники ASCII содержали различные многоцелевые символы, в том числе один символ, похожий на кавычку, который использовался для всего, что имело сходство с кавычкой: открывающая кавычка, закрывающая кавычка, апостроф или (путем надпечатки) острый или серьезный акцент.
В ASCII появился еще один символ, похожий на кавычку, так что теперь у нас есть
'
, который использовался как апостроф, закрывающая кавычка и острый акцент, и`
который использовался как начальная кавычка или серьезный акцент (конкретные глифы различались в разных шрифтах).По какой-то странной причине, ISO-8859-1 объявлен
'
апострофом или неориентированной цитатой, объявлен`
серьезным акцентом, добавлен еще один акцент´
(острый акцент) и отменена надпечатка (так что изолированные метки акцента теперь стали совершенно бессмысленными) , Более поздние расширения (кодовые страницы MS-Windows и Unicode) исправили это, введя новые символы направленных кавычек и комбинируя акценты.То, что вы видите здесь, по сути является пережитком времен ASCII, когда большинство шрифтов имели парные (наклонные и / или фигурные) глифы для
'
и`
.источник
Такой вывод генерируется
makeinfo
из источников Texinfo . Texinfo также может отображать в других форматах, таких как PDF , поэтому он должен быть более выразительным, чем ASCII. Может быть, чтобы не выбрасывать семантику,makeinfo
кодирует такие кавычки, чтобы вы могли видеть, что открывают и закрывают кавычки.Пример: если вы не видите разницу, я могу представить, что вас немного смущает, если вы написали какой-нибудь источник в Texinfo и полагались на видимую разницу в кавычках, потому что вы бы предварительно просмотрели ее в формате PDF. Поскольку вы никогда не рендерили с
makeinfo
, вы никогда не обнаружите, что он не читается, рендерится так.источник