私はgdbのマンページを読んでいて、次の行に出くわしました:
You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2.
C @ t {++}は正規表現のように見えますが、デコードできないようです。
どういう意味ですか?
C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
私はgdbのマンページを読んでいて、次の行に出くわしました:
You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2.
C @ t {++}は正規表現のように見えますが、デコードできないようです。
どういう意味ですか?
C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
回答:
GNUはマニュアルページを嫌うので、通常は別の形式でドキュメントを作成し、その結果からマニュアルページを生成します。結果が使用可能かどうかはあまり気にしません。
C@t{++}
翻訳されなかったtexinfoマークアップです。ユーザーに見えるドキュメントの一部となることを意図していませんでした。単に言う必要がありますC++
(++
見た目を良くするために、おそらく特別なフォントを使用)。
シーケンス@t{...}
は、固定幅フォントを使用してシーケンスをタイプセットするtexinfoマークアップです(詳細といくつかの例については、texinfoマニュアルの「フォント」セクションを参照してください)。
「C ++」を記述し、「++」に固定幅フォント(「++
」など)を使用させようとしているようです。おそらく、PostScriptまたはPDF、またはデフォルトで可変幅フォントを使用します。
これが機能しないようで、未処理のシーケンスが表示される理由は、texinfoが info
ドキュメントシステムでいる一方でman
、異なるコマンド(たとえば、定数に切り替えるコマンド)で異なる言語であるnroffを使用しているためですnroffのwidthフォントは\f(CW
)であるため、もちろん@t{...}
変更されていないシーケンスを認識しませんでした。
この問題は、manページがtexinfoに変換され、特定のマークアップが導入された2013年4月のコミットで導入されたようです。マニュアルページ(texi2man.pl
)の生成に使用されるスクリプトは、そのシーケンスを認識しないか、適切に変換しないようです。
C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
初期のC ++イベントでUSENIXの手続きを組版していたときに、C ++言語の初期の伝道中に、マレーヒルの研究室からtroff拡張を取得しました 。趣味は彼らのtroffについてかなり深刻でした。:)
++
何とか