562 lines
14 KiB
Groff
562 lines
14 KiB
Groff
'\" t
|
|
.ig
|
|
roff.7
|
|
|
|
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.
|
|
..
|
|
.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/roff.7,v 1.4 2001/07/23 02:27:00 horikawa Exp $
|
|
.\" WORD: gremlin picture gremlin 図
|
|
.
|
|
.\" --------------------------------------------------------------------
|
|
.\" 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 option
|
|
. ds @tmp@ \f(CB\\$1\fP
|
|
. shift 1
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.de 'char
|
|
. ds @tmp@ `\f(CB\\$1\fP'
|
|
. shift
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.de esc
|
|
. ds @tmp@ \f(CB\e\\$1\fP
|
|
. shift
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.de argname
|
|
. ds @tmp@ \f(CI\\$1\fP
|
|
. shift 1
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.de prefixednumber
|
|
. ds @tmp@ \&\\$1\ \f(CR\\$2\fP
|
|
. shift 2
|
|
. text \\*[@tmp@]\\$*
|
|
. rm @tmp@
|
|
..
|
|
.
|
|
.de TQ
|
|
.br
|
|
.ns
|
|
.TP \\$1
|
|
..
|
|
.
|
|
.\" --------------------------------------------------------------------
|
|
.\" Title
|
|
.\" --------------------------------------------------------------------
|
|
.TH ROFF 7 "6 August 2001" "Groff Version 1.17.2"
|
|
.SH 名称
|
|
roff \- roff 清書システムの調査
|
|
.\" --------------------------------------------------------------------
|
|
.SH 解説
|
|
.\" --------------------------------------------------------------------
|
|
.I roff
|
|
とは清書プログラム群の一般名称です。
|
|
.IR troff ,
|
|
.IR nroff ,
|
|
.IR groff
|
|
などの名前で知られています。
|
|
.LP
|
|
roff 清書システムは、整形用言語、マクロパッケージ、
|
|
プリプロセッサ、出力デバイス用ポストプロセッサ、
|
|
ユーザ用フロントエンドプログラム、そして変換ツールから
|
|
構成されています。
|
|
.LP
|
|
今日、最も一般的な roff システムはフリーソフトウェアでの
|
|
実装である
|
|
.I groff
|
|
(`GNU\ roff')
|
|
です。groff より前の実装は「古典」 (1973 年まで遡ります)
|
|
と呼ぶことにします。
|
|
.LP
|
|
.I groff
|
|
は、古典である祖先のシステムと下位互換性がありますが、数多くの
|
|
拡張がされており、今もなお進化し続けています。
|
|
ほとんどすべての計算機システムで利用できるため、今日では事実上の
|
|
roff 標準となっています。
|
|
.LP
|
|
その古さにもかかわらず、roff は今日でも広く使用されています。
|
|
例えば、UNIX システムのマニュアルページ
|
|
.RI ( man ページ )
|
|
は roff で書かれています。
|
|
テキストデバイスに対する roff 出力は、いまだに並ぶもののないほど優れて
|
|
います。グラフィカルな出力も他のフリーの清書プログラムと同等の品質を
|
|
持っていますし、ものによっては商用システムのものよりも優れているときも
|
|
あります。
|
|
.LP
|
|
このドキュメントでは概要のみを示し、詳細なドキュメントについては
|
|
ポインタを示します。
|
|
|
|
このドキュメントは維持されておらず、時代遅れになっている可能性が
|
|
あります。正確なドキュメントが必要なら groff info ファイルを
|
|
参照してください。これには詳細で現実に即した正確なリファレンス情報が
|
|
含まれています。
|
|
.\" --------------------------------------------------------------------
|
|
.SH "整形用言語"
|
|
.\"--------------------------------------------------------------------
|
|
.I roff
|
|
システム用の言語を指す 3 つの用語があります。
|
|
.I troff 言語
|
|
は、
|
|
.I roff
|
|
の古典的な部分に重点を置くときに使われます。
|
|
.I groff 言語
|
|
は GNU 拡張を含んでおり、それに対して
|
|
.I roff 言語
|
|
は一般的な用語です。
|
|
.LP
|
|
.I groff 言語
|
|
のすべての部分について記述されたドキュメントの一次情報源は
|
|
groff info ファイルです。
|
|
.BR groff (7)
|
|
マニュアルページでは、定義済みの言語要素すべてについて
|
|
簡潔な説明をしています。
|
|
.LP
|
|
roff を使用したドキュメントは、普通のテキストファイルを整形用
|
|
要素で修飾したものです。
|
|
マクロパッケージの 1 つを使って高品質のドキュメントを書くのは
|
|
とても簡単なことです。
|
|
マクロパッケージは高水準プログラミング言語のようなものであり、
|
|
それに対して素の roff 言語は C やアセンブラのような低水準言語に
|
|
たとえられます。
|
|
.LP
|
|
roff 言語は低水準のリクエスト、マクロ定義、エスケープシーケンス、
|
|
文字列変数、数値レジスタまたはサイズレジスタ、そして C のような
|
|
制御構造を提供する完全なプログラミング言語です。
|
|
.ig /
|
|
In the 1980s, it was even possible to write the common utilities for
|
|
system administration by only using troff.
|
|
There were contests on writing the most unreadable program fake by
|
|
exclusively using troff.
|
|
Because of security impacts, these dangerous features were removed in
|
|
.IR groff .
|
|
./
|
|
.LP
|
|
この言語の要素についていくらか説明が必要でしょう。
|
|
リクエストは、C, C++ のようなプログラミング言語によって定義された
|
|
基本的な整形用コマンドです。それに対して、マクロは roff 言語で
|
|
記述された整形用コマンドです。
|
|
ドキュメントの著者は、リクエストとマクロを使う際の違いに
|
|
気づくことはないでしょう。どちらもドット
|
|
.'char .
|
|
始まりの単独行で記述されます。
|
|
ただし、望むならば、ユーザは独自のマクロを定義できます。
|
|
.LP
|
|
エスケープシーケンスはインライン要素で、バックスラッシュ
|
|
.'char \e
|
|
で始まります。これらはさまざまな機能を実装するのに
|
|
使われます。それには、
|
|
.esc (
|
|
を用いた非 ASCII 文字の挿入、
|
|
.esc *
|
|
を用いた文字列の内容の挿入、
|
|
.esc n
|
|
を用いたレジスタ変数の挿入、
|
|
.esc f
|
|
を用いたフォントの変更、
|
|
.esc \(dq
|
|
を用いた文中のコメント、
|
|
.esc \e
|
|
のような特殊な制御文字のエスケープ、
|
|
その他多くの機能が含まれます。
|
|
.\" --------------------------------------------------------------------
|
|
.SH フォーマッタ
|
|
.\"--------------------------------------------------------------------
|
|
フォーマッタは groff ドキュメントを解析し、それを特殊なデバイスに合った
|
|
形式に変換するためのフロントエンドプログラムです。
|
|
古典的な
|
|
.I roff
|
|
にはフォーマッタが 2 つあります。
|
|
.B nroff
|
|
がテキストデバイス用で、
|
|
.B troff
|
|
がグラフィカルデバイス用です。
|
|
.LP
|
|
これらのプログラムは
|
|
.I groff
|
|
実装でもまだ存在しますが、通常は
|
|
.BR groff
|
|
と呼ばれるプログラムを通してアクセスされます。
|
|
これによって、古くからの機能を 1 つのプログラムに結合し、拡張
|
|
できるのです。
|
|
groff には多くのコマンドラインオプションがあります。その大部分が
|
|
.BR troff
|
|
からもらい受けたものです。
|
|
このオプションの密林から逃れるべく、ユーザフレンドリなユーティリティ
|
|
.B grog
|
|
(`groff guess' からとられた名前です) が作成されました。
|
|
これは、どの引数を使うべきかを、ドキュメントから推測して、適切な
|
|
コマンドラインを表示します。
|
|
完璧なものではありませんが、取り掛かりには良いでしょう。
|
|
.\" --------------------------------------------------------------------
|
|
.SH プリプロセッサ
|
|
.\"--------------------------------------------------------------------
|
|
groff でもまだ利用可能な古典的プリプロセッサです。
|
|
.RS
|
|
.LP
|
|
.PD 0
|
|
.TP
|
|
.I eqn
|
|
数式を埋め込むためのものです。
|
|
.TP
|
|
.I grap
|
|
グラフィカル要素を構成するためのものです (このプリプロセッサは
|
|
groff と一緒にはついてきません。追加パッケージです)。
|
|
.TP
|
|
.I grn
|
|
gremlin 図を埋め込むためのものです。
|
|
.TP
|
|
.I pic
|
|
図を作成するためのものです。
|
|
.TP
|
|
.I refer
|
|
参考文献の参照用です。
|
|
.TP
|
|
.I soelim
|
|
他の roff ファイルを埋め込むためのものです。
|
|
.TP
|
|
.I tbl
|
|
長方形のテーブル用です。
|
|
.PD
|
|
.RE
|
|
.LP
|
|
これらのプリプロセッサはそれぞれ独自の言語を定義しており、
|
|
プリプロセッサに通されると、roff コードに変換されます。
|
|
ですので、これらの言語で書かれた部分は roff ドキュメントに
|
|
埋め込んであっても良いのです。
|
|
こうした拡張ドキュメントは、実際のフォーマッタにかけられる前に、
|
|
対応する 1 つ以上のプリプロセッサに通されます。
|
|
.LP
|
|
プリプロセッサプログラムは、プリプロセッサ用に
|
|
限定されているドキュメントの部分を抽出し、変換します。
|
|
プリプロセッサは、
|
|
それらのプログラム名を使った UNIX パイプラインで呼び出すことも、
|
|
もしくは groff オプションで自動的に呼び出すこともできます。
|
|
.LP
|
|
.TS
|
|
center, box, tab (@);
|
|
C | C
|
|
CfCB | CfCB.
|
|
プリプロセッサ@groff オプション
|
|
=
|
|
eqn@\-e
|
|
grap@\-G
|
|
grn@\-g
|
|
pic@\-p
|
|
refer@\-R
|
|
tbl@\-r
|
|
soelim@\-s
|
|
.TE
|
|
.LP
|
|
.
|
|
.\" --------------------------------------------------------------------
|
|
.SH "マクロパッケージ"
|
|
.\" --------------------------------------------------------------------
|
|
マクロパッケージは、ある特殊な種類のドキュメントを簡便な方法で
|
|
フォーマットするのに適したマクロの集合です。
|
|
マクロパッケージによって、roff の使い勝手が格段に良くなります。
|
|
パッケージのマクロ定義は、
|
|
.IB name .tmac
|
|
(または
|
|
.BI tmac. name\c
|
|
) と呼ばれるファイルに保管されています。ここで、
|
|
.I name
|
|
はこのパッケージに対する roff 内部での名称です。
|
|
すべての tmac ファイルは、
|
|
1 つあるいは少数のディレクトリ中の標準の場所に保管されています。
|
|
.LP
|
|
ドキュメントが使用するマクロパッケージは、
|
|
フォーマッタのコマンドラインオプション
|
|
.option \-m
|
|
で指定し、例えば
|
|
.option "troff\ \-m"
|
|
.argname name
|
|
や
|
|
.option "groff\ \-m"
|
|
.argname name
|
|
とします。
|
|
マクロパッケージの命名およびその置き場所についての一般的な詳細は
|
|
.BR groff_tmac (5)
|
|
にあります。
|
|
.LP
|
|
古くからある有名なマクロパッケージは
|
|
.IR man ,
|
|
.IR mandoc ,
|
|
.I mdoc
|
|
がマニュアルページ用、そして
|
|
.IR me ,
|
|
.IR ms ,
|
|
.I mm
|
|
が書籍、記事、そして手紙用です。
|
|
これらのコレクションのほかにも、groff はさまざまな用途の
|
|
新しいマクロパッケージを提供しており、その数は増加しています。
|
|
例えば、他のファイル形式を統合したり変換したりするものです。
|
|
.\" --------------------------------------------------------------------
|
|
.SH "ファイル名の拡張子"
|
|
.\" --------------------------------------------------------------------
|
|
マニュアルページ (man ページ) はファイル名の拡張子として
|
|
セクション番号をとります。例えば、このドキュメントのファイル名は
|
|
.IR roff.7
|
|
です。つまり、このドキュメントはマニュアルページの
|
|
.prefixednumber section 7
|
|
に保存されているということです。
|
|
.LP
|
|
古典的なマクロパッケージは、パッケージ名を拡張子にとります。
|
|
例えば、
|
|
.I me
|
|
マクロパッケージを使ったドキュメントは
|
|
.IB file. me
|
|
となり、
|
|
.IR mm
|
|
マクロパッケージに対しては
|
|
.IB file. mm
|
|
、
|
|
.IR ms
|
|
マクロパッケージに対しては
|
|
.IB file. ms
|
|
、
|
|
.I pic
|
|
ファイルに対しては
|
|
.IB file. pic
|
|
といった具合です。
|
|
.ig
|
|
.LP
|
|
But there is no general naming scheme for roff documents, though
|
|
.IB file. roff
|
|
or
|
|
.IB file. rof
|
|
seems to be a good choice.
|
|
.LP
|
|
File name extensions can be very handy in conjunction with the
|
|
.BR less (1)
|
|
pager.
|
|
It provides the possibility to feed all input into a command-line pipe that
|
|
is specified in the shell environment variable
|
|
.B LESSOPEN
|
|
This process is not well documented, so here an example
|
|
.B LESSOPEN='|lesspipe %s'
|
|
where
|
|
.B lesspipe
|
|
is either a system supplied command or a shell script of your own.
|
|
..
|
|
.\" --------------------------------------------------------------------
|
|
.SH 編集方法
|
|
.\" --------------------------------------------------------------------
|
|
ほとんどのテキストエディタは roff を使ったドキュメントの編集を
|
|
サポートしています。特に使い勝手が良いのが、Emacs エディタ
|
|
とその仲間での
|
|
.B nroff-mode
|
|
です。
|
|
.\" --------------------------------------------------------------------
|
|
.SH 環境変数
|
|
.\" --------------------------------------------------------------------
|
|
.TP
|
|
.SM
|
|
.B GROFF_TMAC_PATH
|
|
コロン区切りの検索ディレクトリリストです。
|
|
.BR groff_tmac (5)
|
|
を参照してください。
|
|
.TP
|
|
.SM
|
|
.B GROFF_TYPESETTER
|
|
デフォルトのデバイスです。
|
|
.TP
|
|
.SM
|
|
.B GROFF_FONT_PATH
|
|
.BI dev name
|
|
コロン区切りの検索ディレクトリリストです。
|
|
.B troff
|
|
は、
|
|
.option \-F
|
|
コマンドオプションで与えられたディレクトリを先に検索します。
|
|
次に、
|
|
.BR GROFF_FONT_PATH
|
|
を探します。
|
|
最後に、標準ディレクトリ
|
|
.RB ( /usr/share/groff_font )
|
|
を探します。
|
|
.\" --------------------------------------------------------------------
|
|
.SH 関連ファイル
|
|
.\"--------------------------------------------------------------------
|
|
デフォルトでは、
|
|
.I groff
|
|
は全データファイルを
|
|
.I /usr/share/groff_font
|
|
のサブディレクトリと
|
|
.I /usr/share/tmac
|
|
へインストールされます
|
|
(例外はシステム固有のマクロパッケージへのラッパファイルであり、これらは
|
|
.IR /usr/share/tmac
|
|
にインストールされます)。
|
|
この場所は、システムによっては異なるかもしれません。
|
|
以降、前者を
|
|
.IR <groff_font_dir>
|
|
として、後者を
|
|
.IR <groff_macro_dir>
|
|
として表現します。
|
|
.LP
|
|
.TP
|
|
.IB <groff_macro_dir> /troffrc
|
|
troff 用の初期化ファイル
|
|
.TP
|
|
.IB <groff_macro_dir> / name .tmac
|
|
.TQ
|
|
.IB <groff_macro_dir> /tmac. name
|
|
マクロファイル
|
|
.TP
|
|
.IB <groff_font_dir> /dev name /DESC
|
|
.IR name
|
|
デバイス記述ファイル
|
|
.TP
|
|
.IB <groff_font_dir> /dev name / F
|
|
.IR name
|
|
デバイスの
|
|
.I F
|
|
フォント用のフォントファイル
|
|
.LP
|
|
最後に、ローカルのマクロディレクトリ
|
|
.I /usr/share/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 "関連項目"
|
|
.\" --------------------------------------------------------------------
|
|
主な情報源は、
|
|
.I groff
|
|
.BR info (1)
|
|
ファイルです。
|
|
.LP
|
|
定義済みの
|
|
.I groff
|
|
言語要素についても
|
|
.BR groff (7)
|
|
マニュアルページに記載があります。
|
|
.LP
|
|
フォーマッタおよびそのラッパについては
|
|
.BR groff (1),
|
|
.BR grog (1),
|
|
.BR nroff (1),
|
|
.BR troff (1)
|
|
に記載があります。
|
|
.LP
|
|
出力デバイス用のポストプロセッサについては
|
|
.BR grodvi (1),
|
|
.BR grohtml (1),
|
|
.BR grolbp (1),
|
|
.BR grolj4 (1),
|
|
.BR grops (1),
|
|
.BR grotty (1)
|
|
に記載があります。
|
|
.LP
|
|
標準プリプロセッサについては
|
|
.BR eqn (1),
|
|
.BR grn (1),
|
|
.BR grap (1),
|
|
.BR pic (1),
|
|
.BR refer (1),
|
|
.BR soelim (1),
|
|
.BR tbl (1)
|
|
に記載があります。
|
|
.LP
|
|
マクロパッケージについてのマニュアルページには
|
|
.BR groff_tmac (5),
|
|
.BR groff_man (7),
|
|
.BR groff_markup (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
|
|
次のようなユーティリティが利用できます:
|
|
.BR addftinfo (1),
|
|
.BR afmtodif (1),
|
|
.BR hpftodit (1),
|
|
.BR indxbib (1),
|
|
.BR lookbib (1),
|
|
.BR pfbtops (1),
|
|
.BR tfmtodit (1),
|
|
.BR gxditview (1)
|
|
です。
|
|
.LP
|
|
.I roff
|
|
システムの GNU 実装についての詳細は
|
|
.BR groff_char (7),
|
|
.BR groff_font (7),
|
|
.BR groff_out (7)
|
|
および groff ソース配布物のメインディレクトリ内の
|
|
.I README
|
|
ファイルを参照してください。
|
|
.I groff
|
|
開発グループとの連絡の取り方や参加の仕方についての
|
|
詳細も載っています。
|
|
.LP
|
|
古典的な
|
|
.troff
|
|
ドキュメントは今でもオンラインで入手可能です。
|
|
特に有益なのが、かのフリーである UNIX 7 用のベル研オリジナルの
|
|
会報です。これは
|
|
.I http://cm.bell-labs.com/cm/cs/cstr.html
|
|
にあります。そして、故 Richard S. Stevens のコレクションが
|
|
.IR http://www.kohala.com/start/troff/
|
|
にあります。
|
|
.
|
|
.\" Local Variables:
|
|
.\" mode: nroff
|
|
.\" End:
|