Warum verwenden Unix-Manpages doppelte Anführungszeichen anstelle von doppelten Anführungszeichen?

32

Ich habe festgestellt, dass Manpages und andere Dokumente, die von Unix-Dienstprogrammen formatiert wurden, häufig doppelte Anführungszeichen ``gefolgt von doppelten einfachen Anführungszeichen verwenden '', um Anführungszeichen anstelle des doppelten Anführungszeichens in Anführungszeichen zu setzen ". Einfache Anführungszeichen werden ebenfalls ersetzt. Warum ist das?

Hier einige Beispiele aus der Manpage für 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.
ecmendenhall
quelle
Ich habe nicht genug für eine vollständige Antwort, aber Emacs (in fast allen Modi, die ich gesehen habe) hat eine besondere Hervorhebung `...', die es hervorhebt (sogar innerhalb von Kommentaren).
Echristopherson

Antworten:

33

Die Semantik und die üblichen Glyphen für diese Zeichen haben sich in den letzten 50 Jahren (mehrmals) geändert.

Die Sechs-Bit-Vorgänger von ASCII enthielten verschiedene Mehrzweckzeichen, einschließlich eines einzelnen zitatähnlichen Zeichens, das für alles verwendet wurde, was Ähnlichkeiten mit einem Zitat aufwies: Eröffnungszitat, Schlusszitat, Apostroph oder (durch Überdrucken) akutes oder Gravis.

ASCII führte ein weiteres zitatähnliches Zeichen ein, so dass wir nun hatten ', das als Apostroph, Abschlusszitat und Akutakzent verwendet wurde und `das als Eröffnungszitat oder Grabakzent verwendet wurde (die konkreten Glyphen unterschieden sich in verschiedenen Schriftarten).

Aus irgendeinem bizarren Grund wurde ISO-8859-1 'als Apostroph oder ungerichtetes Zitat deklariert `, als schwerwiegender Akzent deklariert , ein weiterer Akzent ´(akuter Akzent) hinzugefügt und das Überdrucken beseitigt (so dass die isolierten Akzentzeichen jetzt völlig sinnlos waren). . Spätere Erweiterungen (MS-Windows-Codepages und Unicode) haben dies behoben, indem neue gerichtete Anführungszeichen eingeführt und Akzente kombiniert wurden.

Was Sie hier sehen, ist im Wesentlichen ein Relikt aus der ASCII-Zeit, als die meisten Schriftarten (schräge und / oder geschweifte) Glyphen für 'und gepaart hatten `.

Uwe
quelle
4
Tatsächlich war ISO-8859-1 für das Überdrucken irrelevant und spiegelt eher einen Effekt als eine Ursache wider . Dies ging verloren, da das Feature (im Wesentlichen) nicht von Videoterminals unterstützt wurde. Hardcopy-Terminals sind nicht betroffen.
Thomas Dickey
7

Solche Ausgaben werden makeinfovon Texinfo- Quellen generiert . Texinfo kann auch in andere Formate wie PDF gerendert werden. Daher muss es aussagekräftiger als ASCII sein. Um die Semantik nicht wegzuwerfen, werden makeinfosolche Anführungszeichen codiert, damit Sie sehen können, was Anführungszeichen öffnen und schließen.

Beispiel: Wenn Sie den Unterschied nicht sehen könnten, könnte ich mir vorstellen, dass ich ein bisschen verwirrend wäre, wenn Sie eine Texinfo-Quelle geschrieben und darauf vertraut hätten, dass der Zitatunterschied sichtbar ist, da Sie ihn als PDF in der Vorschau angezeigt hätten. Da Sie nie mit gerendert haben makeinfo, werden Sie nie feststellen, dass es nicht lesbar ist und so gerendert wird.

Janus Troelsen
quelle