OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / GNU_groff / release / man5 / groff_tmac.5
1 .\"                        -*- nroff -*- 
2 .ig /
3 groff_tmac.5
4
5 This file is part of groff, the GNU roff type-setting system.
6
7 Copyright (C) 2000 Free Software Foundation, Inc.
8 written by Bernd Warken <bwarken@mayn.de>
9
10 Last update: 17 May 2000
11
12 Permission is granted to copy, distribute and/or modify this document
13 under the terms of the GNU Free Documentation License, Version 1.1 or
14 any later version published by the Free Software Foundation; with the
15 Invariant Sections being this .ig-section and AUTHOR, with no
16 Front-Cover Texts, and with no Back-Cover Texts.
17
18 A copy of the Free Documentation License is included as a file called
19 FDL in the main directory of the groff source package.
20 ./
21 .\" Japanese Version Copyright (c) 2001 UCHIDA Norihiro all rights reserved.
22 .\" Translated Mon Mar 12 2001 by UCHIDA Norihiro <KY4N-UCD@asahi-net.or.jp>
23 .\" --------------------------------------------------------------------
24 .\" Setup
25 .\" --------------------------------------------------------------------
26 .
27 .if n \{\
28 .  mso tmac.tty-char
29 .  ftr CR R
30 .  ftr CI I
31 .  ftr CB B
32 .\}
33 .
34 .\" text lines in macro definitions or bracketed sections \{...\}
35 .de text
36 .  if 1 \&\\$*\&
37 ..
38 .
39 .de BIR
40 .  ie (\\n[.$] < 3) \
41 .    BI $@
42 .  el \{\
43 .    ds @tmp@ \fB\\$1\fP\fI\\$2\fP
44 .    shift 2
45 .    text \\*[@tmp@]\fR\\$*\fP
46 .    rm @tmp@
47 .  \}
48 ..
49 .
50 .de 'char
51 .  ds @tmp@ `\f(CB\\$1\fP'
52 .  shift
53 .  text \\*[@tmp@]\\$*
54 .  rm @tmp@
55 ..
56 .
57 .de option
58 .  ds @tmp@ \f(CB\\$1\fP
59 .  shift 1
60 .  text \\*[@tmp@]\\$*
61 .  rm @tmp@
62 ..
63 .
64 .als shellcommand option
65 .
66 .de argument
67 .  ds @tmp@ \f(CI\\$1\fP
68 .  shift 1
69 .  text \\*[@tmp@]\\$*
70 .  rm @tmp@
71 ..
72 .
73 .de request
74 .  ds @tmp@ \f(CB\\$1\fP
75 .  shift 1
76 .  text \\*[@tmp@]\\$*
77 .  rm @tmp@
78 ..
79 .
80 .\" --------------------------------------------------------------------
81 .\" Title
82 .\" --------------------------------------------------------------------
83 .TH GROFF_TMAC 5 "22 May 2000" "Groff Version 1.16.1"
84 .SH 名前
85 groff_tmac \- roff テキスト整形システムのマクロファイル
86 .\" --------------------------------------------------------------------
87 .SH 説明
88 .\" --------------------------------------------------------------------
89 .BR roff (7)
90 テキスト整形システムは、特定のドキュメントにとって便利なマクロパッケージを
91 提供している。それぞれのマクロパッケージはパッケージごとの
92 .B tmac ファイル
93 と呼ばれるファイルにマクロと定義を格納している。
94 この名前は
95 .RB ` T roff
96 .BR MAC ros'
97 に由来する。
98 .LP
99 tmac ファイルは普通の roff のソースドキュメントで、通常は定義とセットアップ
100 コマンドだけを含み、テキストは含まれない。
101 すべての tmac ファイルは、ひとつあるいはいくつかのディレクトリ
102 .RB ( tmac
103 ディレクトリ) に格納される。
104 .\" --------------------------------------------------------------------
105 .SH 命名方法
106 .\" --------------------------------------------------------------------
107 古典的な roff システムでは、奇妙な命名規則が用いられていた。
108 マクロパッケージの名前が
109 .'char m
110 で始まる場合は、この文字は省略された。たとえばマニュアルページ
111 .I man
112 用のマクロパッケージは
113 .I an
114 で、そのマクロファイルは
115 .I tmac.an
116 と命名された。
117 .LP
118 同じような理由から、
119 .'char m
120 で始まらないマクロパッケージはしばしば
121 .'char m
122 を追加されて呼ばれた。たとえば、
123 .I tmac.doc
124 に対応するパッケージは
125 .I mdoc
126 と呼ばれた。なぜなら、このマクロを用いるときのコマンドラインが以下のように
127 読めるからである。
128 .RS
129 .LP
130 .BI "troff\ \-m" doc
131 .RE
132 .LP
133 現行バージョンの
134 .BR groff (1)
135 では、使用するマクロパッケージの命名方法は先行する
136 .'char m
137 がある場合・ない場合の両方を提供している。
138 したがって、
139 .I groff
140 では
141 .I man
142 マクロパッケージは以下のように指定できる。
143 .RS
144 .LP
145 .BI "groff\ \-m\ " man
146 .br
147 .BI "groff\ \-m" an
148 .br
149 .BI "groff\ \-m" man
150 .br
151 .BI "groff\ \-m " an
152 .RE
153 .LP
154 システム上で有効なマクロパッケージを見つけるもっとも簡単な方法は、
155 .I tmac
156 ディレクトリの内容をチェックすることである。
157 たとえば、
158 .BI tmac. anything
159 というファイルは
160 .I anything
161 という名前のマクロパッケージを定義している。
162 .LP
163 .I groff
164 では、ほとんどのマクロパッケージが
165 .BR groff_<name> (7)
166 というマニュアルページで説明されており、古典的なパッケージも
167 .'char m
168 を先行してある。
169 .\" --------------------------------------------------------------------
170 .SH マクロの使用方法
171 .\" --------------------------------------------------------------------
172 ドキュメント中でマクロパッケージを使う方法はいくつかある。
173 実行時の指定方法では、groff の オプション
174 .option \-m \ \c
175 .argument name
176 で、
177 .B 命名方法
178 のセクションで記述したようにマクロファイル
179 .BI tmac. name
180 の定義を有効にする。
181 .LP
182 groff のリクエスト
183 .request .so
184
185 .request .mso
186 を使ってドキュメント中でマクロファイルを指定することもできる。
187 .request .so
188 では、マクロファイルは格納されているディレクトリも含めた完全なファイル名で
189 指定する必要がある。
190 マクロファイルが tmac ディレクトリのひとつに格納されている場合は、代わりに
191 .request .mso
192 を使用する方が便利である。こちらはファイル名に tmac パスを追加して
193 検索をする。
194 .LP
195 .request .so
196
197 .request .mso
198 のリクエストを解決するために roff のプリプロセッサ
199 .shellcommand soelim
200 が呼び出されなければならないことに注意すること。
201 これは、コマンドライン上のパイプラインで直接実行する方法と、
202 .shellcommand groff
203
204 .option \-s
205 オプションを使って呼び出す方法のどちらでも可能である。
206 .LP
207 .B 規定
208 のセクションで記述してあるように、プリプロセッサ指定子の文字
209 .'char s
210 で指定することもできる。
211 .LP
212 たとえば、マクロファイルが
213 .I /usr/share/groff/tmac/tmac.macros
214 に格納されていて、
215 .I docu.roff
216 というドキュメントで使用すると仮定する。
217 .LP
218 実行時では、フォーマッタの呼び出し方法は以下のようになる。
219 .RS
220 .LP
221 .ft CR
222 .shellcommand "groff\ \-m"
223 .argument macros
224 .argument docu.roff
225 .ft P
226 .RE
227 .LP
228 ドキュメント中でマクロファイルを直接指定するには、
229 .RS
230 .ft CR
231 \&\.mso tmac.macros
232 .ft P
233 .RE
234 を用いるか、
235 .RS
236 .ft CR
237 \&\.so /usr/share/groff/tmac/tmac.macros
238 .ft P
239 .RE
240 と指定する。
241 .LP
242 どちらの場合でも、フォーマッタを
243 .ft CR
244 .RS
245 groff\ \-s docu.roff
246 .RE
247 .ft P
248 のようにして呼び出す。
249 .
250 .\" --------------------------------------------------------------------
251 .SH 規定
252 .\" --------------------------------------------------------------------
253 .LP
254 最近の多くの roff 整形システムでサポートされている
255 .B プリプロセッサ指定子
256 の規定について以下に記述する。
257 .LP
258 ドキュメントの先頭行がコメントの場合は、コメント文字と空白に続く最初の
259 文字は
260 .B プリプロセッサ指定子
261 を構成する。
262 つまり、これらの文字はドキュメントを整形するときに起動される
263 プリプロセッサコマンドの省略形とみなされる。
264 たいていは、プリプロセッサの呼び出しオプションと一致する文字だけが認識され、
265 以下のものがある。
266 .'char e ,
267 .'char G ,
268 .'char g ,
269 .'char p ,
270 .'char R ,
271 .'char s ,
272 .'char t
273 .RB ( roff (7)
274 を参照のこと)
275 .LP
276 ユーザに良き助言を与えるならば、いくつかのフォーマッタ (たとえば
277 .BR man (1)
278 プログラムなど) もプリプロセッサ指定子によって指定されたプリプロセッサを
279 自動的に起動することができる。しかし、その動作を期待するべきではない。
280 .\" --------------------------------------------------------------------
281 .SH マクロファイルの記述方法
282 .\" --------------------------------------------------------------------
283 groff のマクロファイルを記述することは簡単である。
284 一連のマクロ、文字列、レジスタなどをデザインし、それらをひとつのファイルに
285 格納する。このマクロを用いるドキュメントで
286 .request .so
287 リクエストによってマクロファイルを指定する方法は
288 .B マクロの使用方法
289 のセクションに記述してある。
290 .LP
291 tmac の機能を用いるには、マクロファイルを
292 .BI tmac. whatever
293 のように命名して tmac パスで指定されるディレクトリに格納する
294 .RB ( ファイル
295 のセクションを参照)。
296 そして、ドキュメントでは
297 .B マクロの使用方法
298 のセクションで記述してあるように、
299 .request .mso
300 リクエストや
301 .shellcommand "groff\ \-m"
302 オプションによってそのマクロを使用することができる。
303 .LP
304 もしあなたのマクロが一般的な用途に向いているならば、groff のメンテナに
305 連絡をとって groff の
306 .I contrib
307 ソースディレクトリにそれらを含めるようにしてほしい。
308 .LP
309 マクロの記述には、一般的なガイドラインのいくつかが役に立つだろう。
310 .IP \(bu 2m
311 機能的なバックスラッシュはすべて二重にする。
312 .'char \e
313 ->
314 .'char \e\e
315 .IP \(bu 2m
316 表示するためのバックスラッシュは次のように記述する。
317 .'char \ee
318 .IP \(bu 2m
319 ドットはすべてエスケープする。
320 .'char .
321 ->
322 .'char \e.
323 .IP \(bu 2m
324 テキスト部分には非表示文字である
325 .'char \e&
326
327 .'char \e
328 の前と行の先頭に広く用いるようにする。ただし後に続くコマンドがある場合は
329 この限りではない。
330 .IP \(bu 2m
331 一時的な変数名には文字
332 .'char @
333 を用いる。
334 .IP \(bu 2m
335 マクロはテキストとグラフィックのデバイスでテストする。たとえば
336 .I latin1
337
338 .I ps
339 など。
340 .\" --------------------------------------------------------------------
341 .SH ファイル
342 .\" --------------------------------------------------------------------
343 tmac のメカニズムで用いようとするマクロの名前は
344 .BI tmac. name
345 という形式で命名されていなければならない。
346 .LP
347 マクロファイルは
348 .B "tmac パス"
349 を構成する
350 .B "tmac ディレクトリ"
351 に格納される。
352 Filesystem Hierarchy Standard (FHS) に準拠していれば、
353 groff の標準的な tmac ディレクトリの場所は
354 .I /usr/share/groff/tmac
355 であり、ローカルな導入先は
356 .I /usr/local/share/groff/tmac
357 が用いられるだろう。
358 古いシステムにおいては、
359 .I /usr/lib
360 以下のサブディレクトリを使用していた。
361 デフォルトの tmac パスとは独立して、実際にドキュメントで用いられる
362 tmac パスは常にシェル環境変数で指定することができる。セクション
363 .B 環境変数
364 を参照のこと。
365 .\" --------------------------------------------------------------------
366 .SH 環境変数
367 .\" --------------------------------------------------------------------
368 .TP
369 .B GROFF_TMAC_PATH
370 マクロファイルを検索するための tmac ディレクトリ
371 .RB ( "tmac パス" )
372 をコロンで区切ったリスト。
373 指定されていない場合は、
374 .B ファイル
375 のセクションで示したデフォルトのパスが使用される。
376 .\" --------------------------------------------------------------------
377 .SH バグ
378 .\" --------------------------------------------------------------------
379 現在、groff システムのドキュメントは進化の途上にある。
380 一時的にドキュメント同士でささやかな矛盾点が見られるだろう。
381 .\" --------------------------------------------------------------------
382 .SH 著者
383 .\" --------------------------------------------------------------------
384 このドキュメントは groff (GNU roff パッケージ) の一部である。
385 Bernd Warken <bwarken@mayn.de> によって記述された。
386 .LP
387 このドキュメントは FDL (GNU Free Documentation License) のバージョン 1.1 
388 以降の元に配布される。あなたのシステムにも FDL のコピーがあるはずである。
389 以下でもオンラインで参照できる。
390 .RS
391 .LP
392 .IR <http://www.gnu.org/copyleft/fdl.html> .
393 .RE
394 .\" --------------------------------------------------------------------
395 .SH 関連項目
396 .\" --------------------------------------------------------------------
397 groff システムの詳細について、信ずべき情報源は、groff の
398 .BR info (1)
399 ファイルである。
400 .LP
401 groff の概要については
402 .BR roff (7)
403 と groff ソースパッケージの
404 .I README
405 ファイルを参照のこと。
406 .LP
407 groff の tmac マクロパッケージについては以下を参照のこと。
408 .BR groff_man (7),
409 .BR groff_markup (7),
410 .BR groff_mdoc (7),
411 .BR groff_mdoc.samples (7),
412 .BR groff_me (7),
413 .BR groff_mm (7),
414 .BR groff_mmroff (7),
415 .BR groff_ms (7),
416 .BR groff_msafer (7)
417 .LP
418 groff 言語については
419 .BR groff (7)
420 に、フォーマッタについては
421 .BR groff "(1) と"
422 .BR troff (1)
423 に記述されている。
424 .LP
425 Filesystem Hierarchy Standard (FHS) については
426 .B http://www.pathname.com/fhs/
427 を参照のこと。
428
429