Unix のマニュアル ページでは、二重引用符の代わりに二重バックティックが使用されるのはなぜですか?

Unix のマニュアル ページでは、二重引用符の代わりに二重バックティックが使用されるのはなぜですか?

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 の前身である 6 ビットには、さまざまな多目的文字が含まれていました。その中には、引用符に類似するものすべてに使用される単一の引用符のような文字 (開始引用符、終了引用符、アポストロフィ、または (重ねて印刷する) 鋭アクセントまたは抑アクセント) が含まれていました。

ASCII では引用符のような文字がもう 1 つ導入され、'アポストロフィ、引用符の終了、鋭アクセントとして使用される と、引用`符の開始または抑アクセントとして使用される が使用されました (具体的なグリフはフォントごとに異なります)。

何らかの奇妙な理由で、ISO-8859-1は'アポストロフィまたは無向引用符であると宣言され、`重アクセントであると宣言され、さらに1つのアクセント´(鋭アクセント)が追加されました。 オーバープリントを廃止(そのため、孤立したアクセント記号は完全に無意味になりました)。その後の拡張機能 (MS-Windows コードページと Unicode) では、新しい方向引用符文字と結合アクセントを導入することで、この問題は修正されました。

ここで見られるものは、基本的に ASCII 時代の名残であり、ほとんどのフォントには と のペアの(斜めまたはカールした)グリフが使用されていまし'`

答え2

このような出力はmakeinfoテクスインフォソース。TexinfoはPDFなどの他の形式にレンダリングするなので、ASCII よりも表現力が必要です。意味を失わないようにするために、makeinfo引用符をこのようにエンコードして、開始引用符と終了引用符がわかるようにします。

例: 違いがわからない場合、Texinfo ソースを書いて引用の違いが見えることを期待すると、PDF としてプレビューしたために少し混乱すると思います。 でレンダリングしたことがないので、makeinfoそのようにレンダリングされたのでは読めないことに気付くことはありません。

関連情報