Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名称

       groff_tmac - roff 清書システム内にあるマクロファイル

解説

       roff(7)   清書システムは、特殊な用途のドキュメントに適した  マクロパッケージを提供していま
       す。それぞれのマクロパッケージは、 そのパッケージの tmac ファイル と呼ばれるファイル中にマ
       クロおよび定義を格納しています。 tmac という名前は、 `Troff MACros' を縮めたものです。

       tmac ファイルは、普通の roff ソースドキュメントです。ただし、 通常このファイルには定義およ
       び設定コマンドしか含まれておらず、  テキストは入っていません。tmac  ファイルはすべて  tmac
       ディレクトリという 1 つあるいは少数のディレクトリ内に 保管されています。

名称付け

       古くからある roff システムには、奇妙な名称付けの体系が ありました。 マクロパッケージの名称
       が `m' で始まっている場合には、この文字は省略されました。例えば、 マニュアルページ用のマク
       ロパッケージ  manan と呼ばれ、そのパッケージのマクロファイルは 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' というように書かなくてはなりません。

       • ドットはすべてエスケープしてください。 `.' -> `\.'

       • テキスト部分には、印字できない文字 `\&' を広く使用するようにしてください。特に、 `\'  の
         前や行頭で使用してください。ただし、遅延コマンドの前では 使用しないでください。

       • 文字 `@' を一時的な変数名に使用してください。

       • あなたが書いたマクロをテキストおよびグラフィックデバイスに対して  テストしてください。例
         えば、 latin1ps がそうです。

関連ファイル

       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/ で入手可能です。