groff_mm(1) groff mm マクロ

書式

groff -mm [ options... ] [ files... ]

解説

groff mm マクロは、DWB mm マクロと互換であるように設計されています。 しかし、以下のような制限があります:
ベル研の方言は実装されていません。
マクロ OK 及び PM は実装されていません。
groff mm は、カットマークをサポートしません。

mm は、国際化されて設計されています。 そのため、各国語対応用の短いマクロファイルを書き換えて、 英語のテキストを好みの言語対応に置き換えることができます。 mmse を例として用いてください。

大域変数の初期化後に localelang_locale という ファイルを読み込みます。そのため、企業名などについてのマクロを ローカライズすることができます。

このマニュアルでは、角括弧は省略可能な引数を表示するのに用いられます。

数値レジスタと文字列変数
多くのマクロを数値レジスタと文字列変数によって制御することが出来ます。 数値レジスタは、nr コマンドによって、代入が出来ます。
.nr XXX [+-]n [i]
XXX はレジスタの名前です。 n は、代入されるべき値です。 そして、i は、自動増加に使われる増分値です。 もし現在値の増減が必要ならば、n には、 前に接頭辞として正符号や負符号をつけることが出来ます。 (自動増加や自動減少が行なわれるのは、 数値レジスタが正符号か負符号とともに用いられた時のことで、 \n+[XXX]\n-[XXX] の様になります。)

文字列変数は、ds により定義されます。
.ds YYY string
文字列 string としては、空白も含めて行末までの全部が割り当てられます。 string の中の最初の空白は、二重引用符が前につけられなければなりません。 (テキストの中では、文字列変数は \*[YYY] の様に使われます。)

数値レジスタの特殊な形式
数値レジスタというものは、形式が何も指定されなければ、 通常の数字で表示されます。 形式は af によって設定出来ます:
.af R c
R はレジスタの名前で、c はその形式です。
形式

数の並び
1

0, 1, 2, 3, ...
001

000, 001, 002, 003, ...
i

0, i, ii, iii, iv, ...
I

0, I, II, III, IV, ...
a

0, a, b, c, ..., z, aa, ab, ...
A

0, A, B, C, ..., Z, AA, AB, ...

マクロ:

)E level text
text (見出しテキスト) を目次に加えます。 level は 0 か 1-7 の間です。 本マクロは目次のカスタマイズに使用します。
1C [1]
1 段の段組処理を開始します。引数としての 1 はページ区切りを無効にします。 広い脚注を用いてください。 狭い脚注は重ね打ちになってしまうでしょう。
2C
2 段の段組処理を開始します。ページを 2 段のカラムに分割します。 これは、MC の特殊な場合になります。 関連項目は 1C です。
AE
アブストラクトの終わり。 AS を参照してください。
AF [企業名]
著者の帰属する企業。AU の前に呼び出さなければなりません。 関連項目は COVER です。
AL [type [text-indent [1]]]
自動番号付けリストを開始します。 項目は、1 から始められる番号を振付けられます。 引数の type は数字の型を制御します。
引数

数字の型
1

アラビア数字 (デフォルト)
A

大文字 (A-Z)
a

小文字 (a-z)
I

大文字 ローマ数字
i

小文字 ローマ数字 text-indent はインデントを設定し、Li よりも優先されます。 3 番目の引数は、各項目の前に空行を出力することを禁止します。

APP name text
name という名前の付録を開始します。 name が "" である場合には、自動的に名前がつけられます。 名前が自動生成されるならば、付録は A から始まります。 数値変数の Aph が非 0 であれば、新しいページに切り替えられ、 ヘッダも生成されます。 これが、デフォルトです。 付録は、常に「List of contents」の中に正しいページ番号とともに表示されます。 APPENDIX という名前は、 文字列変数の App に望みのテキストを代入すれば、 変えることが出来ます。 文字列 Apptxt は、現在の付録テキストを含みます。
APPSK name pages text
.APP とほぼ同じです。異なるのは、pages だけ ページ番号が増加されることです。 これが使用されるのは、図表や、その他整形されていない文書が 付録に含まれる時です。
AS [arg [indent]]
アブストラクトの開始。 インデントは、「en (半角)」で指定されますが、単位付きの指定も可能です。 引数の arg は、アブストラクトが印字される場所を制御します。
arg

配置
0

公開論文形式 (MT 4) の場合には、 アブストラクトは第 1 ページと表紙に印字されます。 それ以外の場合には、表紙はなく、第 1 ページに印字されます。
1

アブストラクトは表紙だけに印字されます (MT 4 の場合のみ)。
2

アブストラクトは表紙だけに印字されます (MT 4 以外の場合のみ)。 表紙の印字には、CS は必要ありません。 外部へのレター形式 (MT 5) では、アブストラクトは全く印字されません。 indent は両側マージンのインデントを制御します。 指定されない時は、通常のテキストのインデントが用いられます。

AST [title]
アブストラクトの題目。 デフォルトでは、ABSTRACT です。 アブストラクトのテキストの上にそのテキストを設定します。
AT title1 [title2 ...]
著者の肩書。AT は、各々の AU のすぐ後に現れなければなりません。 肩書は、署名ブロックで名前の後に現れます。
AU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]
著者に関する情報。これは、覚書や論文の著者を明示し、表紙や他の同様の場所に 印字されます。 AUTL の前に現れてはなりません。 著者情報には、イニシャル (initials)、所在地 (loc)、部局 (dept)、 電話内線番号 (ext)、部屋番号又は部屋の名前 (room)、そして 3 個までの 追加引数を含めることが出来ます。
AV [name [1]]
承認署名。これは、署名と日付を伴う承認欄を生成します。 変数 Letapp を用いて文字列 APPROVED: を変更することが出来ます。 また、文字列 DateLetdate に入っています。
AVL [name]
手紙の署名。署名用の空間の行を生成します。
B [bold-text [prev-font-text [bold...]]]
ボールド体の開始。引数の数には、制限はありません。 すべての引数は、1 個の単語に結合されます。 第 1 番目の引数、第 3 番目の引数、などなどがボールド体で印字されます。
B1
(ms マクロのような) ボックスの開始。テキストの周りにボックスを描きます。 テキストは 1 文字インデントされ、右マージンは 1 文字短くなります。
B2
ボックスの終了。B1 によって開始されたボックスを終了します。
BE
ページ底部のブロックの終了。BS を参照してください。
BI [bold-text [italic-text [bold-text [...]]]]
ボールド体とイタリック体。 引数の数には制限はありません。 B を参照してください。
BL [text-indent [1]]
黒丸リストの開始。これは、黒丸記号と空白を各リスト項目の先頭部分に配置する リストを初期化します (LI を参照してください)。 text-indent は、数値レジスタ Pi により設定されるリスト項目の デフォルトのインデントより優先されます。 第 3 番目の引数により、各項目前の空行の出力が禁止されます。
BR [bold-text [roman-text [bold-text [...]]]]
ボールド体とローマン体。 引数の数には、制限はありません。
BS
ページ底部のブロック開始。これは、テキストブロックの定義を開始します。 このブロックは各ページの底部に印字されます。 ブロックは、BE で終了します。
BVL text-indent [mark-indent [1]]
変則可変項目リスト。 この変則可変項目リストには、定まった項目記号がありません。 その代わり、各 LI に項目記号が定義されていると仮定しています。 テキストは必ず、項目記号の後の次の行で始まります。 text-indent によって、テキストのインデントが設定されます。 そして、mark-indent によって、現在のインデントから項目記号までの 距離が設定されます。 第 3 番目の引数は、各項目の前に空行を出力することを禁止します。
COVER [arg]
COVER は表紙の定義を開始します。 重要なことは、.COVER がすべての通常のテキストより前に現れることです。 .COVER では、arg を使用して、 /usr/share/tmac/mm/arg.cov というファイル名を構成します。 このお陰で、無制限な型の表紙を創作することが可能です。 ms.cov の目的としていることは、ms の表紙に似せることです。 .COVER では、表紙の定義の最後に .COVEND があることが要求されます。 必ず、以下のような順番で表紙マクロを使用してください:
.COVER
.TL
.AF
.AU
.AT
.AS
.AE
.COVEND
しかし、必ず必要なのは .TL.AU だけです。
COVEND
これによって表紙の記述は終了し、表紙が印字されます。 このマクロは、表紙ファイルに定義されています。
DE
ディスプレイ終了。これは、DS 又は DF で始まったテキストブロック やディスプレイを終了させます。
DF [format [fill [rindent]]]
フローティングディスプレイを開始します (入れ子にはできません)。 フローティングディスプレイは、キューに保存され、入れられた順番で印字されます。 format, fill, rindent は、DS の場合と同じです。 フローティングディスプレイは、2 個の数値レジスタ DeDf とによって制御されます。

De レジスタ
0

特別なことは何もありません。これがデフォルトです。
1

十分な空白がある場合、 ディスプレイが印字された後で改ページが行われます。 そうでない場合、ディスプレイは文書の最後に印字されます。

Df レジスタ
0

(セクション - ページの番号付けが有効な時は) 各セクションの最後に、 そうでない時には文書の最後に、ディスプレイは印字されます。
1

充分な余地があれば、新しいディスプレイは現在のページに印字されます。 そのような余地がなければ、ディスプレイは文書の最後に印字されます。
2

1 つのディスプレイが、各ページの、又は (多段組のモードでは) 各カラムの一番上に印字されます。
3

もし充分な余地があるならば、1 つのディプレイを印字します。 余地がなければ、ディスプレイは次ページか次のカラムの一番上に印字されます。
4

新しいページまたはカラムに、入るだけのディスプレイを印字します。 もし De が 0 でなければ、各ディスプレイの間に改ページが出力されます。
5

現在のページをディスプレイで満たします。 そして、残りは、新しいページまたはカラムから始めます。(これがデフォルトです)。 もし De が 0 でなければ、各ディスプレイの間に改ページが出力されます。

DL [text-indent [1 [1]]]
ダッシュリストの開始。これは、各項目がダッシュの後に印字されるリスト を開始します。 text-indent は、数値レジスタの Pi によって設定される、リスト項目の デフォルトのインデントを変更します。 第 2 引数は、リスト項目の間の空行印字を抑止します。 LI を参照してください。 第 3 引数は、各リスト項目の前の空行印字を抑止します。
DS [format [fill [rindent]]]
スタティックディスプレイの開始。これは、DE に至るまでテキストの収集を 始めます。 テキストは、ページ長より長くならない限り同一のページに印字されます。 DS は入れ子にできます。入れ子の深さには限度はありません (合理的な程度に :-)。

format
""

インデントしません。
none

インデントしません。
L

インデントしません。
I

数値レジスタ Si の値だけテキストをインデントします。
C

各行を中央揃えします。
CB

ディスプレイ全体をブロックとして中央揃えします。
R

行を右揃えします。
RB

ディスプレイ全体をブロックとして右揃えします。

L, I, C, CB は 0, 1, 2, 3 とも指定できます。これは互換性の理由からです。 (この機能は使用しないでください。:-)

fill
""

行詰め機能を無効にします。
none

行詰め機能を無効にします。
N

行詰め機能を無効にします。
F

行詰め機能を有効にします。

N と F は 0 と 1 とも指定できます。 通常は空行がディスプレイの前と後に印字されます。 数値レジスタ Ds に 0 を設定すればこれを抑止出来ます。 rindent を指定すれば、行の長さをその量だけ短く出来ます。

EC [title [override [flag [refname]]]]
数式の題目。 数式に題目をつけます。 引数に override を指定すれば、数式番号を変更出来ます。

flag
none

override は、番号の接頭辞となります。
0

override は、番号の接頭辞となります。
1

override は、番号の接尾辞となります。
2

番号は override に置き換えられます。 EC は数値レジスタの Ec をカウンタとして使います。 番号の形式を変更する為に、.af を用いることが出来ます。 もし数値レジスタの Of が 1 であれば、題目の形式として番号の後にはドット の代わりにダッシュが使われます。
文字列変数の Le は、式一覧 (List of Equations) の題目を 制御します。 式一覧は、数値レジスタ Le が 1 の場合のみ表示されます。 デフォルトは 0 です。 これは、デフォルトでは LIST OF EQUATIONS です。 数値レジスタの Liec は単語 Equation を含みます。 この文字列は番号の前に印字されます。 もし refname が指定されている時には、数式番号が .SETR によって 保存されます。これは、.GETST refname によって取り出せます。
ECDS/DE の内部で使用されている場合、 特別な表題処理を行います。 DS の書式には影響されません。

EF [arg]
偶数ページのフッタ。これは偶数ページの通常のページフッタの すぐ上に印字されます。 PF を参照してください。
EH [arg]
偶数ページのヘッダ。これは偶数ページの通常のページヘッダの すぐ下に印字されます。 PH を参照してください。
EN
数式の終了。 EQ を参照してください。
EOP
ページ終了のユーザ定義マクロ。 フッタを通常通り印字する代わりにこのマクロが呼び出されます。 このマクロは何のトラップもアクティブではない状態の隔離された環境下で 実行されます。 TPを参照してください。

EOP に利用できる文字列変数
EOPf

PF からの引数。
EOPef

EF からの引数。
EOPof

OF からの引数。

EPIC width height [name]
EPIC は指定された width (幅) と height (高さ) の 箱を描きます。 また、テキスト name を表示するか、 name が指定されていない場合にはデフォルト文字列を表示します。 外部ピクチャを取り込むときに使用し、 この場合、ピクチャの大きさだけを指定してください。 PIC を見てください。
EQ [label]
数式の開始。 EQ/EN は、eqn への入力として書かれた数式の区切り記号です。 EQ/ENDS/DE ペアに囲まれていなければなりません。 しかし、EQeqn のオプションを設定するのに使用されているだけ ならば、その必要はありません。 数値レジスタの Eq が 1 でなければ、label は数式の右マージンに 現れます。1 であれば、ラベルは左マージンに現れます。
EX [title [override [flag [refname]]]]
エグジビットの題目。 引数は EC と同じです。 EX は数値レジスタの Ex をカウンタとして使用します。 文字列変数の Lx は、エグジビット一覧 (List of Exhibits) の題名を 制御します。デフォルトでは LIST OF EXHIBITS となります。 エグジビット一覧が表示されるのは、 数値レジスタ Lx が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の Liex は、Exhibit という単語を含みます。 この単語は、番号の前に印字されます。 もし refname が指定されたなら、その時はエグジビット番号は、 .SETR により保存されます。 これは、.GETST refname によって取り出せます。
EXDS/DE の内部で使用されている場合、 特別な表題処理を行います。 DS の書式には影響されません。
FC [closing]
レターや覚書の正式な締めくくりとして Yours very truly, を印字します。 引数でデフォルトの文字列を置き換えられます。 デフォルトは文字列変数の Letfc に保管されています。
FD [arg [1]]
脚注のデフォルトの形式。 これは、ハイフネーション (hyphen)、右マージン揃え (adjust)、 脚注テキストのインデント (indent) を制御します。 また、ラベル揃え (ljust) も変更することが出来ます。

arg  hyphen  adjust  indent  ljust
0    no      yes     yes     left
1    yes     yes     yes     left
2    no      no      yes     left
3    yes     no      yes     left
4    no      yes     no      left
5    yes     yes     no      left
6    no      no      no      left
7    yes     no      no      left
8    no      yes     yes     right
9    yes     yes     yes     right
10   no      no      yes     right
11   yes     no      yes     right

11 以上の引数は、引数 0 と見なされます。mm でのデフォルトは 10 です。
FE
脚注の終了。
FG [title [override [flag [refname]]]]
図の題名。 引数は EC のものと同じです。 FG は数値レジスタの Fg をカウンタとして使用します。 文字列変数の Lf は、図一覧 (List of Figures) の題名を 制御します。デフォルトでは LIST OF FIGURES となります。 図一覧が表示されるのは、 数値レジスタ Lf が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の Lifg は、Figure という単語を含みます。 この単語は、番号の前に印字されます。 もし refname が指定されていれば、図番号が .SETR によって保存されます。 これは、.GETST refname によって取り出せます。
FGDS/DE の内部で使用されている場合、 特別な表題処理を行います。 DS の書式には影響されません。
FS [label]
脚注の開始。 脚注は FE で閉じられます。 通常脚注は自動的に番号が付されます。 この番号は、文字列変数の F により利用出来ます。 ただ \*F をテキストに加えてください。 また、label を引数として加えることで、 他の番号や名前を脚注に付けることが出来ます。 ディスプレイの中の脚注も今では可能です。 空行が、脚注同士を分離します。 行の高さは、数値レジスタの Fs により制御されます。 デフォルト値は 1 です。
GETHN refname [varname]
これは、対応する SETR refname が配置された場所の セクションヘッダ番号を挿入します。 これは、1 回目のパスでは、X.X.X. となっているでしょう。 INITR を参照してください。 もし varname が指定されているなら、GETHN により文字列変数の varname にはセクションヘッダ番号が代入されます。
GETPN refname [varname]
これは、対応する SETR refname が配置された場所の ページ番号を挿入します。 これは、1 回目のパスでは、9999 となっているでしょう。 INITR を参照してください。 もし varname が指定されているなら、GETPN により文字列変数の varname にはページ番号が代入されます。
GETR refname
これは GETHNGETPN をテキストの 「chapter」と「, page」とともに結合します。 文字列変数の Qrf は参照用のテキストを保持しています:
      .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp].
Qrf は他の言語をサポートする為に変更出来ます。 文字列変数の QrfhQrfpGETR により設定され、 セクションヘッダ番号とページ番号が入っています。
GETST refname [varname]
これは、.SETR の第 2 引数により保存された文字列を挿入します。 これは、1 回目のパスでは、ダミー文字列になっているでしょう。 もし varname が指定されたなら、GETST により文字列変数の varname には保存された文字列が代入されます。 INITR を参照してください。
H level [heading-text [heading-suffix]]
番号付セクション見出し。 セクションヘッダには、1 から 7 迄のレベルを付けられます。 レベル 1 が、トップレベルです。 テキストは引数 heading-text に与えられます。 テキストに空白があるときには、二重引用符で括らなければなりません。 heading-suffix をセクションヘッダのテキスト中に付け加えられます。 しかし、これは目次には現れません。 通常、これは脚注マークや同様のものに用いられます。 heading-suffix の中では \*F を使わないでください。 \*F は機能しません。 手動のラベルを使わなければなりません。 FS を参照してください。

H の直後に置かれた段落 P は、無視されます。 H によって、行送りとインデントの処理が行われます。

見出しの前のページ切り替え
数値レジスタの Ej は見出しの前のページ切り替えを制御します。 通常、レベル 1 の見出しは、その前に 2 行の空行が印字されます。 それより高次のレベルの見出しの前では 1 行になります。 数値レジスタの Ej が 1 であれば、各第 1 レベルの見出しの前で 新しいページが排出されます。 レベルが Ej の値以下の見出しすべてについて、ページが切り替えられます。 Ej のデフォルト値は 0 です。

見出しの行区切りレベル
もし見出しレベルが数値レジスタ Hb 以下ならば、 見出しの後で行区切りが起こります。 このレジスタのデフォルト値は 2 です。

見出しの空白行のレベル
もし見出しレベルが数値レジスタ Hs 以下ならば、 空白行が見出しの後に挿入されます。 このレジスタのデフォルト値は 2 です。

もしレベルが HbHs の両方より大きければ、 テキストは同じ行で見出しの後に続きます。

見出しの後のインデント
見出しの後のテキストのインデントは数値レジスタの Hi によって制御 されます。 このレジスタのデフォルト値は 0 です。

Hi
0

テキストは左揃えされます。
1

テキストのインデントは数値レジスタの Pt の値に従います。 P を参照してください。
2

テキストは見出しの最初の単語に合わせて 1 列に並べられます。

セクション見出しの中央揃え
そのレベルが数値レジスタの Hc 以下で、かつ Hb 又は Hs 以下の見出しはすべて、中央揃えされます。

見出しのフォントの管理
各見出しレベルでのフォントは文字列変数の HF を用いて管理されています。 この変数には各レベルでのフォント番号又はフォント名が入れられています。 デフォルトでは 2 2 2 2 2 2 2 (すべての見出しでイタリック体) です。 これをまた I I I I I I I の様にも書くことが出来ます。 省略された値はすべて 1 であると推定されます。

ポイントサイズの管理
各見出しのポイントサイズは、フォントが HF により管理されるのと同様な 方法で、文字列変数の HP により管理されます。 値 0 は、デフォルトのポイントサイズを選びます。 デフォルト値は 0 0 0 0 0 0 0 です。 ポイントサイズのみが変わるのであって、垂直サイズではないことに気をつけてください。 垂直サイズはユーザにより指定されるマクロ HXHZ によって 管理出来ます。

見出しカウンタ
H1 から H7 迄の名前をつけられた 7 個の数値レジスタには 各見出しレベルのカウンタが入れられています。 それらの値はアラビア数字を使って印字されます。 これらは、マクロの HM (下記参照) によって変えられます。 すべての記号は印字する前に結合されます。 これを避ける為には、数値レジスタの Ht に 1 を代入してください。 これにより各見出しでは、現在の見出しのカウンタだけが印字されます。

自動の目次
その見出しレベルが数値レジスタ Cl 以下の見出しは、 目次に印字する為に保存されます。 このレジスタのデフォルト値は 2 です。

見出しの特別な管理、ユーザ定義マクロ
これから記述するマクロは垂直行送り、フォント、または他の機能を細かく 制御するためにユーザが定義できるものです。 引数 levelH へのレベル引数です。 しかし、これは番号無し見出しでは 0 になります (HU を参照してください)。 引数 rlevel は実際のレベルです。 これは、番号無し見出しの為に数値レジスタ Hu に代入されます。 引数 heading-text は、HHU へのテキスト引数です。

HX level rlevel heading-text
HX は見出し印字の直前に呼び出されます。 以下のようなレジスタが HX に利用出来ます。 HX は }0, }2, ;3 を変更してもかまいません。
文字列変数 }0
もし rlevel が非 0 であれば、見出し記号と 2 個のスペースが入っています。 そうでなければ、空です。
数値レジスタ ;0
見出しの後のテキストの位置が入っています。 0 はテキストが見出しと同じ行に続くはずであることを意味しています。 1 はテキストの前で行区切りが生ずるはずであることを意味します。 2 は空白行が見出しとテキストを分離するはずであることを 意味します。
文字列変数 }2
数値レジスタの ;0 が 0 であれば、このレジスタには 2 個のスペースが入ります。 これは見出しからテキストを分離するのに使われます。 もし ;0 が非 0 であれば、この文字列変数は空です。
数値レジスタ ;3
これには見出しの後に必要とされる行送りが単位付きで入ります。 デフォルトは 2v です。

これらは番号付け (}0)、垂直行送り (}2)、そして 見出しの後に必要な行送りの様な事柄を変更するのに使用出来ます。

HY dlevel rlevel heading-text
HY はサイズとフォントの計算の後に呼び出されます。 インデントを変更するために使えるでしょう。

HZ dlevel rlevel heading-text
HZ は見出しの印字の後で、H 又は HU が終了する直前に、 呼ばれます。 これは、セクション見出しに従いページヘッダを変更する為に使うことが出来るでしょう。

HC [hyphenation-character]
ハイフネーション文字を設定します。 デフォルト文字は \% です。 引数なしで呼ばれた時はデフォルトに再設定します。 ファイルの初めで数値レジスタ Hy に 0 を設定すれば、 ハイフネーションを止められます。
HM [arg1 [arg2 [... [arg7]]]]
見出し記号の型。 見出しカウンタを印字する為の記号の型を制御します。 デフォルトは、すべてのレベルで 1 です。

引数
1

アラビア数字
0001

ひとつ以上の 0 を先行したアラビア数字
A

大文字のアルファベット
a

小文字のアルファベット
I

大文字のローマ数字
i

小文字のローマ数字

アラビア数字

HU heading-text
番号無しセクションヘッダ。 数値レジスタ Hu をレベルとして HUH の様に振舞います。 H を参照してください。
HX dlevel rlevel heading-text
ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 H を参照してください。
HY dlevel rlevel heading-text
ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 H を参照してください。
HZ dlevel rlevel heading-text
ユーザ定義見出しの終了。 セクションヘッダを印字した直後に呼ばれます。 H を参照してください。
I [italic-text [prev-font-text [italic-text [...]]]]
イタリック体です。 これは引数なしで呼ばれたならフォントをイタリック体に変更します。 引数が 1 個の場合には、これはその単語をイタリック体にします。 引数が 2 個の場合には、これは引数を連結し最初の単語にイタリック体を 設定し、2 番目に以前のままのフォントを設定します。 引数の数には制限はありません。 すべての引数は、連結されます。
IA [addressee-name [title]]
これはレター形式の受信人 (addressee) と受信人のアドレスの記述を 開始します。 いくつかの名前が空の IA/IE ペアにより指定できます。 しかし、アドレスは唯 1 つになります。 LT を参照してください。
IB [italic-text [bold-text [italic-text [...]]]]
イタリック体とボールド体。 偶数番目の引数がイタリック体で、奇数番目がボールド体で印字されます。 I を参照してください。
IE
IA の後でアドレス指定を終了します。
INITI type filename [macro]
新しいインデックスシステムを初期化し、 インデックス行を集めるファイル名を IND に設定します。 引数 type はインデックスのタイプ、 すなわち、ページ番号・ヘッダマーク・両方のいずれかを選択します。 デフォルトは N です。

各行を整形する責任のあるマクロを生成することも可能です。 マクロの名前を第 3 引数として追加してください。 このマクロは、インデックスを引数として呼び出されます。

type
N

ページ番号
H

ヘッダマーク
B

ページ番号とヘッダマークの両方をタブで区切ります

INITR filename
参照用マクロの初期化。 参照はファイル filename.tmpfilename.qrf とに 書き込まれます。 これには、groff の 2 回のパスが必要とされます。 最初のパスでは参照を探し、2 回目のパスではそれらを取り込みます。 INITR は複数回使用できます。 しかし、有効なのは最初に出現した INITR だけです。 unsafe-error 発生時には、オプション -U が必要かもしれません。 関連項目は、SETR, GETPN, GETHN です。
IND arg1 [arg2 [...]]
IND は、INITI で選択されたインデックスファイルへ、 全引数とページ番号またはヘッダマークをタブで区切った 1 行を書き込みます。
arg1\tページ番号
arg1\targ2\tページ番号
arg1\tヘッダマーク
arg1\tページ番号\tヘッダマーク
INDP
INDP は、文字列変数 Indcmd で指定されるコマンドを実行し、 インデックスを表示します。通常は sort -t\t を実行します。 INDP はコマンドの出力を読み、インデックスを生成します。 通常は 2 桁の書式です (TYIND の定義により変更可能です)。 インデックスは、文字列変数 Index のヘッダと共に表示されます。 この変数のデフォルト値は INDEX です。 1 桁の処理は、一覧の後で返されます。 INDP は、ユーザ定義マクロ TXIND, TYIND, TZIND が 定義されていれば呼び出します。 TXIND は、INDEX の表示前に呼び出されます。 TYIND は、INDEX の表示の代りに呼び出されます。 TZIND は、表示の後で呼び出され、再度通常動作へ戻る処理を行うべきです。
ISODATE [0]
ISODATE は、DT 中で既に定義されている日付文字列を、 ISO 書式に、すなわち YYYY-MM-DD に変更します。 これは、コマンドライン上に -rIso=1 を加えることでも可能です。 昔の日付書式にするには、引数に 0 を指定します。
IR [italic-text [roman-text [italic-text [...]]]]
イタリック体とローマン体。 偶数番目の引数がイタリック体で、奇数番目がローマン体で印字されます。 I を参照してください。
LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]
リスト開始マクロ。 これはすべてのリストに使用される共通のマクロです。 引数 text-indent は現在のインデントからテキストをインデントする スペースの数です。

padmark-indent は項目記号を置く所を指定します。 項目記号は記号領域に配置されます。 mark-indent はこの領域の前のスペースの数を設定します。 これは通常 0 です。 記号領域はテキストが始まる所で終ります。 それでもなお、テキストの開始は text-indent により決められます。

もし pad が 0 ならば、項目記号は記号領域の中で左揃えされます。 もしpad が 0 より大きければ、その時は mark-indent は無視されます。 そして項目記号はテキストに対しスペースで pad 個分前に配置されます。 この操作では、項目記号は右揃えされます。

もし type が 0 であれば、リストはハンギングインデントになるか、又は 引数の mark が与えられていたら、文字列の mark が項目記号 となります。

もし type が 0 より大きければ、自動的な番号付けが行われます。 更に mark が空であれば、番号はアラビア数字となります。 この時、mark には 1, A, a, I, i のどれでも指定出来ます。

type には項目記号を表示するため 6 通りの可能な方法の中から 1 つを選べます。
type
1

x.
2

x)
3

(x)
4

[x]
5

<x>
6

{x}

リストの各項目の前には LI-space 行の空行が置かれます。 デフォルトは 1 です。

LB 自体には LB-space 行の空行が印字されます。 デフォルトは 0 です。

LC [list-level]
リスト状態情報のクリア。 これにより、アクティブなリストが list-level レベル迄、 あるいは引数が指定されなかった場合には 0 レベル迄、すべて終了されます。 これはアクティブなリストをすべてクリアする為に H により使用されます。
LE [1]
リストの終了。 これは現在のリストを終了します。 LE はもし引数が指定されているなら、空行を印字します。
LI [mark [1]]
リスト項目。 これは、リストの各項目の最初に置かれます。 引数がないときは、LI は、現在のリスト形式で決められる項目記号 を印字します。 LI に引数を 1 つ指定すると、それが代わりの項目記号として使用されます。 LI に引数を 2 つ指定すれば、mark は現在の項目記号の接頭辞と なります。 第 2 引数が 1 ではなく 2 の場合、 接頭辞と項目記号の区切り空白は生成されません。 この動作は、数値レジスタ Limsp を 0 に設定することでも実現可能です。 長さ 0 の mark を指定した場合はハンギングインデントが生成されます。

通常はリスト項目の前に空行が印字されます。 この挙動は数値レジスタの Ls を用いて制御出来ます。 Ls 以下のすべてのリストレベルで先行する行送りが生成されます。 このレジスタのデフォルト値は 99 です。 (リストの入れ子は無制限です。:-)

インデントは数値レジスタの Li によって変えられます。 デフォルトは 6 です。

すべてのリストはリスト初期化マクロの LB により始まります。 しかし、リストを使いやすくする為に予め定義されているリストの形式が 7 つあります。 これらの形式はすべて異なったデフォルト値で LB を呼び出します。
AL

自動増加番号リスト
ML

記号付きリスト
VL

可変項目リスト
BL

黒丸リスト
DL

ダッシュリスト
RL

参照文献リスト
BVL

変則可変リスト これらのリストについてはこのマニュアルのほかの所に記述してあります。 関連項目は LB です。

LT [arg]
引数に基づいて 4 つの異なった形式の内の 1 つでレターを構成します。 関連項目は 内部 セクションです。
arg

形式
BL

ブロック形式。日付欄、返送先アドレス、著者のアドレスと結辞は行の中央から始まります。 他のすべての行は左マージンから始まります。
SB

半ブロック形式。ブロック形式と同様ですが、 各段落の最初の行が スペース 5 個分インデントされます。
FB

全ブロック形式。すべての行が左マージンから始まります。
SP

簡易形式。全ブロック形式とほぼ同じです。 主題と著者の身分がすべて大文字で印字されます。

LO type [arg]
レターのオプションを指定します (.LT を参照してください)。 以下に示すのは標準のオプションです。
CN

機密表記。 日付欄の下 2 行目に CONFIDENTIAL を印字します。 任意の引数で CONFIDENTIAL を置き換えられます。 関連項目は文字列変数 LetCN です。
RN

参考文献表記。 In reference to: と引数を日付欄の 2 行下に印字します。 関連項目は文字列変数 LetRN です。
AT

気付。ATTENTION: と引数を内部アドレスの下に印字します。 関連項目は文字列変数 LetAT です。
SA

頭辞。To Whom It May Concern: か、又はもし指定されていた時には引数を 印字します。 頭辞は内部アドレスの 2 行下に印字されます。 関連項目は LetSA です。
SJ

主題欄。 レター形式 SP 以外の場合には、主題として SUBJECT: を 接頭辞として付けた引数を内部アドレスの 2 行下に印字します。 レター形式 SP の場合には、主題は接頭辞なしで、すべて大文字で印字されます。 関連項目は文字列変数の LetSJ です。

MC column-size [column-separation]
多段組の開始。1C で通常状態に戻ります。 MC により現在の行長に入るだけの数のカラムが作られます。 column-size は各カラムの幅で、column-separation はカラムの間の 間隔です。 デフォルトの間隔は column-size/15 です。 関連項目は 1C です。
ML mark [text-indent [1]]
記号付きリストの開始。 各リスト項目の前に引数の mark が印字されます。 text-indent の指定により、インデントが設定され、 Li よりも優先されます。 第 3 引数により各項目の前の空行の印字が禁止されます。
MT [arg [addressee]]
覚書形式。 引数 arg/usr/share/tmac/mm/*.MT というファイル名の部分です。 覚書の形式としては、"string" を含んで 0 から 5 迄サポートされています。 addressee は単に、AT&T のマクロで使われる変数を設定するだけです。
arg
0

通常の覚書。形式は印字されません
1

MEMORANDUM FOR FILE が印字される覚書。
2

PROGRAMMER'S NOTES が印字される覚書。
3

ENGINEER'S NOTES が印字される覚書。
4

公開論文形式。
5

外部へのレター形式。 関連項目は、もっと柔軟な表題紙 COVER/COVEND です。

MOVE y-pos [x-pos [line-length]]
ある位置へ移動し、ページオフセットが x-pos に設定されます。 もし line-length が指定されなかったときは、現在の行長と 新しいページオフセットの差が使われます。 正常状態に戻るには、引数なしの PGFORM を使ってください。
MULB cw1 space1 [cw2 space2 [cw3 ...]]
特殊多段組モードの開始。 各カラムの幅を指定しなければなりません。 また、カラム間の間隔も指定しなければなりません。 最後のカラムの後には間隔指定は必要ありません。 MULB により転換が開始し、 MULE により転換が終了しカラムが印字されます。 幅と間隔の単位は「n」です。 しかし、MULB は「c」や「i」のような通常の単位指定をすべて受け付けます。 MULB は、隔離された環境下で機能します。
MULN
次のカラムの開始。 これは、カラムを切り替える唯一の方法です。
MULE
多段組モードの終了とカラムの印字。
nP [type]
2 段階のヘッダレベルを持つ番号付き段落の印字。 .P を参照してください。
NCOL
次のカラムへの印字を強制します。 MUL* マクロとは共に使用しないでください。 2C を参照してください。
NS [arg [1]]
異なる形式の注釈を印字します。 引数は予め定義された形式の注釈の中から選びます。 もし 2 番目の引数が利用可能であれば、引数が注釈全体になります。 もし引数が予め定義されたものの中になければ、このマクロは Copy (arg) to のように印字されます。 さらに標準の注釈を加えることも可能です。 文字列変数の LetnsLetnsdef を参照してください。

arg
注釈

なし
Copy To
""
Copy To
1
Copy To (with att.) to
2
Copy To (without att.) to
3
Att.
4
Atts.
5
Enc.
6
Encs.
7
Under separate cover
8
Letter to
9
Memorandum to
10
Copy (with atts.) to
11
Copy (without atts.) to
12
Abstract Only to
13
Complete Memorandum to
14
CC
ND new-date
新しい日付。 現在の日付を置き換えます。 もし new-date が空文字列であれば、日付は印字されません。
OF [arg]
奇数ページフッタ。 通常のフッタのすぐ上に 1 行印字されます。 EFPF を参照してください。
OH [arg]
奇数ページヘッダ。 通常のヘッダのすぐ下に 1 行印字されます。 EHPH を参照してください。
OP
後続するテキストが奇数ページの一番上に印字されることを確認します。 もし現在奇数ページの一番上にいるなら、白紙ページの出力はしません。
P [type]
新しい段落の開始。 引数なしの P は、段落の一番最初の行も左揃えしたテキストを生成します。 これは、type に 0 を指定するのと同じです。 もし引数が 1 であれば、P に続くテキストの最初の行は 数値レジスタ Pi に設定された数のスペースだけインデントされます。 この値は通常 5 です。

P への引数として 1 を指定する代わりに、数値レジスタ Pt に 段落の形式を設定することも可能です。 0 と 1 を設定することは、その値を P に与えることと同じになります。 値 2 により、すべての段落がインデントされます。 ただし見出し、リスト、ディスプレイの後は例外です。

段落間の間隔は数値レジスタの Ps により制御され、 デフォルトでは 1 です(1 行の空白行)。

PGFORM [linelength [pagelength [pageoffset [1]]]]
行長やページ長、ページオフセットを設定します。 このマクロは、レターヘッドや他のものの様に、特別の形式を生成するために 使用出来ます。 これは、通常はファイル中の最初のコマンドですが、必須ではありません。 PGFORM を引数なしで使用すれば、 MOVE の後ですべてを再初期化することが出来ます。 4 番目の引数が指定されなければ、行区切りが生成されます。 このマクロは、新しい行長とページ長を設定する一方、 最初のページにページ番号を出力するのを避けるために使用できます。 (このマクロが十分に動作していないように見えるときがあります。 代りにコマンド行引数を使用して、 行の長さ、ページの長さ、ページオフセットを変えてください。 ごめんなさい。)
PGNH
次のページにヘッダが印字されません。 レターや他の特殊なテキストのヘッダを取り除くために使われます。 最初のページのページヘッダを禁止するためには、いかなるテキストよりも前に このマクロが使われなければなりません。
PIC [-L] [-C] [-R] [-I n] filename [width [height]]
PIC は Postscript ファイルを文書に取り込みます。 本マクロは mmroffINITR に依存します。 -L, -C, -R, -I n は、 ピクチャを調整するか、ピクチャをインデントします。 オプションの widthheight もまた、 ピクチャの大きさを変えるために指定可能です。
PE
ピクチャの終り。 pic コマンドの為のピクチャを終了します。 pic コマンドのマニュアルを参照してください。
PF [arg]
ページフッタ。 PF は各ページの一番下に印字される行を設定します。 通常は空です。 引数の指定に関しては PH を参照してください。
PH [arg]
ページヘッダ。 各ページの一番上に 1 行印字されます。 引数は「'left-part'center-part'right-part'」のように 指定されなければなりません。 ここで、left-part, center-part, right-part はそれぞれ左揃え、中央揃え、右揃え に印字されます。 文字 % は現在のページ番号に変更されます。 デフォルトのページヘッダは「''- % -''」で、ページ番号が 2 個のダッシュ記号に はさまれます。
PS
ピクチャの開始 (pic コマンドより)。 pic の為のピクチャを開始します。 マニュアルを参照してください。
PX
ページヘッダのユーザ定義による出口マクロ。 no-space モードでページヘッダの印字の直後に PX は呼び出されます。
R
ローマン体。 ローマンフォントに戻ります。 関連項目は I です。
RB [roman-text [bold-text [roman-text [...]]]]
ローマン体とボールド体。 偶数番目の引数はローマン体で印字されます。 奇数番目は、ボールド体で印字されます。 I を参照してください。
RD [prompt [diversion [string]]]
標準入力から転換や文字列変数に読み込みます。 テキストは diversion という名前の転換に保存されます。 テキストを取り出すには、空行にドットの後に転換の名前を書いてください。 もし string が指定されたなら文字列変数 string も定義されます。 diversionprompt は空 ("") にすることが出来ます。
RF
参考文献の終了。 参考文献の定義を終了し、通常の処理に復帰します。 RS を参照してください。
RI [roman-text [italic-text [roman-text [...]]]]
偶数番目の引数はローマン体で印字されます。 奇数番目はイタリック体で印字されます。 I を参照してください。
RL [text-indent [1]]
参考文献リストの開始。 各項目の前に角括弧で挟まれた自動増加の番号を付けたリストを開始します。 text-indent によって、デフォルトのインデントを変更出来ます。
RP [arg1 [arg2]]
参考文献ページを生成します。 もし参考文献ページが文書のどこかで必要とされているなら RP を用いることが出来ます。 もし TC が目次の生成に使われているなら、このマクロは必要ありません。 その時は参考文献ページは自動的に印字されます。

もし arg1 が 1 ならば参考文献カウンタは再初期化されません。

引数 arg2 により RP に対しページ切り替えが行われるか否か を指定出来ます。
arg2
0

参考文献ページは別のページに印字されます。 これがデフォルトです。
1

リストの後でページを切り替えません。
2

ページの前でページを切り替えません。
3

リストの前後でページを切り替えません。 参考文献の項目は空行で分離されます。 数値レジスタの Ls を 0 に設定すれば、この空行は抑止出来ます。

文字列変数の Rp には参考文献ページの題名が入っています。 この題名は通常は REFERENCES に設定されています。

RS [string-name]
RS により自動番号付けの参考文献の定義が開始します。 文字列変数の \*(Rf を参考文献記号があるべき所に配置し、 参考文献を参考文献記号の後の次の改行のところから RS/RF の間に挟んで書いてください。 参考文献番号は数値レジスタの :R に保存されています。 もし string-name が指定されたら、その名前の文字列変数が 定義され、現在の参考文献記号が入れられます。 文字列変数はその後テキスト中で \*[string-name] により 参照することが出来ます。
S [size [spacing]]
ポイントサイズと垂直行送りを設定します。 もし引数のどれかが「P」に等しければ、そのときは以前の値が用いられます。 「C」は現在の値を表し、「D」はデフォルトの値を表します。 もし、「+」又は「-」が値の前に用いられているなら、現在の値に加算又は減算 が行われます。
SA [arg]
右マージン行末揃えが設定されます。 通常、行末揃えは機能しています。 引数がないか、または 0 であれば、行末揃えは機能を止められます。 引数が 1 であれば、行末揃えは機能を働かせます。
SETR refname [string]
現在のヘッダ番号とページ番号を refname として記憶します。 もし string が定義されていれば、string を保存します。 string.GETST によって取り出されます。 INITR を参照してください。
SG [arg [1]]
署名欄。 正式な結辞の後に著者(達)の名前を印字します。 引数は参照データに加えられて、最初か最後の著者の箇所に印字されます。 参照データとは .AU により指定される 所在地、部局、及びイニシャルです。 第 2 引数が与えられた場合、このデータは最初の著者の箇所に印字されます。 そうでない場合、最後の著者の箇所に印字されます。 著者(達)が .WA/.WE で指定されていれば、 何の参照データも印字されません。 内部 セクションを参照してください。
SK [pages]
ページ送りします。 もし pages0 であるか省略されている場合には、既に印字位置が ページの一番上でなければ、次のページ迄ページ送りされます。 また、pages がこれら以外であれば、pages のページを ページ送りします。
SM string1 [string2 [string3]]
文字列を小さくします。 もし string2 が指定されたときには、string1 は小さくなり、string2 は通常の大きさで string1 に結合されます。 引数が 3 個あるときには、すべての引数が結合され、 string2 だけが小さくなります。
SP [lines]
垂直に行送りします。 lines には 3i8v の様に、何らかの単位を付けられます。 1 行にいくつかの SP を記述しても、それらの合計の行数ではなく、 それらのうちで最大の行数の行送りを生成します。 またページの最初のテキスト行までは SP は無視されます。 これを避けるには、SP の前に \& を加えてください。
TAB
タブ位置を 5n 毎に再設定します。 通常はそれまでの任意のタブ設定位置を再設定するのに使用されます。
TB [title [override [flag [refname]]]]
表の題目。 引数は EC のものと同じです。 TB は数値レジスタの Tb をカウンタとして使用します。 文字列変数の Lt は、表一覧 (List of Tables) の題名を 制御します。デフォルトでは LIST OF TABLES となります。 表一覧が表示されるのは、 数値レジスタ lLt が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の Litb は、TABLE という単語を含みます。 この単語は、番号の前に印字されます。
TBDS/DE の内部で使用されている場合、 特別な表題処理を行います。 DS の書式には影響されません。
TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
目次。 通常このマクロは文書の最後の行に置かれます。 このマクロは、数値レジスタの Cl によって制御されるレベルまでの 見出しで構成される目次を生成します。 Cl は見出しの保存を制御するのであって、TC には 何の関わりもないことに注意してください。 slevel 以下のレベルの見出しにはそれらの前に spacing だけの空行が生成されます。 tlevel 以下のレベルの見出しには右揃えした対応するページ番号が置かれます。 これらの見出しのテキストとページ番号はドットか空白によって分離されます。 もし tab が 0 より大きければ、空白が用いられます。 そうでなければ、ドットが用いられます。 その他の見出しには見出しテキストの末尾にページ番号が直接置かれます (右揃えしない)。

引数の残りのものは、目次の前に中央揃えで印字されます。

もし TC が多くて 4 個の引数を伴って呼び出されるならば、ユーザ定義の マクロ TXTY が使われます。 TXCONTENTS の印字の前に呼び出されます。 そして TYCONTENTS を印字する代わりに呼び出されます。

等価のマクロを、図一覧、表一覧、式一覧、エクジビット一覧用に定義可能です。 これは TXxx または TYxx を定義することにより行い、 xxFg, TB, EC, EX のいずれかです。

文字列変数 Ci を各見出しレベルのインデントを制御するために 設定できます。 インデントには .ds Ci .25i .5i .75i 1i 1i の様に 単位を付けなければなりません。 インデントは通常各レベルの見出しの最大長によって制御されます。

すべてのテキストは再定義が出来ます。 新しい文字列変数の Lifg, Litb, Liex, Liec, Licon にはそれぞれ 「Figure」、「TABLE」、「Exhibit」、「Equation」及び「CONTENTS」 が入っています。 これらの変数は、他の言語に再定義できます。

TE
表の終了。 TS を参照してください。
TH [N]
表のヘッダ。 TS を参照してください。 TH により表のヘッダが終了します。 もしページ区切りが起こればこのヘッダはもう一度印字されます。 引数の N はまだ実装されていません。
TL [charging-case number(s) [filing-case number(s)]]
覚書の題名の開始。 次の AU 迄のすべてのテキストが題名に含められます。 charging-case numberfiling-case number は 表題紙を処理するために保存されます。
TM [num1 [num2 [...]]]
.MT で使われる技術覚書番号。 無制限な数の引数を指定できます。
TP
ユーザが定義するページ最上部のマクロです。 このマクロは通常のページヘッダの代わりに呼ばれます。 ヘッダに対して完全な制御が出来ます。 ヘッダとフッタは隔離された環境下で印字されることに注意してください。 ただし、行長は保持されています。
TS [H]
表の開始。 これは tbl に対する表の指定の開始です。 tbl については別個のマニュアルを参照してください。 TS は、TE により終了します。 引数 Hmm に対し表にはヘッダがあることを指定します。 TH を参照してください。
TX
ユーザが定義する目次の出口マクロ。 このマクロは TC が単語 CONTENTS を印字する直前に呼び出されます。 TC を参照してください。
TY
ユーザが定義する目次の出口マクロ (「CONTENTS」は印字しません)。 CONTENTS を印字する代わりにこのマクロが呼び出されます。 TC を参照してください。
VERBON [flag [pointsize [font]]]
クーリエフォントを用いた逐語的な出力の開始。 通常プログラムの印字のためです。 すべての文字が等しい幅を持ちます。 ポイントサイズは第 2 引数により変更できます。 font 引数を指定すればクーリエの代わりに他のフォントを使うことが出来ます。 flag によりいくつかの特別な機能を制御します。 この引数は必要とする機能をすべて合計したものとなります。

説明
1

エスケープ文字 (\) を無効にします。 通常、これは冗長出力の間は働いています。
2

冗長テキストの前に空行を付加します。
4

冗長テキストの後に空行を付加します。
8

冗長テキストに行番号を振って印字します。 これにより各行の先頭に数字幅のスペースが 4 個付加されます。 文字列変数の Verbnm でより微妙な調節が可能です。 この変数には、troff コマンドの .nm に指定できる すべての引数が入ります。 通常は「1」が指定されています。
16

冗長テキストを 5 個の「n」だけインデントします。 これは数値変数の Verbin (単位付き) により管理されます。

VERBOFF
逐語的出力を終了させます。
VL text-indent [mark-indent [1]]
可変項目リストには決まった項目記号はありません。 代わりに、このマクロでは各 LI に項目記号が指定されている と仮定しています。 text-indent によりテキストへのインデントが設定されます。 そして mark-indent により現在のインデント位置から項目記号までの 距離が設定されます。 第 3 引数は各項目の前に空行が印字されることを禁止します。
VM [top [bottom]]
垂直マージン。
WA [writer-name [title]]
著者と著者のアドレスの記述を開始します。 空の WA/WE ペアでいくつかの名前を指定出来ます。 しかしアドレスについては 1 つだけです。
WE
.WA の後でアドレスの指定を終了します。
WC [format]
脚注とディスプレイの幅の調整。
N

デフォルトのモードを設定します。 -WF, -FF, -WD 及び FB です。
WF

広い脚注です。2 段組モードでもやはり広い脚注です。
-WF

通常の脚注の幅です。段組モードに従います。
FF

すべての脚注は最初に出現した脚注と同じ幅になります。
-FF

通常の脚注です。幅は WF-WF に従います。
WD

広いディスプレイです。2 段組モードでもやはり広いディスプレイです。
-WD

通常のディスプレイの幅です。段組モードに従います。
FB

フローティングディスプレイが現在のページに印字された時には 行区切りを生成します。
-FB

フローティングディスプレイは行区切を生成しません。

mm で用いられている文字列変数:

App
単語「APPENDIX」が入れてある文字列変数です。
EM
em ダッシュ文字列です。
Apptxt
現在の付録テキスト。
H1txt .H.HU で、現在の見出しテキストに更新されます。 目次とその類似のものにおいても、更新されます。
HF
見出し用のフォントの目録です。 通常は「2 2 2 2 2 2 2」です。 数字ではないフォント名も使用できます。
HP
見出し用のポイントサイズの目録です。 通常は「0 0 0 0 0 0 0」です。 これは、「10 10 10 10 10 10 10」と同じです。
Index
INDEX を含みます。
Indcmd
インデックスコマンド sort -t\t を含みます。
Lifg Figure を入れている文字列変数です。
Litb
TABLE を入れている文字列変数です。
Liex
Exhibit を入れている文字列変数です。
Liec
Equation を入れている文字列変数です。
Licon
CONTENTS を入れている文字列変数です。
Lf
「LIST OF FIGURES」を入れています。
Lt
「LIST OF TABLES」を入れています。
Lx
「LIST OF EXHIBITS」を入れています。
Le
「LIST OF EQUATIONS」を入れています。
Letfc
「Yours very truly,」を入れています。 .FC で使用されます。
Letapp
「APPROVED:」を入れています。 .AV で使用されます。
Letdate
「Date」を入れています。 .AV で使用されます。
LetCN
「CONFIDENTIAL」を入れています。 .LO CN で使用されます。
LetSA
「To Whom It May Concern:」を入れています。 .LO SA で使用されます。
LetAT
「ATTENTION:」を入れています。 .LO AT で使用されます。
LetSJ
「SUBJECT:」を入れています。 .LO SJ で使用されます。
LetRN
「In reference to:」を入れています。 .LO RN で使用されます。
Letns
これは .NS で使用されている色々な文字列を入れている配列です。 これらは実は、Letns! を接頭辞とするいくつかの文字列変数です。 もし .NS への引数が (訳注: 予め定義されているものの中に) 存在しなければ、 その引数は Letns!copy を接頭辞とし Letns!to を接尾辞 として () の間に挟まれます。 copy の後と to の前の空白に注意してください。
変数名      値
Letns!0        Copy to
Letns!1        Copy (with att.) to
Letns!2        Copy (without att.) to
Letns!3        Att.
Letns!4        Atts.
Letns!5        Enc.
Letns!6        Encs.
Letns!7        Under separate cover
Letns!8        Letter to
Letns!9        Memorandum to
Letns!10       Copy (with atts.) to
Letns!11       Copy (without atts.) to
Letns!12       Abstract Only to
Letns!13       Complete Memorandum to
Letns!14       CC
Letns!copy     Copy "
Letns!to       " to
Letnsdef
.NS に何も引数が指定されていないときに使用される標準的な注釈を 定義します。 デフォルトは 0 です。
MO1 - MO12
January から December 迄が入っている文字列変数です。
Qrf
「See chapter \\*[Qrfh], page \\n[Qrfp].」 が入っている文字列変数です。
Rp
「REFERENCES」が入っています。
Tm
商標記号 \(tm が入っています。
Tcst
目次の現在状態と XXXX の一覧を含みます。 .TC の外では空です。 .TP のようなユーザ定義マクロでは、便利です。
値            意味
co             目次
fg             図一覧
tb             表一覧
ec             式一覧
ex             エクジビット一覧
ap             付録
Verbnm
.VERBON で使用されている .nm への引数です。 デフォルト: 1

mm で使用されている数値変数:

Aph
もしこの数値変数が非 0 であれば、 各々の新しい付録について新しい付録ページに印字します。 もし Aph が 0 であれば何も出力されません。 しかし、「目次」には付録の見出し項目が常に含まれます。
Cl
目次の見出し項目レベル。範囲は [0:7] です。 もし見出しレベルが Cl 以下であれば、目次の見出し項目は保存されます。 デフォルトは 2 です。
Cp
もし、Cp が 0 であれば、LIST OF XXXX の間で改ページを行います。 デフォルトは 0 です。
D
デバッグフラグ。 値が正値であれば、様々な段階のデバッグリストを出力します。 値が 1 であれば整形についての進行情報を提供します。 デフォルトは 0 です。
De
フローティングディスプレイの後で改ページが出力されます。 範囲は [0:1] です。デフォルトは 0 です。
Dsp
定義されている場合、 スタティックディスプレイの前後の空白出力を制御します。 定義されていない場合には、Lsp の値が使用されます。
Df
フローティングキープの出力形式。 範囲は [0:5] です。デフォルトは 5 です。
Ds
もし 1 であれば、ディスプレイの前後で Lsp だけ行送りします。 範囲は [0:1] です。デフォルトは 1 です。
Ej
改ページ。デフォルトは 0 です。
Eq
数式ラベルの行揃え。 0 なら左揃え、1 なら右揃え。デフォルトは 0 です。
Fs
脚注の行送り。デフォルトは 1 です。
H1-H7
見出しカウンタ。
H1dot
0 より大の場合、レベル 1 の見出し番号の後にドットを付けます。 デフォルトは 1 です。
H1h
数値レジスタ H1 をコピーしますが、 ページブレイク直前に増加されます。 ユーザ定義のヘッダマクロにおいて有用です。
Hb
見出し行区切りのレベル。 範囲は [0:7] です。デフォルトは 2 です。
Hc
見出し中央揃えのレベル。 範囲は [0:7] です。デフォルトは 0 です。
Hi
見出しの一時的なインデント。 範囲は [0:2] です。デフォルトは 1 です。
0 -> 0 インデント、左マージン
1 -> 右へインデント、.P 1 と同様
2 -> 先行する見出しのテキスト部分に合わせてインデント
Hps
見出しに先立つ行送りのレベルについての数値変数です。 もし見出しレベルが Hps 以下ならば、 セクション見出しには 1 行ではなく 2 行が先行します。 デフォルトは第 1 レベルだけです。 行送りの実際の量は変数 Hps1Hps2 により制御されます。
Hps1
見出しレベルが Hps より大きい場合に .H に先行する行数です。 値には単位を付けます。通常は 0.5 です。
Hps2
見出しレベルが Hps 以下の場合に .H に先行する行数です。 値には単位を付けます。通常は 1 です。
Hs
見出し行送りレベル。 範囲は [0:7] です。デフォルトは 2 です。
Hss
見出しレベルが Hs 以下のとき、 .H の後にこの数の行が続きます。 値は単位指定であり、通常 1 です。
Ht
見出し番号の形式。デフォルトは 0 です。 0 -> 複合番号 (1.1.1 ...)
1 -> 単一番号。
Hu
番号無し見出しのレベル。デフォルトは 2 です。
Hy
本文のハイフネーション。デフォルトは 1 です。
0 -> ハイフネーションしない。
1 -> 14 でハイフネーションをする。
Iso
ISO 書式の日付文字列を得るには、コマンドラインでこの変数を 1 に設定します (-rIso=1)。 文書中では使用できません。
Letwam
.WA/.WE で使われる返送先アドレスの最大行数。 デフォルトは 14 です。
Lf, Lt, Lx, Le
それぞれ、図一覧、表一覧、エグジビット一覧、式一覧の 印字の許可 (1)、又は禁止 (0) です。 デフォルトは、Lf=1, Lt=1, Lx=1, Le=0 です。
Li
.AL で使われるリストのインデントです。 デフォルトは 6 です。
Limsp
自動リスト (.Al) 用の、接頭辞と記号の間の空白のフラグです。
0 == 空白無し
1 == 空白有り
Ls
リストの行送り。 もし現在のリストレベルが Ls より大きければ、 リストの周囲には行送りは生じません。 デフォルトは 99 です。
Lsp
空行の大きさ。通常は 0.5v です。 しかし、もし n が設定されていれば (.nroff)、1v となります。
N
番号付けの形式。範囲は [0:5] です。デフォルトは 0 です。
0 == (デフォルト) すべてのページで通常のヘッダ。
1 == 最初のページのフッタはヘッダに置き換えられます。 ヘッダ部分には何もありません。
2 == 最初のページのページヘッダは取り除かれます。
3 == 「セクション - ページ」の番号付けが有効になります。
4 == 最初のページのページヘッダは取り除かれます。
5 == 「セクション - ページ」と「セクション - 図」の番号付けが有効になります。 関連項目は数値レジスタの Sectf と Sectp です。
Np
番号付きの段落です。デフォルトは 0 です。
0 == 番号を振りません。
1 == 第 1 レベルの見出しに番号を振ります。
Of
図、表、エグジビット、数式の題目の形式です。 デフォルトは 0 です。
0 = ". "
1 = " - "
P
現在のページ番号です。 「セクション - ページ」の番号付けが有効でなければ、 通常は % と同じです。
Pi
段落のインデントです。 デフォルトは 5 です。
Pgps
ヘッダとフッタのポイントサイズが、現在の設定に従うべきか、 あるいはヘッダとフッタが定義されたときにだけ変更されるべきかを制御します。

説明
0

.PH, .PF, .OH, .EH, .OF, .OE が実行された時だけ、ポイントサイズが現在の設定に変更されます。
1

ポイントサイズは .S のたびに変更されます。 これがデフォルトです。

Ps
段落の行送り。デフォルトは 1 です。
Pt
段落の形式です。デフォルトは 0 です。
0 == 左揃え
1 == インデントする .P
2 == .H, .DE, .LE の後以外では、インデントする .P
Sectf
「セクション - 図」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。
Sectp
「セクション - ページ番号」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。
Si
ディスプレイのインデントです。デフォルトは 5 です。
Verbin
.VERBON のインデントです。デフォルトは 5n です。
.mgm
常に 1 です。

内部

レターマクロではレターの形式により決まる種々の副マクロが使用されています。 副マクロの名前にはレターの形式が接尾辞として入っています。 そのため他のレターの形式の定義を、 その国のマクロファイル内や、局所的な追加として行うことが可能です。 .LT は数値変数の PtPi を 0 と 5 に設定します。 新しいレター形式については、 以下の文字列変数とマクロを定義しなければなりません:
[email protected]_type
このマクロは .LT によって直接呼び出されます。 変数や他の要素を初期化することになっています。
[email protected]_type
このマクロはレターヘッドを印字します。 通常のページヘッダの代わりに呼び出されます。 [email protected] という別名を取り除くことになっています。 そうしなければ、この別名はすべてのページにおいて呼び出されてしまいます。
[email protected]_type name title n flag [arg1 [arg2 [...]]]
レターの場合だけ、.SG がこのマクロを呼び出します。 覚書にはそれ独自の処理機構があります。 nametitle.WA/.WB によって指定されます。 n はカウンタで、1 から max までです。 そして flag は、name が最後の名前であれば真の値になります。 .SG に対する他の引数が追加されます。
[email protected]_type closing
このマクロは .FC によって呼び出され、正式な結辞を引数とします。

.LO が包括的なオプションマクロとして実装されています。 .LO には Lettype という名前の文字列変数が 定義されていることが必要とされます。 ここで、type はレターの形式です。 そのとき、.LO は引数を文字列変数 let*lo-type に 割り当てます。

作者

Jorgen Hagg, Lund, Sweden <[email protected]>

関連ファイル

/usr/share/tmac/tmac.m
/usr/share/tmac/mm/*.cov
/usr/share/tmac/mm/*.MT
/usr/share/tmac/mm/locale