Perché le pagine man di Unix usano doppi backtick al posto delle doppie virgolette?


32

Ho notato che le pagine man e altri documenti formattati dalle utility Unix usano spesso doppi backtick ``seguiti da doppie virgolette singole ''per racchiudere le frasi tra virgolette anziché il carattere di virgolette doppie ". Le virgolette singole vengono sostituite in modo simile. Perchè è questo?

Ecco un paio di esempi, dalla pagina man per 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.

Non ne ho abbastanza per una risposta completa, ma Emacs (in quasi tutte le modalità che ho visto) ha un'evidenziazione speciale per `...', facendola risaltare (anche nei commenti).
ecristopherson,

Risposte:


33

La semantica e i soliti glifi per questi personaggi sono cambiati (più volte) negli ultimi 50 anni.

I predecessori a sei bit di ASCII contenevano vari caratteri multiuso, tra cui un singolo carattere simile a una citazione, che veniva utilizzato per qualsiasi cosa che avesse qualche somiglianza con una citazione: citazione di apertura, citazione di chiusura, apostrofo o (mediante sovrastampa) acuto o accento grave.

ASCII ha introdotto un altro carattere simile a una citazione, così che ora avevamo ', che era usato come apostrofo, citazione di chiusura e accento acuto e `, che era usato come citazione iniziale o accento grave (i glifi concreti differivano in vari caratteri).

Per qualche bizzarra ragione, ISO-8859-1 dichiarò 'di essere un apostrofo o una citazione non orientata, dichiarò `di essere un accento grave, aggiunse un altro accento ´(accento acuto) e abolì la sovrastampa (in modo che i segni di accento isolati fossero ora completamente inutili) . Le estensioni successive (codepages di MS-Windows e Unicode) hanno risolto il problema introducendo nuovi caratteri di citazione diretta e combinando gli accenti.

Quello che vedi qui è essenzialmente un relitto dei tempi ASCII, quando la maggior parte dei caratteri aveva associato glifi (inclinati e / o ricci) per 'e `.


4
In realtà, ISO-8859-1 era irrilevante per la sovrastampa e riflette un effetto piuttosto che una causa . Ciò è stato perso a causa (essenzialmente) del supporto del terminale video per la funzione. I terminali cartacei non sono interessati.
Thomas Dickey

7

Uscita del genere è generata da makeinfoda Texinfo fonti. Texinfo può anche eseguire il rendering in altri formati come PDF , quindi deve essere più espressivo di ASCII. Forse per evitare di gettare via la semantica, makeinfocodifica virgolette del genere, in modo da poter vedere cosa sta aprendo e chiudendo le virgolette.

Esempio: se non riuscissi a vedere la differenza, immagino che sarei un po 'confuso se scrivessi qualche fonte Texinfo e facessi affidamento sul fatto che la differenza tra virgolette sia visibile, perché l'avresti visualizzata in anteprima come PDF. Dato che non hai mai eseguito il rendering makeinfo, non scopriresti mai che non è leggibile, reso così.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.