it-swarm-ja.com

gdbのmanページでC @ t {++}はどういう意味ですか?

私はgdbのマンページを読んでいて、行に出くわしました:

You can use GDB to debug programs written in C, [email protected]{++}, Fortran and Modula-2.

C @ t {++}は正規表現のように見えますが、デコードできないようです。

どういう意味ですか?

16
Display name

GNUはmanページを嫌っています。そのため、GNUは通常、ドキュメントを別の形式で記述し、そこからmanページを生成します。結果が使用可能かどうかを気にすることはありません。

[email protected]{++}は、翻訳されなかったtexinfoマークアップです。これは、ユーザーに表示されるドキュメントの一部となることを意図していませんでした。単にC++(おそらく++で見栄えをよくします)。

28
user41515

シーケンス@t{...}は、固定幅フォントを使用してシーケンスをタイプセットするtexinfoマークアップです(詳細といくつかの例については、texinfoマニュアルの Fonts セクションを参照してください)。

彼らは「C++」を記述し、「++」に固定幅フォント(「++」など)を使用させようとしたようです。おそらく、PostScriptでドキュメントをレンダリングしているときに特定のフォントでより良い結果が得られる人が見つかりました。 PDFまたは、デフォルトで可変幅フォントを使用する形式。

これが機能していないように見え、未処理のシーケンスが表示されるのは、texinfoがinfoドキュメントシステムで使用されているのに対し、manはnroffを使用しているためです。コマンド(たとえば、nroffで一定幅のフォントに切り替えるコマンドは\f(CW)なので、当然、変更されていない@t{...}シーケンスは認識されませんでした。

この問題は 2013年4月からのコミット で導入されたようで、manページがtexinfoに変換され、その特定のマークアップが導入されました。 manページ(texi2man.pl)の生成に現在使用されているスクリプトは、そのシーケンスを認識しないか、適切に変換しないようです。

18
filbranden