EN JA
GROFF_MAN(7)
GROFF_MAN(7) FreeBSD Miscellaneous Information Manual GROFF_MAN(7)

名称

groff_man -マニュアルページの生成をサポートする groff `man' マクロ

書式

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

解説

groffman pages (マニュアルページ) を生成するために使用される 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
行の長さを設定します。このオプションが与えられないなら、行の長さは、フォーマッタのための組み込みのデフォルトと異なっているなら、前の `.ll' リクエスト (`.TH' マクロが呼び出されるときに実行され なければなりません) によって設定された任意の値を尊重するように設定されます。そうでなければ、 nroff モードでは、78n troff モードでは、6.5i がデフォルトとなります。
行の長さを初期化するために `.ll' リクエストを使用することは、 man プログラムのいくつかのバージョンとの後方互換性のためにサポートされていることに注意してください。 `LL' レジスタを直接初期化することは、そのようなリクエストの使用より 常に 優先されるべきです。特に、`.ll 65n' リクエストは、通常の nroff のデフォルトの行の長さを保存 しません (78n に初期化する man のデフォルトの初期化が優先されます) が、 `-rLL=65n' オプション、または `TH' マクロの使用に先行する同等な `.nr LL 65n' リクエストは、65n の行の長さに設定 する ことに注意してください。
-rLT= title-length
タイトルの長さを設定します。このオプションを与えないなら、タイトルの長さは、行の長さをデフォルトとします。
-rP nnn
ページの数え始めを 1 ではなく nnn からにします。
-rS xx
ベースドキュメントフォントサイズを 10 ポイントではなく xx ポイントにします ( xx には、10, 11, 12 のいずれかが使用できます)。
-rSN= width
副副見出しのインデントを width に設定します。デフォルトは、3n です。
-rX nnn
ページ  nnn の後のページを nnna, nnnb, nnnc などというように数えます。例えば、`-rX2' というオプションの場合、ページを 1, 2, 2a, 2b, 2c というように割り振ります。

使用法

このセクションは、マニュアルページ用に使用可能なマクロについて述べています。さらにカスタマイズしたい場合は、 man.local ファイル中に追加のマクロおよびリクエストを置いてください。このファイルは、 man の直後にロードされます。
.TH title section [extra1 ] [extra2 ] [extra3 ]
この n page (マニュアルページ) のタイトルを title に、セクションを section に設定します。セクションは、1 から 8 までの値をとらなくてはなりません。 section 値には、後ろに文字列を置くこともできます。例えば、 `.pm' とすると、 man pages (マニュアルページ) の特定のサブセクションを示します。 titlesection は、ともにヘッダ行の左端と右端に置かれます (括弧でくくられた sectiontitle の直後に付きます)。 extra1 は、フッタ行の中央に置かれます。 extra2 は、フッタ行の左に置かれます (両面印字がアクティブになっている場合、偶数ページには左に、奇数ページには右に、置かれます)。 extra3 はヘッダ行の中央に置かれます。
HTML 出力用には、ヘッダおよびフッタは完全に取り除かれます。
さらに、このマクロは改ページします。新しい行番号は、再度 1 になります (コマンドラインで `-rC1' オプションが指定されている場合を除きます)。この機能は、複数の man pages (マニュアルページ) を書式設定する場合のためだけにあります。 man page (マニュアルページ) が 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' です) nnn の値だけ左側の余白を右に移動します。そうでない場合、 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 の man pages (マニュアルページ) を使用するためにフッタを変えます。このコマンドは互換性のためだけにあるので、使用しないでください。詳細は、 groff info マニュアルを参照してください。
.UC [ version ]
BSD の man pages (マニュアルページ) を使用するためにフッタを変えます。このコマンドは互換性のためだけにあるので、使用しないでください。詳細は、 groff info マニュアルを参照してください。
.PT
ヘッダ文字列を印字します。ヘッダを制御するためには、このマクロを再定義してください。
.BT
フッタ文字列を印字します。フッタを制御するためには、このマクロを再定義してください。

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

\*S
デフォルトのフォントサイズに戻します。
\*R
「登録」マークです。
\*(Tm
「商標」マークです。
\*(lq
 
\*(rq
左および右クォートです。これは、それぞれ `\(lq' と `\(rq' と同じです。
\*(HF
見出しと副見出しを印字するタイプフェースです。デフォルトは、`B' です。

tbl あるいは eqn のようなプリプロセッサが必要な場合、 man page (マニュアルページ) の 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), man(7),

作者

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