File: groff_tmac.5

package info (click to toggle)
manpages-ja 0.5.0.0.20221215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 29,304 kB
  • sloc: perl: 161; makefile: 61
file content (487 lines) | stat: -rw-r--r-- 15,578 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
.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: