GROFF_MSAFER(7)

名称
groff_ms - groff ms マクロ

書式
groff -ms [ options... ] [ files... ]

解説
このマニュアルページは GNU バージョンの ms マクロの解説をします。 このマクロは、groff 文書整形システムの一部分です。 この groff ms マクロは、4.3 BSD Unix ms マクロの文書化された機能と互換であるように設計されています。 しかし、次のような制限があります:

•   groff ms の内部は Unix ms の内部とは同じではありません。 したがって、Unix ms の実装の細部に依存する書式については、 機能しないとしてももっともでしょう。

•   タイプライタ様のデバイスには、サポートはありません。

•   バークレイ方言、特に、 TM や CT マクロは、実装されていません。

•   groff ms では、 カットマーク は提供しません。

•   重複した行送りは許されません (代わりに、大きな垂直行送りを使用して下さい)。

•   groff ms は、互換モードでは機能しません (例えば、 -C オプションなど)。

•   エラー処理の方針については、groff ms は、沈黙したままエラーを無視 したりせず、エラーを検出してレポートします。

groff ms マクロは、GNU troff の多くの機能を利用しています。 したがって、これは他のいかなる troff によっても使用できません。

ベル研の方言は、 BSD ms マクロにも groff ms マクロのいずれにも実装されていません。

ある Unix ms の文書には、数値レジスタの CW と GW とが、それぞれカラム幅とガター幅 を制御する為に 使用できると述べられています。 しかし、ここでは事実はそうではありません。 これらの数値レジスタは、groff ms では使用できません。

リセットを引き起こすマクロはインデントを設定します。 インデントを変更するマクロはインデントを増減するのではなく、 むしろインデントを絶対的に設定します。 このことによって、独自のマクロを追加定義している文書に 問題が生じるかも知れません。 これを解決するには、 in リクエストを用いずに、代わりに RS や RE マクロを用いて下さい。

数値レジスタの GS は、groff ms マクロによって 1 に設定されます。 しかし、この数値レジスタは Unix ms マクロでは使用されていません。 このレジスタの目的は、 Unix ms か groff ms かのどちらによってフォーマットされているのかを確定する 必要のある文書によって利用されることです。

脚注はキープやディスプレイの中で安全に使用できるように実装されています。 自動的に番号を割り振る脚注をフローティングキープの中で使うことは、推奨 できません。 \** と 対応する .FS との間にもう一つの \** があるようにすると安全です。 その際には、次のようなことだけが要求されています。 つまり、各 .FS は対応する \** の後に出現することと、 対応する \** の置かれる順番と同じ順番で .FS が出現することです。

文字列の \*{ や \*} は、上付き文字を開始したり終了したりするのに使うことができます。

いくつかの Unix V10 ms の機能が実装されています。 B, I や BI マクロでは、第 3 番目の引数がオプションとして指定できます。 この引数は、現在のフォントで最初の引数の直前に印字されます。 B と同じようなマクロ CW があります。 これは、定幅フォントにします。

次の文字列は、groff ms マクロを英語以外の言語に適合させるために 再定義することができます。

文字列	デフォルト値

REFERENCES	References
ABSTRACT	ABSTRACT
TOC	Table of Contents
MONTH1	January
MONTH2	February
MONTH3	March
MONTH4	April
MONTH5	May
MONTH6	June
MONTH7	July
MONTH8	August
MONTH9	September
MONTH10	October
MONTH11	November
MONTH12	December

フォントファミリは、リセットで文字列 FAM から取られて置き直されます。 初期化時にこの文字列が未定義であった場合は、現在のフォントファミリが 設定されます。 脚注のポイントサイズ、垂直行送り幅、そして段落間の行送り幅は、 数値レジスタの FPS, FVS, や FPD から取り出されます。 初期化時に、これらは、それぞれ \n(PS-2, \n[FPS]+2, および \n(PD/2 に等しく設定されます。 しかし、これらのレジスタのいずれかでも初期化前に定義されていれば、 そのレジスタは、これらの値に設定されません。 ( .hy リクエストによって設定される)ハイフネーションフラグは、 HY レジスタから取られて設定されます。 これが初期化時に定義されていない場合には、 HY レジスタは 14 に設定されます。

右詰めのディスプレイは .DS R および .RD を用いて利用可能です。

次のような慣行がマクロ、文字列そして数値レジスタの名前に行なわれています。 groff ms マクロを使用する文書に利用出来る外部名は大文字と数字だけから なります。 内部的には、マクロはモジュールに分割されます。 ある一つのモジュールの中だけで使用される名前は、 mudule*name という形をしています。 定義されているモジュールの外部で使用される名前は、 module@name という形をしています。 ある特別の環境に関わる名前は、 environment:name という形をしています。 これらの名前は、 par モジュールの中でのみ使われ、 name には、モジュールは接頭辞としてつきません。 組み合わされた名前で配列を実装するのに使われるものは、 array!index という形をしています。 以上より groff ms では以下の名前を予約しています:

•   * を含んでいる名前。

•   @ を含んでいる名前。

•   : を含んでいる名前。

•   大文字と数字だけを含んでいる名前。

関連ファイル
/usr/share/tmac/tmac.s

関連項目
groff(1), troff(1), tbl(1), pic(1), eqn(1)
ms(7)