gdbのマニュアルページでC @ t {++}はどういう意味ですか?


16

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

You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2.

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

どういう意味ですか?


どのバージョンの?Cのようなルックスは、++のみ、彼らは特別なエンコーディングbodged ++何とか
thrig

@thrig Ubuntu 16.04、gdb 7.11.1-0ubuntu1〜16.5でこれを確認できます。
メレビウス

これが正規表現のように見えるのはなぜですか?
ファンドモニカの訴訟

FWIW、それは無効な正規表現です。
モニカとライトネスレース

明らかに彼らは書く方法を忘れていたC\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
tchrist

回答:


28

GNUはマニュアルページを嫌うので、通常は別の形式でドキュメントを作成し、その結果からマニュアルページを生成します。結果が使用可能かどうかはあまり気にしません。

C@t{++}翻訳されなかったtexinfoマークアップです。ユーザーに見えるドキュメントの一部となることを意図していませんでした。単に言う必要がありますC++++見た目を良くするために、おそらく特別なフォントを使用)。


8
この場合、それはまったく逆でした。 docoはもともと1980年代にroffで作成され、2013年にroffは(ひどく)texinfoに手動で変換されました。
JdeBP

6
最初の文の意見を引用できますか?
-thosphor


3
@Kusalanandaリンク/情報をありがとう。しかし、その情報源は回答の意見を支持していません。
蛍光体

2
@thosphor "hate"は少し誇張されていますが、RMSとFSFがそれを好ましい形式とは見なしていないことは明らかです。
バーマー

18

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

「C ++」を記述し、「++」に固定幅フォント(「++」など)を使用させようとしているようです。おそらく、PostScriptまたはPDF、またはデフォルトで可変幅フォントを使用します。

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

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



6
皮肉なことにpod2man、「C ++の優れたもの」用のroffマクロ提供されますが、その認識コードは文字列「C ++」に対してのみ有効であるため使用されません。
JdeBP

2
@JdeBPあなたはここに答えを持っているようですので、なぜあなたはそれを書きませんか?
パイプ

3
コラボレーション、パイプ。 回答コメントは、回答の改善を提案するためのものです。ここにいくつかの改善点があります。ここの2人の回答者がそれらを組み込むことを望んでいるかどうかを見てみましょう。彼らの足の指を踏まないようにします。
JdeBP

3
@JdeBP呼び出してくれてありがとう。私の回想では、C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'初期のC ++イベントでUSENIXの手続きを組版していたときに、C ++言語の初期の伝道中に、マレーヒルの研究室からtroff拡張を取得しました 。趣味は彼らのtroffについてかなり深刻でした。:)
tchrist
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.