Provided by: manpages-ja_0.5.0.0.20161015+dfsg-1_all 

名前
man - man ページを整形するマクロ
書式
groff -Tascii -man file ... groff -Tps -man file ... man [section] title
説明
このマニュアルページでは、 groff an.tmac のマクロパッケージ (man マクロパッケージとも呼ばれることも多い) について説明する。 このマクロパッケージは、 Linux の man ページを書いたり移植したりするときに、 開発者が 用いるものである。 このマクロパッケージはバージョン間での互換性が高く、 man page の移植にあたっては大きな 問題はないだろう (但し、NET-2 BSD release は例外である。 こちらでは mdoc と呼ばれる全く異なるマクロパッ ケージが使用されている。 mdoc(7) を参照)。 NET-2 BSD の man ページも、 groff のオプションとして -man の代わりに -mdoc を指定するだけで、利用すること ができる。 -mandoc オプションを使えばどのマクロパッケージが用いられているか 自動的に検出できるので、この オプションを使うのがお薦めである。 Linux man-pages プロジェクトのマニュアルページを書く際に 従うべき決まり事については man-pages(7) を参 照。 タイトル行 man ページの (コメント行を除く) 最初のコマンドは、 以下のようにする必要がある。 コメント行とは .\" で始ま る行のことである。 .TH title section date source manual TH に渡す引き数の詳細については man-pages(7) を参照。 なお BSD の mdoc フォーマットのページは TH コマンドではなく Dd コマンドから始まる。 セクション セクションは .SH で始まり、見出し名がそれに続く。 NAME (名前) という見出しだけは必ず置かないといけない。 この見出しは一番最初のセクションにすべきで、見出し の 次の行にはプログラムの説明を一行で書く。 .SH NAME item \- description このフォーマットに従い、コマンド名に続くシングルダッシュ (-) の前には必ず バックスラッシュを置くこと。 こ の文法は、 mabdb(8) プログラムが whatis(1) や apropos(1) コマンド用の短い説明のデータベースを 生成する際 に利用される。 マニュアルページに登場する可能性のあるこれ以外のセクションのリストに ついては man-pages(7) を参照。 フォント タイプフェイスを選択するコマンドは以下のように指定する: .B ボールド。 .BI ボールドとイタリックとを交互に (特に関数指定に便利)。 .BR ボールドとローマンとを交互に (特に他のマニュアルページを参照するときに便利)。 .I イタリック。 .IB イタリックとボールドとを交互に。 .IR イタリックとローマンとを交互に。 .RB ローマンとボールドとを交互に。 .RI ローマンとイタリックとを交互に。 .SB スモールとボールドを交互に。 .SM スモール (頭字語などに用いる) 慣例としては、各コマンドは 6 つまでの引き数を持つ事が可能だが、 GNU の実装では制限はないようだ (しかし移 植性を保持するためには 引き数は 6 までに限っておくのが良いだろう)。 引き数はスペースで区切られる。 スペー スを含んだ引き数を与えるには、ダブルクォートで囲えばよい。 すべての引き数はスペースを取り除いて並べられる ので、 .BR コマンドを使えば、単語はボールドで、句読点をローマンで表すことができる。 引き数が全く与えられ なければ、 そのコマンドは次の行のテキストに適用される。 その他のマクロや文字列 以下に、他のマクロや定義済みの文字列を示す。 特に記述がない限り、マクロを使うと改行が行われる (テキストの 現在の行を終了する)。 多くのマクロは 「優先インデント (prevailing indent)」を設定したり、使用する。 優先 インデントの値は、どのマクロからもパラメーター i によって指定できる (以下に示す)。 マクロでは i を省略す ることもでき、その場合は現在の優先インデントの値が用いられる。 これにより結果として、インデントされた段落 が連続している場合、 インデントの値を再指定しなくてもインデント量を同じにすることができる。 通常の (イン デントされていない) 段落が登場すると、 優先インデントの値はデフォルトの値 (0.5 インチ) にリセットされる。 デフォルトでは、与えたインデントの値は ens 単位である。 インデントの単位には ens や ems を用いるとよ い。これらの単位は フォントサイズが変更されると自動的に調整されるからである。 他の重要なマクロ定義は以下 の通り: 通常の段落 .LP .PP と同じ (新たな段落の開始)。 .P .PP と同じ (新たな段落の開始)。 .PP 新しい段落を開始し、インデントをリセットする。 相対マージンインデント .RS i 相対マージンインデント (relative margin indent) を開始する。 左マージンを i だけ右に移動する (i が省略されると優先インデントの値が用いられる)。 新たな優先インデントは 0.5 インチにセットされ る。 結果として、以下の段落は対応する .RE が現れるまでインデントされる。 .RE 相対マージンインデントを終了し、 優先インデントの値を元に戻す。 段落をインデントするマクロ .HP i ぶらさがりインデントの段落を開始する (段落の先頭行は通常の段落の左マージンとなり、 段落の残りの 行はインデントされる)。 .IP x i インデントされた段落。オプションとしてぶらさがりタグをとる。 タグ x が省略されると、以下の段落す べてが i でインデントされる。タグ x が与えられると、タグはインデントされた段落の前にぶら下げられ る (.TP とちょうど同じ。ただしタグを次の行に書く代わりにコマンドに指定する)。 タグが長すぎる場合 には、タグに続くテキストは次の行に移動する (テキストが失われたり混ざったりすることはない)。 箇条 書きをするには、 \(bu (点) あるいは \(em (ダッシュ) をタグにしてこのマクロを用いるとよい。番号付 きで箇条書きをする場合は、 数字または文字にピリオドを付けたものをタグにすればよい。 こうすれば他 のフォーマットへの変換が簡単になる。 .TP i ぶらさがりタグの段落を開始する。タグは次の行に指定する。 結果は .IP コマンドと似たものになる。 ハイパーテキストリンク用のマクロ (groff だけでサポートされている機能) ハイパーテキストリンク用のマクロを使用するためには、 www.tmac マク ロパッケージをロードする必要がある。 ロードを行うには .mso www.tmac リクエストを使用する。 .URL link url trailer URI (URL) url へのハイパーテキストリンクを挿入する。 link はリンク名のテキストであり、 trailer の内容はリンクの直後に表示される。 HTML を生成する時に、このマクロは <A HREF="url">link</A>trailer という HTML コマンドに変換される。 このマクロや他の関連マクロは新しく、 多くのツールはこれらに対しては何もしないであろう。 (troff を含めた) 多くのツールは未定義のマクロを単に無視するだけ (あるいは最悪でもマクロをテキストとして 挿入するだけ) なので、これらを書いても危険はない。 マニュアルページ内で自分で URL マクロを定義して、 groff 以外の roff ビューアでも表示されるように するのもいいだろう。 こうすることで、URL も、リンク用のテキストも、(もしあれば) それに続く テキ ストも、表示できるようになる。 以下に例を挙げる: .de URL \\$2 \(laURL: \\$1 \(ra\\$3 .. .if \n[.g] .mso www.tmac .TH ... (later in the page) This software comes from the .URL "http://www.gnu.org/" "GNU Project" " of the" .URL "http://www.fsf.org/" "Free Software Foundation" . 上記の例において、 groff を使って表示しようとした場合には、 www.tmac マクロパッケージの URL マク ロの定義の方が ローカルで行われた定義よりも優先される。 他にもいくつかのリンク用のマクロが用意されている。詳しくは groff_www(7) を参照のこと。 その他のマクロ .DT タブをデフォルトのタブ値 (0.5 インチごと) にリセットする。 改行はしない。 .PD d パラグラフ間の間隔を引き数にセットする (省略されると d=0.4v となる)。 .SS t サブヘッダー t (.SH のようなものだが、サブセクションのために用いる)。 定義済みの文字列 man パッケージには、以下のような定義済みの文字列がある: \*R 登録シンボル: ® \*S デフォルトフォントサイズを変更する \*(Tm 商標シンボル: ™ \*(lq 左に傾いたダブルクォート: “ \*(rq 右に傾いたダブルクォート: ” 安全なサブセット 技術的には man は troff のマクロパッケージだが、実際には多数の別のツールが man ページのファイルを処理して おり、それらは troff の全ての機能を 実装していないこともある。したがって、他のツールでも正しく処理できる ように、 troff のあまり一般的でない機能は、可能ならば用いないのが望ましい。 様々な troff プリプロセッサ も用いないほうが良いだろう (やむを得ない場合は tbl(1) は用いても良い。しかし 2 列の表なら、代わりに IP や TP コマンドを用いてみよう)。 計算機能も用いない方が良いだろう。他のツールのほとんどはこれらを処理でき ない。 他のフォーマットに変換が容易な、単純なコマンドを使うようにしよう。 以下の troff コマンドは、使って も問題ないと考えてよいだろう (多くの場合、変換コマンドによって無視されるかもしれないが)。 \", ., ad, bp, br, ce, de, ds, el, ie, if, fi, ft, hy, ig, in, na, ne, nf, nh, ps, so, sp, ti, tr troff のエスケープシーケンスの多くも利用できる (これらのエスケープシーケンスは \ で始まる)。 バックスラッ シュ文字を通常のテキストとして使いたい場合は \e とする。 利用できる他のシーケンスには以下のようなものがあ る (x や xx は任意の文字, N は任意の数字): \', \`, \-, \., \", \%, \*x, \*(xx, \(xx, \$N, \nx, \n(xx, \fx, \f(xx. グラフィックの描画にはエスケープシーケンスは用いないほうが良い。 bp (改頁) にはオプションパラメーターを用いないこと。 sp (垂直スペース) には正の値のみを用いること。 man や mdoc マクロパッケージにあるマクロと、 名前が同じで機能の異なるマクロを定義 (de) しないこと。そのよう な再定義は無視される可能性が高い。 正方向へのインデント (in) には、負のインデントを対応させること (この マクロの代わりに RS と RE マクロを使った方がよいのだが)。 条件テスト (if,ie) は状態として 't' または 'n' だけを持つようにすること。 変換 (tr) には無視できるものだけを使うこと。 フォントの変更 (ft と \f エス ケープシーケンス) には 1, 2, 3, 4, R, I, B, P, CW のみを用いること (ft コマンドの場合はパラメーターを指定 しなくてもよい)。 この制限を越えて機能を用いる場合は、いくつかのツールを使って、 その結果を注意してチェックすること。追加し た機能が安全だと 確信したら、この文書の管理者にその安全なコマンドまたはシーケンスを 教えてほしい。リスト に追加する。
ファイル
/usr/share/groff/[*/]tmac/an.tmac /usr/man/whatis
注意
テキストにはぜひとも完全な URL (または URI) を書くようにすること。 man2html(1) のようなツールは、これらを 自動的にハイパーテキストリンクに変換する。 新たに取り入れられた URL マクロを関連情報へのリンクに用いても 良い。 URL を書く場合は、 例えば ⟨http://www.kernelnotes.org⟩ のように完全な形式で書き、 ツールによる URL 自動検知ができるようにすること。 これらのファイルを処理するツールは、ファイルをオープンして 最初の空白以外の文字を調べる。行の先頭にピリオ ド (.) またはシングルクォート (') があると、これは troff ベースの ファイル (man や mdoc) であるとみな す。左角括弧 (<) は SGML/XML ベースのファイル (HTML や Docbook) であるとみなす。 それ以外は単純な ASCII テキスト ("catman" の結果など) とみなす。 多くの man ページは、最初の行が ´\" とスペースで始まっており、 そこにはそのページが処理されるべきプリプロ セスを表す文字が書いてある。 troff 以外の変換プログラムへの移植性のため、 tbl(1) や、 Linux が自動的に検 知できるもの以外は使わないようにすることを勧める。 しかし、この情報を記述して、書いたページが他の (より低 機能な) システムでも 扱えるようにしたい場合もあるかも知れない。 以下にこれらの文字によって起動されるプリ プロセッサの定義を示す: e eqn(1) g grap(1) p pic(1) r refer(1) t tbl(1) v vgrind(1)
バグ
mdoc や DocBook に比べると、 マクロの多くは書式 (フォントタイプやスペーシングなど) に関するものであり、 意味上のもの (このテキストは他のページへの参照である、など) ではない (HTML ですら意味的なマーキングに思え る)。 このため、 man フォーマットを他のメディアへ変換したり、 フォーマットを他のメディアで有効なものにし たり、 相互参照を自動的に挿入したりすることが困難になっている。 上に挙げたような安全なサブセットを守れ ば、 将来別のリファレンスページフォーマットへ変換する作業が簡単になるだろう。 Sun のマクロである TX は定義されていない。
関連項目
apropos(1), groff(1), lexgrog(1), man(1), man2html(1), whatis(1), groff_man(7), groff_www(7), man-pages(7), mdoc(7), mdoc.samples(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告 に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。