Roff

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

roff とはUNIXに於ける文書整形を行うコマンド、ただし今日ではこの名称のコマンドは廃棄されており、主に troff、nroff の総称として使われる。

目次

概要

roff とは文書の整形、清書を行うコマンドである。roff の名称の由来は「to run off a copy(コピーを取り出す)」の略である。

roff は通常のテキストファイルに整形用要素を加えたファイルを読み込み、ドキュメントを生成する。roff自身の基本機能は非常に単純であるが幾つかの機能を組み合わせたマクロパッケージを生成することが出来る。この考え方は UNIX のシステム記述言語でもあるC言語などの考え方とも共通する。roff の機能には変数、制御構造といったものも存在するため最初期のマークアップ言語ということもできる。

歴史

roff の起源は古く最初期のUNIXから存在しており、概念に関しては1960年代にまでさかのぼる。 1961年に初めて実演されたCTSSに既に RUNOFF と呼ばれる文書整形プログラムが存在していた。UNIX の前身でもあるMulticsではこの RUNOFF を参考にして runoff というプログラムを作成し、文書整形やヘルプファイルの記述に使用された。roff はこの runoff を参考にしてジョー・オサンナen:Joseph Ossanna)によりUNIX 上で動作するように開発されたものである。

1973年に最初の roff がリリースされた。このプログラムはPDP-11アセンブラで記述されていたが、後にC言語で書き直されたバージョンが1975年にリリースされている。 最初期の roff は3つのフォーマットプログラムを持ち、それぞれ nroff、troff、roff というコマンド名であった。この内 nroff は画面上での表示、troff は印刷文書上での表示形式であり roff というコマンドは Multics の runoff の再実装として開発されていた。しかし後のバージョンで roff コマンドは廃棄されており、現在では roff という単語は nroff/troff とこのシステムの派生作品を含めた総称として主に使われている。

nroff

nroff は new roff の略である。roff で作る文書を端末ディスプレイ等にテキストデータで表示する際の書式を設定する目的でジョー・オサンナにより開発された。nroff が最も使用される場面として UNIXのmanコマンドが挙げられる。このコマンドは各コマンドの説明文書を画面上に呼び出す機能であるが、各文書は nroff 形式で保存されており、man コマンドが実行されると nroff によって整形されページャを通して画面に出力されるという動作が行われている。

troff

troff は主に写植機(あるいはプリンタ)に文書を印刷する際の書式設定を行う roff である。もともとはC/A/Tという写植機用の印刷データを生成する目的で開発されており、この写植機上で使用する特有のコマンドセットが数多く定義されている。初期のバージョンはジョー・オサンナを中心に開発が行われていたが、1977年にジョー・オサンナが心臓麻痺で他界して後は主にブライアン・カーニハンが中心になって開発が継続された。1979年に C/A/T 以外のフォトタイプセットを扱えるようにしたり、一般的なインターフェイスを備えるなど大幅に改良を施したバージョンが発表された。

roff のプリプロセッサ

roff におけるプリプロセッサとは roffのフォーマットに変換し出力を生成するプログラムの事を指す。各プリプロセッサはそれぞれ独自の言語で策定されており、ファイルをプリプロセッサに通すと、roff のフォーマットに変換を行う。このような言語で記述された部分は一般に roffの文書に埋め込み、プリプロセッサを通してから roff に通すことで文書を作成する、ほとんどのプリプロセッサはファイルの内容の中で自分自身のものと判断した部分のみを抽出して変換を行い、それ以外の場所は無視するので命令等が一致しないなら複数のプリプロセッサの書式を同一ファイル内に記述することができる。以下に代表的な roff のプリプロセッサを挙げる。

eql
数式を roff形式のフォーマットに変換する。
tbl
表を含む文書を roff形式のフォーマットに変換する。
pic
roff 形式の文書に図を埋め込むプリプロセッサ。
refer
roff の文書に参考文献の部分を自動生成するプリプロセッサ(LaTeXにおける thebibliography環境に近い)。

関連項目

参考文献

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net