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


32

Unixユーティリティでフォーマットされたマニュアルページやその他のドキュメントでは、二重引用符の代わりに二重引用符と二重引用符を使用して、引用符で囲まれたフレーズをラップ``することがよくあります。単一引用符も同様に置き換えられます。どうしてこれなの?''"

以下に、manページからの例をいくつか示します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.

完全な答えを得るには十分ではありませんが、Emacs(これまで見たほぼすべてのモード)には`...'、(コメント内であっても)特別な強調表示があります。
echristopherson

回答:


33

これらの文字のセマンティクスと通常のグリフは、過去50年間で(数回)変更されています。

ASCIIの6ビット前身には、引用と類似性のあるものに使用される単一引用符のような文字を含むさまざまな多目的文字が含まれていました:引用符を開く、引用符を閉じる、アポストロフィ、または(オーバープリントすることにより)急性または重大なアクセント。

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

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

ここに表示されるのは、ほとんどのフォントで'とのグリフがペアになっている(傾斜および/またはカーリー)ASCII時代の遺物`です。


4
実際、ISO-8859-1はオーバープリントとは無関係であり、原因ではなく効果を反映しています。これは、(本質的に)この機能のビデオ端末サポートがないために失われました。ハードコピー端末は影響を受けません。
トーマスディッキー

7

そのような出力はmakeinfoTexinfoソースから生成されます。TexinfoはPDFなどの他の形式にレンダリングできるため、ASCIIよりも表現力が必要です。セマンティクスを捨てないようにするために、makeinfo引用符をそのようにエンコードするので、引用符の開始と終了を確認できます。

例:違いを確認できなかった場合、Texinfoソースを作成し、見積りの違いが表示されていることに依存していると、PDFとしてプレビューしていたので、少し混乱するだろうと想像できます。でレンダリングしmakeinfoたことはないので、そのようにレンダリングした場合、読み取り可能ではないことに気付かないでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.