487 lines
12 KiB
Groff
487 lines
12 KiB
Groff
.ig /
|
|
groff_tmac.5
|
|
|
|
This file is part of groff, the GNU roff type-setting system.
|
|
|
|
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
|
written by Bernd Warken <bwarken@mayn.de>
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the GNU Free Documentation License, Version 1.1 or
|
|
any later version published by the Free Software Foundation; with the
|
|
Invariant Sections being this .ig-section and AUTHOR, with no
|
|
Front-Cover Texts, and with no Back-Cover Texts.
|
|
|
|
A copy of the Free Documentation License is included as a file called
|
|
FDL in the main directory of the groff source package.
|
|
./
|
|
.
|
|
.\" --------------------------------------------------------------------
|
|
.\" Setup
|
|
.\" --------------------------------------------------------------------
|
|
.
|
|
.if n \{\
|
|
. mso tty-char.tmac
|
|
. ftr CR R
|
|
. ftr CI I
|
|
. ftr CB B
|
|
.\}
|
|
.
|
|
.\" text lines in macro definitions or bracketed sections \{...\}
|
|
.de text
|
|
. if 1 \&\\$*\&
|
|
..
|
|
.
|
|
.de BIR
|
|
. ie (\\n[.$] < 3) \
|
|
. BI \\$@
|
|
. el \{\
|
|
. ds @tmp@ \fB\\$1\fP\fI\\$2\fP
|
|
. shift 2
|
|
. text \\*[@tmp@]\fR\\$*\fP
|
|
. rm @tmp@
|
|
. \}
|
|
..
|
|
.
|
|
.de 'char
|
|
. ds @tmp@ `\f(CB\\$1\fP'
|
|
. shift
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.de option
|
|
. ds @tmp@ \f(CB\\$1\fP
|
|
. shift 1
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.als shellcommand option
|
|
.
|
|
.de argument
|
|
. ds @tmp@ \f(CI\\$1\fP
|
|
. shift 1
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.de request
|
|
. ds @tmp@ \f(CB\\$1\fP
|
|
. shift 1
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_tmac.5,v 1.4 2001/07/23 02:26:59 horikawa Exp $
|
|
.\" WORD: typesetting system 清書システム
|
|
.\" WORD: naming 名称付け
|
|
.\" WORD: inclusion 取り込み
|
|
.\" WORD: convention 約束事
|
|
.\" WORD: delayed command 遅延コマンド
|
|
.\" WORD: Filesystem Hierarchy Standard ファイルシステム階層標準
|
|
.\" --------------------------------------------------------------------
|
|
.\" Title
|
|
.\"--------------------------------------------------------------------
|
|
.TH GROFF_TMAC 5 "6 August 2001" "Groff Version 1.17.2"
|
|
.SH 名称
|
|
groff_tmac \- roff 清書システム内にあるマクロファイル
|
|
.\" --------------------------------------------------------------------
|
|
.SH 解説
|
|
.\" --------------------------------------------------------------------
|
|
.BR roff (7)
|
|
清書システムは、特殊な用途のドキュメントに適した
|
|
マクロパッケージを提供しています。それぞれのマクロパッケージは、
|
|
そのパッケージの
|
|
.BR "tmac ファイル"
|
|
と呼ばれるファイル中にマクロおよび定義を格納しています。
|
|
tmac という名前は、
|
|
.RB ` T roff
|
|
.BR MAC ros'
|
|
を縮めたものです。
|
|
.LP
|
|
tmac ファイルは、普通の roff ソースドキュメントです。ただし、
|
|
通常このファイルには定義および設定コマンドしか含まれておらず、
|
|
テキストは入っていません。tmac ファイルはすべて
|
|
.B tmac
|
|
ディレクトリという 1 つあるいは少数のディレクトリ内に
|
|
保管されています。
|
|
.\" --------------------------------------------------------------------
|
|
.SH 名称付け
|
|
.\"--------------------------------------------------------------------
|
|
古くからある roff システムには、奇妙な名称付けの体系が
|
|
ありました。
|
|
マクロパッケージの名称が
|
|
.'char m
|
|
で始まっている場合には、この文字は省略されました。例えば、
|
|
マニュアルページ用のマクロパッケージ
|
|
.I man
|
|
は
|
|
.I an
|
|
と呼ばれ、そのパッケージのマクロファイルは
|
|
.IR tmac.an
|
|
と呼ばれました
|
|
(現在のバージョンの groff では、このファイルは代りに
|
|
.I an.tmac
|
|
と呼ばれることに注意してください)。
|
|
.LP
|
|
似たような理由で、名称が
|
|
.'char m
|
|
で始まらないマクロパッケージは、
|
|
.'char m
|
|
をつけて表されることがよくありました。例えば、
|
|
.I tmac.doc
|
|
に対応するパッケージは、
|
|
.I mdoc
|
|
と呼ばれました。なぜなら、このパッケージをアクティブに
|
|
するためのコマンドラインは、次のように表されるからです。
|
|
.RS
|
|
.LP
|
|
.BIR "troff\ \-m" doc
|
|
.RE
|
|
.LP
|
|
現在の
|
|
.BR groff(1)
|
|
のバージョンでは、パッケージ名に
|
|
.'char m
|
|
が付こうが付くまいが、この悩ましいマクロパッケージの名称付け体系を
|
|
どちらも提供しています。ですので、
|
|
.IR groff
|
|
では、
|
|
.I man
|
|
マクロパッケージは、次のいずれでも指定可能です。
|
|
.RS
|
|
.LP
|
|
.BIR "groff\ \-m\ " man
|
|
.br
|
|
.BIR "groff\ \-m" an
|
|
.br
|
|
.BIR "groff\ \-m" man
|
|
.br
|
|
.BIR "groff\ \-m " an
|
|
.RE
|
|
.LP
|
|
システムでどのマクロパッケージが利用可能であるかを判別するのに
|
|
最も簡単な方法は、
|
|
.I tmac
|
|
ディレクトリ群の中身を調べることです。
|
|
例えば、
|
|
.BI tmac. anything
|
|
または
|
|
.IB anything .tmac
|
|
と呼ばれるファイルは、
|
|
.IR anything
|
|
という名前のマクロパッケージを決定しています。
|
|
.LP
|
|
.IR groff
|
|
では、マクロパッケージの大部分は、
|
|
古くからあるパッケージに対して
|
|
.'char m
|
|
を先頭に付けた
|
|
.BR groff_<name> (7)
|
|
という名前のマニュアルページで説明がされています。
|
|
.\" --------------------------------------------------------------------
|
|
.SH 取り込み
|
|
.\"--------------------------------------------------------------------
|
|
ドキュメント中でマクロパッケージを使うための方法はいくつかあります。
|
|
実行時に、groff のオプション
|
|
.option \-m \ \c
|
|
.argument name
|
|
を用いてマクロファイル
|
|
.IB name .tmac
|
|
内の定義を
|
|
.BR 名称付け
|
|
のセクションで述べたように利用可能にします。
|
|
このファイルが見付からない場合、
|
|
.BI tmac. name
|
|
が探されます。
|
|
.LP
|
|
groff リクエスト
|
|
.request .so
|
|
あるいは
|
|
.request .mso
|
|
を用いてマクロファイルをドキュメントに取り込むことも可能です。
|
|
.request .so
|
|
については、マクロファイルのフルパスでのファイル名を指定しなくては
|
|
いけません \(em そのマクロファイルが保存されているディレクトリを
|
|
含む必要があります。
|
|
マクロファイルが tmac ディレクトリ群のどれか 1 つに格納されている場合、
|
|
代わりに
|
|
.request .mso
|
|
を使用するほうが便利です。なぜなら、このリクエストは tmac パスを
|
|
探索してファイル名を見つけるからです。
|
|
更に、インクルードされるファイルの名前が
|
|
.IB name .tmac
|
|
という書式の場合でこれが見付からない場合、
|
|
.request .mso
|
|
は代りに
|
|
.BI tmac. name
|
|
をオープンしようとします。また、この逆も行います。
|
|
.LP
|
|
.request .so
|
|
および
|
|
.request .mso
|
|
リクエストを解決するために、roff プリプロセッサ
|
|
.shellcommand soelim
|
|
が呼ばれなくてはならないことに注意してください。
|
|
ただし、インクルードされるファイルが前処理が必要な場合に限ります。
|
|
これは、コマンドライン上でパイプラインから直接呼ぶか、または
|
|
.shellcommand groff
|
|
の
|
|
.option \-s
|
|
オプションを使うかすればできます。
|
|
.LP
|
|
.BR 約束事
|
|
のセクションで述べているように、
|
|
プリプロセッサワード中に文字
|
|
.'char s
|
|
を入れても良いです。
|
|
.LP
|
|
例えば、マクロファイルが
|
|
.I /usr/share/tmac/macros.tmac
|
|
に保存されており、
|
|
.IR docu.roff
|
|
という名前のドキュメントで使用されているとします。
|
|
.LP
|
|
実行時において、このドキュメントに対するフォーマッタ呼び出しは
|
|
次のように行います。
|
|
.RS
|
|
.LP
|
|
.ft CR
|
|
.shellcommand "groff\ \-m"
|
|
.argument macros
|
|
.argument docu.roff
|
|
.ft P
|
|
.RE
|
|
.LP
|
|
ドキュメント内に直接マクロファイルを取り込むには、
|
|
.RS
|
|
.ft CR
|
|
\&\.mso macros.tmac
|
|
.ft P
|
|
.RE
|
|
あるいは
|
|
.RS
|
|
.ft CR
|
|
\&\.so /usr/share/tmac/macros.tmac
|
|
.ft P
|
|
.RE
|
|
を使用します。
|
|
.LP
|
|
どちらの場合でも、フォーマッタは
|
|
.ft CR
|
|
.RS
|
|
groff\ \-s docu.roff
|
|
.RE
|
|
.ft P
|
|
を使用して呼び出されます。
|
|
.
|
|
.\" --------------------------------------------------------------------
|
|
.SH 約束事
|
|
.\" --------------------------------------------------------------------
|
|
.LP
|
|
最近の roff 清書システムの多くでサポートされている約束事があります。
|
|
次に述べられているような
|
|
.B プリプロセッサワード
|
|
がそれです。
|
|
.LP
|
|
ドキュメントの 1 行目がコメントである場合、
|
|
最初の単語 (コメント文字および空白の後) は
|
|
.B プリプロセッサ
|
|
.BR ワード
|
|
で構成されます。
|
|
これはつまり、このワードの文字が、ドキュメントを整形する際に
|
|
起動しなくてはならないプリプロセッサコマンドの省略形であると
|
|
解釈されるということです。
|
|
ほとんどの場合、プリプロセッサのオプションに対応した文字だけが
|
|
認識されます。それは、
|
|
.'char e ,
|
|
.'char G ,
|
|
.'char g ,
|
|
.'char p ,
|
|
.'char R ,
|
|
.'char s ,
|
|
.'char t
|
|
です
|
|
(
|
|
.BR roff (7)
|
|
を参照)。
|
|
.LP
|
|
さらに、ユーザへの良き忘備録として書いておきますが、
|
|
フォーマッタによっては (
|
|
.BR man (1)
|
|
プログラムのように) プリプロセッサワードで指定されたプリプロセッサを
|
|
自動的に起動させることまでもできるものがあります。ただし、このことを
|
|
あてにしてはいけません。
|
|
.\" --------------------------------------------------------------------
|
|
.SH "マクロファイルを記述する"
|
|
.\"--------------------------------------------------------------------
|
|
マクロファイルを記述するのは簡単です。マクロ、文字列、レジスタなどの
|
|
セットを設計してください。そしてそれを 1 つのファイルに
|
|
保存してください。
|
|
記述したマクロを使用するドキュメントは、
|
|
.B 取り込み
|
|
セクションで述べたように
|
|
.request .so
|
|
リクエストを使ってマクロを取り込みます。
|
|
.LP
|
|
tmac の機能を使用するには、マクロファイル
|
|
.IB whatever .tmac
|
|
(または
|
|
.BI tmac. whatever\c
|
|
) を呼び出し、tmac パスのどれかのディレクトリにファイルを置きます。
|
|
.BR 関連ファイル
|
|
セクションを参照してください。
|
|
そうすると、ドキュメントは
|
|
.B 取り込み
|
|
セクションで述べたように
|
|
.request .mso
|
|
リクエストあるいは
|
|
.shellcommand "groff\ \-m"
|
|
オプションを使ってマクロファイルを取り込むことができます。
|
|
.LP
|
|
もしあなたが書いたマクロが一般用途に使えるかもしれないものなら、
|
|
groff メンテナに連絡を取って、そのマクロが groff の
|
|
.I contrib
|
|
ソースディレクトリに含まれるようにしてください。
|
|
.LP
|
|
マクロを書く際には、いくつか一般的なガイドラインがあれば役に立つ
|
|
でしょう。
|
|
.IP \(bu 2m
|
|
機能のあるバックスラッシュはすべて 2 重にします。
|
|
.'char \e
|
|
->
|
|
.'char \e\e
|
|
.IP \(bu 2m
|
|
印字可能なバックスラッシュはすべて
|
|
.'char \ee
|
|
というように書かなくてはなりません。
|
|
.IP \(bu 2m
|
|
ドットはすべてエスケープしてください。
|
|
.'char .
|
|
->
|
|
.'char \e.
|
|
.IP \(bu 2m
|
|
テキスト部分には、印字できない文字
|
|
.'char \e&
|
|
を広く使用するようにしてください。特に、
|
|
.'char \e
|
|
の前や行頭で使用してください。ただし、遅延コマンドの前では
|
|
使用しないでください。
|
|
.IP \(bu 2m
|
|
文字
|
|
.'char @
|
|
を一時的な変数名に使用してください。
|
|
.IP \(bu 2m
|
|
あなたが書いたマクロをテキストおよびグラフィックデバイスに対して
|
|
テストしてください。例えば、
|
|
.I latin1
|
|
と
|
|
.IR ps
|
|
がそうです。
|
|
.\" --------------------------------------------------------------------
|
|
.SH 関連ファイル
|
|
.\" --------------------------------------------------------------------
|
|
tmac メカニズムを使用したいマクロ名はすべて、
|
|
.IB name .tmac
|
|
または
|
|
.BI tmac. name
|
|
の書式に従って名付けられなければなりません。
|
|
.LP
|
|
マクロファイルは、
|
|
.B tmac
|
|
.BR ディレクトリ群
|
|
に保存されています。このディレクトリ群すべてが
|
|
.B tmac
|
|
.BR パス
|
|
を構成しています。
|
|
.LP
|
|
マクロファイルを検索するパスの要素は (順番に) 次の通りです:
|
|
.IP \(bu 4
|
|
troff に対応する groff の
|
|
.B \-M
|
|
コマンドラインオプションで指定されるディレクトリ
|
|
command line option
|
|
.IP \(bu 4
|
|
.B GROFF_TMAC_PATH
|
|
環境変数で与えられるディレクトリ
|
|
.IP \(bu 4
|
|
現在のディレクトリ (
|
|
.B \-U
|
|
コマンドラインスイッチを使用して、安全ではないモードである場合のみ)
|
|
.IP \(bu 4
|
|
ホームディレクトリ
|
|
.IP \(bu 4
|
|
サイト固有の (プラットフォーム非依存の) ディレクトリ、
|
|
プラットフォーム固有ディレクトリ、
|
|
そしてメイン tmac ディレクトリ:
|
|
.IP "" 6
|
|
/usr/share/tmac
|
|
.br
|
|
/usr/share/tmac
|
|
.br
|
|
/usr/share/tmac
|
|
.\" --------------------------------------------------------------------
|
|
.SH 環境変数
|
|
.\" --------------------------------------------------------------------
|
|
.TP
|
|
.B GROFF_TMAC_PATH
|
|
コロン区切りの追加の tmac ディレクトリリストであり、
|
|
このリストからマクロファイルを探します。
|
|
詳細については、前の節を参照してください。
|
|
.\" --------------------------------------------------------------------
|
|
.SH バグ
|
|
.\" --------------------------------------------------------------------
|
|
groff ドキュメントは、現在発展中です。一時的に他のドキュメントとの間で
|
|
小さな食い違いができてしまう可能性があります。
|
|
.\" --------------------------------------------------------------------
|
|
.SH 作者
|
|
.\"--------------------------------------------------------------------
|
|
このドキュメントは groff、すなわち GNU roff 配布物の一部です。
|
|
このドキュメントは Bernd Warken <bwarken@mayn.de> が書きました。
|
|
.LP
|
|
このドキュメントは FDL (GNU Free Documentation License) バージョン
|
|
1.1 以降の条項のもとで配布されています。お使いのシステムには
|
|
FDL のコピーがあるはずです。また、
|
|
.RS
|
|
.LP
|
|
.IR <http://www.gnu.org/copyleft/fdl.html>
|
|
.RE
|
|
からオンラインでも入手可能です。
|
|
.\" --------------------------------------------------------------------
|
|
.SH "関連項目"
|
|
.\" --------------------------------------------------------------------
|
|
groff システムの詳細すべてについて信頼できる情報源は、groff の
|
|
.BR info (1)
|
|
ファイルです。
|
|
.LP
|
|
groff の概要については、
|
|
.BR roff (7)
|
|
および groff ソースパッケージ中の
|
|
.I README
|
|
ファイルを参照してください。
|
|
.LP
|
|
groff tmac マクロパッケージは、
|
|
.BR groff_man (7),
|
|
.BR groff_mwww (7),
|
|
.BR groff_mdoc (7),
|
|
.BR groff_mdoc.samples (7),
|
|
.BR groff_me (7),
|
|
.BR groff_mm (7),
|
|
.BR groff_mmroff (7),
|
|
.BR groff_ms (7)
|
|
です。
|
|
.LP
|
|
groff の言語については
|
|
.BR groff (7)
|
|
で、フォーマッタについては
|
|
.BR groff (1),
|
|
.BR troff (1)
|
|
で説明されています。
|
|
.LP
|
|
ファイルシステム階層標準 (FHS) は
|
|
.BR http://www.pathname.com/fhs/
|
|
で入手可能です。
|
|
.
|
|
.\" Local Variables:
|
|
.\" mode: nroff
|
|
.\" End:
|