He notado que las páginas de manual y otros documentos formateados por utilidades de Unix a menudo usan comillas dobles ``
seguidas de comillas simples dobles ''
para envolver frases entre comillas en lugar del carácter de comillas dobles "
. Las comillas simples se reemplazan de manera similar. ¿Por qué es esto?
Aquí hay un par de ejemplos, de la página de manual para 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.
Respuesta1
La semántica y los glifos habituales de estos caracteres han cambiado (varias veces) durante los últimos 50 años.
Los predecesores de ASCII de seis bits contenían varios caracteres de usos múltiples, incluido un único carácter similar a una comilla, que se usaba para cualquier cosa que tuviera alguna similitud con una comilla: comilla de apertura, comilla de cierre, apóstrofo o (mediante sobreimpresión) agudo o acento grave.
ASCII introdujo un carácter más parecido a una cita, de modo que ahora teníamos '
, que se usaba como apóstrofo, comilla de cierre y acento agudo, y `
, que se usaba como comilla inicial o acento grave (los glifos concretos diferían en varias fuentes).
Por alguna extraña razón, ISO-8859-1 declaró '
que era un apóstrofe o una cita no dirigida, declaró `
que era un acento grave, agregó un acento más ´
(acento agudo),
y abolió la sobreimpresión(de modo que los acentos aislados ahora eran completamente inútiles). Extensiones posteriores (páginas de códigos de MS-Windows y Unicode) solucionaron este problema introduciendo nuevos caracteres de comillas dirigidas y combinando acentos.
Lo que ves aquí es esencialmente una reliquia de la época ASCII, cuando la mayoría de las fuentes tenían glifos emparejados (inclinados y/o rizados) para '
y `
.
Respuesta2
Una salida como esa es generada por makeinfo
desdeTexinfofuentes. Texinfo también puederenderizar a otros formatos como PDF, por lo que debe ser más expresivo que ASCII. Tal vez para evitar desperdiciar la semántica, makeinfo
codifica citas como esa, para que puedas ver qué son las comillas de apertura y cierre.
Ejemplo: si no pudiera ver la diferencia, me imagino que sería un poco confuso si escribiera alguna fuente de Texinfo y confiara en que la diferencia entre comillas fuera visible, porque lo habría obtenido en una vista previa como PDF. Debido a que nunca renderizaste con makeinfo
, nunca descubrirías que no es legible, renderizado de esa manera.