GROFF_MAN(7)

名称
groff_man - マニュアルページ生成サポート用 groff `man' マクロ

書式
groff -man [ options... ] [ files... ]
groff -m man [ options... ] [ files... ]

解説
groff でマニュアルページを生成するのに使用される man マクロは、James Clark が書きました。 このドキュメントは、パッケージ中の各マクロの使い方を、短くまとめたものです。

オプション
man マクロは、次のようなコマンドラインオプションを理解します (レジスタをいくつか定義します)。

-rcR=1
    本オプション (nroff モードではデフォルト) は、 複数ページの代りに、長い単一ページを出力します。 無効にするには、 -rcR=0 としてください。

-rC1
    コマンドラインに複数のマニュアルページを与えた場合、 それぞれのページ番号が 1 から始まるのではなく、連続した番号に なります。

-rD1
    両面印字にします。 偶数ページと奇数ページのフッタは、異なった整形が成されます。

-rFT=dist
    フッタ位置を設定します。 負数の場合、ボトムからの相対位置であり、正数の場合、トップからの相対位置です。 デフォルトは -0.5i です。

-rHY=flags
    ハイフネーションフラグを設定します。 設定可能な値は、1 が制限無しのハイフネーション、 2 がページの最後の語をハイフネーションしない、 4 が語の最後の 2 文字をハイフネーションしない、 8 が語の最初の 2 文字をハイフネーションしないです。 値は加算可能です。 デフォルトは 14 です。

-rIN=width
    本文のインデントを width に設定します。 デフォルトは、 nroff では 7n であり troff では 7.2n です。 nroff では、一貫性のあるインデントを得るために、 この値は `n' の整数倍であることが必要です。

-rLL=line-length
    行の長さを設定します。 このオプションを設定しないと、行の長さは、 nroff モードではデフォルトの 78n に、 troff モードではデフォルトの 7.5i になります。

-rLT=title-length
    タイトルの長さを設定します。 このオプションを設定しないと、タイトルの長さは、 nroff モードではデフォルトの 78n に、 troff モードではデフォルトの 7.5i になります。

-rPnnn
    ページの数え始めを 1 ではなく nnn からにします。

-rSxx
    ベースドキュメントフォントサイズを 10 ポイントではなく xx ポイントにします (xx には 10, 11, 12 のいずれかが使用できます)。

-rSN=width
    副副見出しのインデントを width に設定します。 デフォルトは 3n です。

-rXnnn
    ページ nnn の後のページを nnna, nnnb, nnnc などというように数えます。例えば、`-rX2' というオプションの場合、 ページを 1, 2, 2a, 2b, 2c というように割り振ります。

使用法
このセクションは、マニュアルページ用に使用可能なマクロについて 述べています。さらにカスタマイズしたい場合は、 man.local ファイル中に追加のマクロおよびリクエストを置いてください。 このファイルは man の直後にロードされます。

.TH title section [extra1] [extra2] [extra3]
    このマニュアルページのタイトルを title に、セクションを section に設定します。セクションは、 1 から 8 までの値をとらなくてはなりません。 section 値には、後ろに文字列を置くこともできます。例えば、 `.pm' とすると、マニュアルページの特定のサブセクションを 示します。 title と section は、ともにヘッダ行の左端と右端に置かれます (括弧でくくられた section が title の直後に付きます)。 extra1 は、フッタ行の中央に置かれます。 extra2 は、フッタ行の左に置かれます (両面印字がアクティブになっている場合、偶数ページには 左に、奇数ページには右に、置かれます)。 extra3 はヘッダ行の中央に置かれます。

    HTML 出力用には、ヘッダおよびフッタは完全に取り除かれます。

    さらに、このマクロは改ページします。新しい行番号は、再度 1 に なります (コマンドラインで `-rC1' オプションが指定されている場合を 除きます)。この機能は、複数のマニュアルページを整形する 場合のためだけにあります。マニュアルページが 1 つの場合、 TH は、ファイルの先頭において、まさに 1 つだけ存在すべきです。

.SH [text for a heading]
    番号づけをしないセクション用の見出しを設定します。 これは左詰めになります。 SH に続いたテキスト ( SH に引数がない場合は次の入力行のテキスト) は、 行末までのものがすべてボールド体 (もしくは文字列 HF で指定されたフォント) で、 そしてベースドキュメントサイズよりも 1 だけ大きなフォントサイズで 表示されます。 さらに、テキストの左側の余白およびインデントは デフォルト値に戻されます。

.SS [text for a heading]
    番号づけしないセクションの 2 番目の見出しを設定します。 SS に続いたテキスト ( SS に引数がない場合は次の入力行のテキスト) は、 行末までのものがすべてボールド体 (もしくは文字列 HF で指定されたフォント) で、 そしてベースドキュメントサイズと同じ大きさのフォントで表示されます。 さらに、テキストの左側の余白はデフォルト値に戻されます。

.TP [nnn]
    インデントされた、ラベルつきの段落を設定します。 インデント幅は、引数が与えられていれば nnn に設定されます (省略されていれば、デフォルトの単位は `n' です)。 そうでない場合、 TP, IP, HP で指定された以前のインデント (これらのいずれもが未使用の場合はデフォルト値) に設定します。

    このマクロの後に続いた入力テキストの 1 行目は、 左詰めに表示する文字列として解釈され、 ラベルとして使用するのに適切なものとなります。 これは段落の一部であるとは解釈はされませんので、 引き続く入力行のテキストで 1 行目を満たそうとはしません。 それでも、ラベルがインデント幅ほど広がっていない場合には、 同じ行から段落が始まり (ただし、インデントはされます)、次の 行へと続いていきます。 ラベルがインデント幅よりも広い場合は、段落の説明部分は ラベルの次の行から始まり、すべてインデントされます。 ラベルのフォントの形もサイズもデフォルト値には設定されない ことに注意してください。これに対して、残りのテキストは デフォルトのフォント設定になります。

    TP マクロは、あなたが今ちょうど読んでいるこの解説に使用されている マクロです。

.LP
.PP
.P
    これらのマクロは、共通の別名です。 これらのうちのどれを使用しても現在の位置で行を打ち切ります。 そして、その後に PD マクロで指定した量だけ垂直方向にスペースを置きます。 フォントのサイズおよび形はデフォルト値に戻されます (10pt ローマン体)。 最後に、現在の左側の余白の量とインデントを復元します。

.IP [designator] [nnn]
    インデントされた段落を設定します。その際、 designator を段落の始まりに印をつけるためのタグとして使用します。 インデント幅は、引数が与えられている場合は nnn に設定されます (省略されていれば、デフォルトの単位は `n' です)。 そうでない場合、 TP, IP, HP で指定された以前のインデント (これらのいずれもが未使用の場合はデフォルト値) に設定します。 この段落 (ただし、指示子 (designator) を含まず) の フォントサイズおよびフェースはデフォルト値に戻されます。

    特定のインデントをするが指示子をつけない段落を開始するには、 第 2 引数に `""' (ダブルクォート 2 つ) を使用してください。

    例えば次の段落は、`.IP \(bu 4' を用いて、すべて 指示子として中点をつけて設定されます。 ブロック全体が `.RS' と `.RE' で括られており、 左余白を一時的に現在のインデント値に設定します。

    •   IP は、リストを整形するために man で使用される 3 つのマクロのうちの 1 つです。

    •   HP は、また別のマクロです。 このマクロは、左側にぶら下げインデントされた段落を生成します。

    •   TP は、また別のマクロです。 このマクロは、インデントされないラベルを生成し、その後に インデントされた段落が続きます。

.HP [nnn]
    左側にぶら下げインデントされた段落を設定します。 引数が与えられている場合、インデント幅は nnn に設定されます (省略されていれば、デフォルトの単位は `n' です)。 そうでない場合、 TP, IP, HP で指定された以前のインデント (これらのいずれもが未使用の場合はデフォルト値) に設定します。 引数が与えられていない場合、デフォルトのインデント幅が 使用されます。 フォントサイズおよびフェースはデフォルト値に戻されます。 次の段落は、インデント幅を 4 に設定されているときの このマクロの効果を示したものです。 ブロック全体が `.RS' と `.RE' で括られており、 左余白を一時的に現在のインデント値に設定します。

    この段落は、 HP マクロを実行したあとの段落です。 見ての通り、このマクロは、最初の行を除いた行すべてが インデントされた段落を生成しています。

.RS [nnn]
    このマクロは、値が与えられていれば (デフォルト単位は `n' です) その値だけ左側の余白を右に移動します。 そうでない場合、 TP, IP, HP で指定された以前のインデント (これらのいずれもが未使用の場合はデフォルト値) に設定します。 その後、インデント値は、デフォルトへ設定されます。

    RS マクロの呼び出しは入れ子にできます。

.RE [nnn]
    このマクロは、左側の余白を nnn レベルまで戻し、直前の左側の余白を回復します。 引数が与えられていなければ、 このマクロはレベルを 1 つだけ戻します。 第 1 レベル (すなわち、まだ RS を呼び出していない) は番号 1 を持っており、 RS マクロを呼び出すごとにレベルが 1 ずつ増加します。

まとめると、次のマクロは、垂直方向にスペースを入れた 行の折り返しを行います (スペースの量は PD マクロを使用すると変更できます): SH, SS, TP, LP (PP, P), IP, HP 。 マクロ RS および RE も行を折り返しますが、垂直方向にスペースを入れません。

フォントを設定するためのマクロ
標準フォントはローマン体です。そして、デフォルトのテキストサイズは 10 ポイントです。

.SM [text]
    同じ行にあるテキストあるいは次の入力行にあるテキストが、 デフォルトのフォントよりも 1 ポイントだけ小さいフォントで 表示されるようになります。

.SB [text]
    同じ行にあるテキストあるいは次の入力行にあるテキストが、 ボールド体のフォントで、そしてデフォルトのフォントよりも 1 ポイントだけ小さいフォントで表示されるようになります。

.BI text
    同じ行にあるテキストが、ボールド体とイタリック体を 交互に使って表示されるようになります。 テキストはマクロ呼び出しと同じ行にあることが必要です。 したがって、

        .BI this "word and" that

    という行は、`this' と `that' がボールド体で表示され、 それに対して `word and' の部分はイタリック体で 表示されます。

.IB text
    テキストが、イタリック体とボールド体を交互に使って 表示されるようになります。テキストはマクロ呼び出しと 同じ行にあることが必要です。

.RI text
    マクロ呼び出しと同じ行にあるテキストが、ローマン体と イタリック体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。

.IR text
    マクロ呼び出しと同じ行にあるテキストが、イタリック体と ローマン体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。

.BR text
    マクロ呼び出しと同じ行にあるテキストが、ボールド体と ローマン体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。

.RB text
    マクロ呼び出しと同じ行にあるテキストが、ローマン体と ボールド体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。

.B [text]
    text がボールド体で表示されるようになります。 マクロが呼び出された行にテキストがない場合は、次の入力行の テキストがボールド体で表示されます。

.I [text]
    text がイタリック体で表示されるようになります。 マクロが呼び出された行にテキストがない場合は、次の行の テキストがイタリック体で表示されます。

その他
出力デバイス用のインデント幅は、troff モードでは 7.2n であり、 nroff モードでは 7n です。 grohtml は例外で、インデントを無視します。

.DT 0.5 インチごとにタブを設定します。 このマクロは常に TH リクエスト中で呼ばれるため、タブ位置が変更された場合に限って 呼び出すことには意味があります。

.PD [nnn]
    新しい段落やセクションの前のスペースを調整します。 オプションの引数は、スペースの量を与えます (デフォルトの単位は `v')。 パラメータ無しの場合、この値はデフォルト値に戻されます (nroff モードでは 1 行で、それ以外では 0.4v)。 このリクエストは、 SH, SS, TP, LP (それぞれ PP および P), IP, HP マクロに影響を与えます。

.AT [system [release]]
    AT&T のマニュアルページを使用するためにフッタを変えます。 このコマンドは互換性のためだけにあるので、使用しないでください。 詳細は groff info マニュアルを参照してください。

.UC [version]
    BSD のマニュアルページを使用するためにフッタを変えます。 このコマンドは互換性のためだけにあるので、使用しないでください。 詳細は groff info マニュアルを参照してください。

.PT ヘッダ文字列を印字します。 ヘッダを制御するためには、このマクロを再定義してください。

.BT フッタ文字列を印字します。 フッタを制御するためには、このマクロを再定義してください。

次の文字列が定義されています:

\*S デフォルトのフォントサイズに戻します。

\*R 「登録」マークです。

\*(Tm
    「商標」マークです。

\*(lq
\*(rq
    左および右クォートです。 これは、それぞれ `\(lq' と `\(rq' と同じです。

\*(HF
    見出しと副見出しを印字するタイプフェースです。 デフォルトは `B' です。

tbl あるいは eqn のようなプリプロセッサが必要な場合、マニュアルページの 1 行目を次のように見えるようにする例になります:

    .\" word

ダブルクォートの後には空白文字 1 つが入ることに注意してください。 word は、必要なプリプロセッサを表す文字で成り立っています。 `e' は eqn を表し、 `r' は refer を、そして `t' は tbl を表します。 最近の man プログラムの実装では、この 1 行目を読んで自動的に正しい プリプロセッサを呼び出します。

関連ファイル

man.tmac
an.tmac
    これらは、 andoc.tmac を呼び出すラッパファイルです。

andoc.tmac
    このファイルは、 man マクロまたは mdoc パッケージのいずれを使用すべきかを判定します。

an-old.tmac
    全 man マクロが、このファイルに含まれます。

man.local
    ローカルの修正とカスタマイズは、このファイルに入れます。

関連項目
man マクロは、 groff リクエストの集まりでできていますので、原理的には、 必要がある場合には自己流の groff リクエストを作って man の機能を追加することができます。 すべてのリクエストの完全な参照は、groff info ページを参照してください。

tbl(1), eqn(1), refer(1), man(1)

作者
このマニュアルページは、本来 Debian GNU/Linux システム用に Susan G. Kleinmann <sgk@debian.org> が書いたものです。 それを Werner Lemberg <wl@gnu.org> が修正し、更新しました。 それが今では GNU troff 配布物の一部になっています。