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

名称
groff_tmac - roff 清書システム内にあるマクロファイル
解説
roff(7) 清書システムは、特殊な用途のドキュメントに適した マクロパッケージを提供しています。それぞれのマク
ロパッケージは、 そのパッケージの tmac ファイル と呼ばれるファイル中にマクロおよび定義を格納しています。
tmac という名前は、 `Troff MACros' を縮めたものです。
tmac ファイルは、普通の roff ソースドキュメントです。ただし、 通常このファイルには定義および設定コマンド
しか含まれておらず、 テキストは入っていません。tmac ファイルはすべて tmac ディレクトリという 1 つあるいは
少数のディレクトリ内に 保管されています。
名称付け
古くからある roff システムには、奇妙な名称付けの体系が ありました。 マクロパッケージの名称が `m' で始まっ
ている場合には、この文字は省略されました。例えば、 マニュアルページ用のマクロパッケージ man は an と呼ば
れ、そのパッケージのマクロファイルは tmac.an と呼ばれました (現在のバージョンの groff では、このファイル
は代りに an.tmac と呼ばれることに注意してください)。
似たような理由で、名称が `m' で始まらないマクロパッケージは、 `m' をつけて表されることがよくありまし
た。例えば、 tmac.doc に対応するパッケージは、 mdoc と呼ばれました。なぜなら、このパッケージをアクティブ
に するためのコマンドラインは、次のように表されるからです。
troff -mdoc
現在の groff(1) のバージョンでは、パッケージ名に `m' が付こうが付くまいが、この悩ましいマクロパッケージの
名称付け体系を どちらも提供しています。ですので、 groff では、 man マクロパッケージは、次のいずれでも指定
可能です。
groff -m man
groff -man
groff -mman
groff -m an
システムでどのマクロパッケージが利用可能であるかを判別するのに 最も簡単な方法は、 tmac ディレクトリ群の中
身を調べることです。 例えば、 tmac.anything または anything.tmac と呼ばれるファイルは、 anything という名
前のマクロパッケージを決定しています。
groff では、マクロパッケージの大部分は、 古くからあるパッケージに対して `m' を先頭に付けた
groff_<name>(7) という名前のマニュアルページで説明がされています。
取り込み
ドキュメント中でマクロパッケージを使うための方法はいくつかあります。 実行時に、groff のオプション -m name
を用いてマクロファイル name.tmac 内の定義を 名称付け のセクションで述べたように利用可能にします。 この
ファイルが見付からない場合、 tmac.name が探されます。
groff リクエスト .so あるいは .mso を用いてマクロファイルをドキュメントに取り込むことも可能です。 .so に
ついては、マクロファイルのフルパスでのファイル名を指定しなくては いけません — そのマクロファイルが保存さ
れているディレクトリを 含む必要があります。 マクロファイルが tmac ディレクトリ群のどれか 1 つに格納されて
いる場合、 代わりに .mso を使用するほうが便利です。なぜなら、このリクエストは tmac パスを 探索してファイ
ル名を見つけるからです。 更に、インクルードされるファイルの名前が name.tmac という書式の場合でこれが見付
からない場合、 .mso は代りに tmac.name をオープンしようとします。また、この逆も行います。
.so および .mso リクエストを解決するために、roff プリプロセッサ soelim が呼ばれなくてはならないことに注意
してください。 ただし、インクルードされるファイルが前処理が必要な場合に限ります。 これは、コマンドライン
上でパイプラインから直接呼ぶか、または groff の -s オプションを使うかすればできます。
約束事 のセクションで述べているように、 プリプロセッサワード中に文字 `s' を入れても良いです。
例えば、マクロファイルが /usr/share/tmac/macros.tmac に保存されており、 docu.roff という名前のドキュメン
トで使用されているとします。
実行時において、このドキュメントに対するフォーマッタ呼び出しは 次のように行います。
groff -m macros docu.roff
ドキュメント内に直接マクロファイルを取り込むには、
.mso macros.tmac
あるいは
.so /usr/share/tmac/macros.tmac
を使用します。
どちらの場合でも、フォーマッタは
groff -s docu.roff
を使用して呼び出されます。
約束事
最近の roff 清書システムの多くでサポートされている約束事があります。 次に述べられているような プリプロ
セッサワード がそれです。
ドキュメントの 1 行目がコメントである場合、 最初の単語 (コメント文字および空白の後) は プリプロセッサ
ワード で構成されます。 これはつまり、このワードの文字が、ドキュメントを整形する際に 起動しなくてはならな
いプリプロセッサコマンドの省略形であると 解釈されるということです。 ほとんどの場合、プリプロセッサのオプ
ションに対応した文字だけが 認識されます。それは、 `e', `G', `g', `p', `R', `s', `t' です ( roff(7) を参
照)。
さらに、ユーザへの良き忘備録として書いておきますが、 フォーマッタによっては ( man(1) プログラムのように)
プリプロセッサワードで指定されたプリプロセッサを 自動的に起動させることまでもできるものがあります。ただ
し、このことを あてにしてはいけません。
マクロファイルを記述する
マクロファイルを記述するのは簡単です。マクロ、文字列、レジスタなどの セットを設計してください。そしてそれ
を 1 つのファイルに 保存してください。 記述したマクロを使用するドキュメントは、 取り込み セクションで述べ
たように .so リクエストを使ってマクロを取り込みます。
tmac の機能を使用するには、マクロファイル whatever.tmac (または tmac.whatever) を呼び出し、tmac パスのど
れかのディレクトリにファイルを置きます。 関連ファイル セクションを参照してください。 そうすると、ドキュメ
ントは 取り込み セクションで述べたように .mso リクエストあるいは groff -m オプションを使ってマクロファイ
ルを取り込むことができます。
もしあなたが書いたマクロが一般用途に使えるかもしれないものなら、 groff メンテナに連絡を取って、そのマクロ
が groff の contrib ソースディレクトリに含まれるようにしてください。
マクロを書く際には、いくつか一般的なガイドラインがあれば役に立つ でしょう。
• 機能のあるバックスラッシュはすべて 2 重にします。 `\' -> `\\'
• 印字可能なバックスラッシュはすべて `\e' というように書かなくてはなりません。
• ドットはすべてエスケープしてください。 `.' -> `\.'
• テキスト部分には、印字できない文字 `\&' を広く使用するようにしてください。特に、 `\' の前や行頭で使用し
てください。ただし、遅延コマンドの前では 使用しないでください。
• 文字 `@' を一時的な変数名に使用してください。
• あなたが書いたマクロをテキストおよびグラフィックデバイスに対して テストしてください。例えば、 latin1 と
ps がそうです。
関連ファイル
tmac メカニズムを使用したいマクロ名はすべて、 name.tmac または tmac.name の書式に従って名付けられなければ
なりません。
マクロファイルは、 tmac ディレクトリ群 に保存されています。このディレクトリ群すべてが tmac パス を構成し
ています。
マクロファイルを検索するパスの要素は (順番に) 次の通りです:
• troff に対応する groff の -M コマンドラインオプションで指定されるディレクトリ command line option
• GROFF_TMAC_PATH 環境変数で与えられるディレクトリ
• 現在のディレクトリ ( -U コマンドラインスイッチを使用して、安全ではないモードである場合のみ)
• ホームディレクトリ
• サイト固有の (プラットフォーム非依存の) ディレクトリ、 プラットフォーム固有ディレクトリ、 そしてメイ
ン tmac ディレクトリ:
/usr/share/tmac
/usr/share/tmac
/usr/share/tmac
環境変数
GROFF_TMAC_PATH
コロン区切りの追加の tmac ディレクトリリストであり、 このリストからマクロファイルを探します。 詳細
については、前の節を参照してください。
バグ
groff ドキュメントは、現在発展中です。一時的に他のドキュメントとの間で 小さな食い違いができてしまう可能性
があります。
作者
このドキュメントは groff、すなわち GNU roff 配布物の一部です。 このドキュメントは Bernd Warken
<bwarken@mayn.de> が書きました。
このドキュメントは FDL (GNU Free Documentation License) バージョン 1.1 以降の条項のもとで配布されていま
す。お使いのシステムには FDL のコピーがあるはずです。また、
<http://www.gnu.org/copyleft/fdl.html>
からオンラインでも入手可能です。
関連項目
groff システムの詳細すべてについて信頼できる情報源は、groff の info(1) ファイルです。
groff の概要については、 roff(7) および groff ソースパッケージ中の README ファイルを参照してください。
groff tmac マクロパッケージは、 groff_man(7), groff_mwww(7), groff_mdoc(7), groff_mdoc.samples(7),
groff_me(7), groff_mm(7), groff_mmroff(7), groff_ms(7) です。
groff の言語については groff(7) で、フォーマッタについては groff(1), troff(1) で説明されています。
ファイルシステム階層標準 (FHS) は http://www.pathname.com/fhs/ で入手可能です。
Groff Version 1.17.2 6 August 2001 GROFF_TMAC(5)