MAN(7)

名前
man - man pages を整形するマクロ

書式
groff -Tascii -man file ...

groff -Tps -man file ...

man [section] title

説明
このマニュアルページでは groff tmac.an のマクロパッケージの説明する．このマクロパッケージは， Linux の man pages を書いたり移植したりするときに， 開発者に用いられるものである． このマクロパッケージは他のバージョンと完全に互換なので， man page の移植に関しては重大な問題はない (NET-2 BSD release は例外である． これは全く異なったマクロパッケージを用いている)． NET-2 BSD の man page は， -man オプションのかわりに， -mdoc オプションを指定するだけで， groff で利用できる． どのマクロパッケージが用いれらているのかは自動的に検出されるが， -mandoc オプションを使うことを推奨する．

序文
man page のはじめのコマンドは，以下のようにする必要がある．

    .TH title section date source manual,

それぞれ:

    title
        man page のタイトル (e.g., MAN).

    section
        man pageが所属すべきセクションナンバー (e.g., 7).

    date
        最新のリビジョンの日付 — man pageに変更を加えたときには 必ずこれを変更すること． これが最も一般的なバージョン管理方法である．

    source
        コマンドのソース．

        バイナリであれば, 次のようなものを用いる: GNU, NET-2, SLS Distribution, MCC Distribution.

        システムコールであれば，あなたが今現在見ているカーネルのバージョンを用いる: Linux 0.99.11.

        ライブラリコールなら, 関数のソースを用いる: GNU, BSD 4.3, Linux DLL 4.4.1.

    manual
        マニュアルのタイトル (e.g., Linux Programmer's Manual).

マニュアルのセクションは伝統的には以下のように定義されている:

    1 コマンド
        シェルの中からユーザによって実行されうるコマンド．

    2 システムコール
        カーネルが実行している関数．

    3 ライブラリコール
        ほとんどが， libc の関数である．例えば， sort(3)) である．

    4 特殊ファイル
        /dev) 以下にあるファイル．

    5 ファイルのフォーマットと規約
        /etc/passwd のフォーマットや，人間に可読であるファイル．

    6 ゲーム

    7 マクロパッケージと規約
        標準ファイルシステムの概要の定義，この man page，その他．

    8 システム管理コマンド
        mount(8) のような root のみが実行可能なコマンド．

    9 カーネルルーチン
        これは非標準マニュアルセクションである． Linux カーネルに対するソースコードが GNU Public License の下で 自由に利用可能で，たくさんの人達がカーネルを改良するのに貢献している 理由を含んでいる．

フォント
UNIXの世界では，man page について，たくさんの勝手な慣習があるが， Linux特有の数百も存在するman pageでは，われわれの標準を定義している:

    SYNOPSIS のセクションでも, 関数では引数は常にイタリックで表される． 関数の他の部分はボールドで表される:
    int myfunction(int argc, char **argv);

    ファイル名は常にイタリックにする (e.g., /usr/include/stdio.h), SYNOPSIS セクションでは異なり, インクルードファイルはボールドにする (e.g., #include <stdio.h>).

    通例大文字で表現する特殊マクロはボールドで表す (e.g., MAXINT).

    エラーコードのリストを列挙する時には，コードはボールドで表す (このリストは通例 .TP マクロを用いる).

    他のman page (もしくは同じman page の主題)への参照はボールドにする． マニュアルセクションのナンバーが与えられると，数字はローマンになり， スペースは取り除かれる (e.g., man(7)). タイプフェイスを選択するコマンドは以下のように指定する:

.B  ボールド．

.BI ボールドとイタリックとを交互に．

.BR ボールドとローマンとを交互に．

.I  イタリック．

.IB イタリックとボールドとを交互に．

.IR イタリックとローマンとを交互に．

.RB ローマンとボールドとを交互に．

.RI ローマンとイタリックとを交互に．

.SB スモールとボールドを交互に．

.SM スモール

伝統的に，それぞれのコマンドは，7つまでの引数を持つ事が可能だが， GNUバージョンはこの制限を外したようだ．引数は，スペースで区切られる． ダブルクォートはスペースを含んだ引数を与えるのに使用できる． すべての引数はスペースを取り除いて並べられるので， .BR コマンドは，単語はボールドで，句読点をローマンで表すのに使 用できる．

セクション
セクションは .SH ではじまり，ヘッダ名がそれに続く． 名前がスペースを含んでいて .SH, と同じ行にあるのなら，ヘッダはダブルクォートの中に置く． 伝統的ヘッダは次のものを含んでいる: 名前(NAME), 書式(SYNOPSIS), 説明(DESCRIPTION), オプション(OPTIONS), ファイル(FILES), 関連項目(SEE ALSO), 返り値(DIAGNOSTICS), バグ(BUGS),著者(AUTHOR). 唯一必要とするヘッダは NAME (日本語訳版では 名前 )である．これは次の行でプログラムに一行定義を続ける必要がある:

    .SH 名前
    chess \- the game of chess

このフォーマットに従い，コマンド名に続けてシングルダッシュ(-)のまえにバックスラッシュがある事は特に重要である． この文法は， whatis(1) と apropos(1) コマンドのための短いコマンド説明のデータベースを作成するのに， makewhatis(8) プログラムによって利用される．

その他のマクロ
他のマクロには以下のものがある:

.DT デフォルトタブ

.HP インデント開始．

.IP タブでぶら下げてパラグラフを開始する． 続く行にタブが入るのではなくて同一行にタブが入るのを除けば， .TP, と同じである．

.LP .PP と同じ．

.PD パラグラフ間の間隔を引数にセットする．

.PP 新しいパラグラフを開始する．

.RE 相対的インデント(インデントしたパラグラフ)を終る．

.RS 相対的インデント(インデントしたパラグラフ)を開始する．

.SS サブヘッダ ( .SH のようなものだが，サブセクションのために用いる)．

.TP ぶら下げたタグでパラグラフを開始する． タグは次の行で与えられる． このコマンドは， .IP に似ている．

ファイル
/usr/local/lib/groff/tmac/tmac.an
/usr/man/whatis

関連項目
groff(1), man(1), whatis(1), apropos(1), makewhatis(8)