Manpages

名 称

roff − roff 清 書 シ ス テ ム の 調 査

解 説

roff と は 清 書 プ ロ グ ラ ム 群 の 一 般 名 称 で す 。 troff, nroff, groff な ど の 名 前 で 知 ら れ て い ま す 。

roff 清 書 シ ス テ ム は 、 整 形 用 言 語 、 マ ク ロ パ ッ ケ ー ジ 、 プ リ プ ロ セ ッ サ 、 出 力 デ バ イ ス 用 ポ ス ト プ ロ セ ッ サ 、 ユ ー ザ 用 フ ロ ン ト エ ン ド プ ロ グ ラ ム 、 そ し て 変 換 ツ ー ル か ら 構 成 さ れ て い ま す 。 今 日 、 最 も 一 般 的 な roff シ ス テ ム は フ リ ー ソ フ ト ウ ェ ア で の 実 装 で あ る groff (’GNU roff’) で す 。 groff よ り 前 の 実 装 は 「 古 典 」 (1973 年 ま で 遡 り ま す ) と 呼 ぶ こ と に し ま す 。

groff は 、 古 典 で あ る 祖 先 の シ ス テ ム と 下 位 互 換 性 が あ り ま す が 、 数 多 く の 拡 張 が さ れ て お り 、 今 も な お 進 化 し 続 け て い ま す 。 ほ と ん ど す べ て の 計 算 機 シ ス テ ム で 利 用 で き る た め 、 今 日 で は 事 実 上 の roff 標 準 と な っ て い ま す 。 そ の 古 さ に も か か わ ら ず 、 roff は 今 日 で も 広 く 使 用 さ れ て い ま す 。 例 え ば 、 UNIX シ ス テ ム の マ ニ ュ ア ル ペ ー ジ (manペ ー ジ ) は roff で 書 か れ て い ま す 。 テ キ ス ト デ バ イ ス に 対 す る roff 出 力 は 、 い ま だ に 並 ぶ も の の な い ほ ど 優 れ て い ま す 。 グ ラ フ ィ カ ル な 出 力 も 他 の フ リ ー の 清 書 プ ロ グ ラ ム と 同 等 の 品 質 を 持 っ て い ま す し 、 も の に よ っ て は 商 用 シ ス テ ム の も の よ り も 優 れ て い る と き も あ り ま す 。 こ の ド キ ュ メ ン ト で は 概 要 の み を 示 し 、 詳 細 な ド キ ュ メ ン ト に つ い て は ポ イ ン タ を 示 し ま す 。 こ の ド キ ュ メ ン ト は 維 持 さ れ て お ら ず 、 時 代 遅 れ に な っ て い る 可 能 性 が あ り ま す 。 正 確 な ド キ ュ メ ン ト が 必 要 な ら groff info フ ァ イ ル を 参 照 し て く だ さ い 。 こ れ に は 詳 細 で 現 実 に 即 し た 正 確 な リ フ ァ レ ン ス 情 報 が 含 ま れ て い ま す 。

整 形 用 言 語

roff シ ス テ ム 用 の 言 語 を 指 す 3 つ の 用 語 が あ り ま す 。 troff 言 語 は 、 roff の 古 典 的 な 部 分 に 重 点 を 置 く と き に 使 わ れ ま す 。 groff 言 語 は GNU 拡 張 を 含 ん で お り 、 そ れ に 対 し て roff 言 語 は 一 般 的 な 用 語 で す 。

groff 言 語 の す べ て の 部 分 に つ い て 記 述 さ れ た ド キ ュ メ ン ト の 一 次 情 報 源 は groff info フ ァ イ ル で す 。 groff(7) マ ニ ュ ア ル ペ ー ジ で は 、 定 義 済 み の 言 語 要 素 す べ て に つ い て 簡 潔 な 説 明 を し て い ま す 。

roff を 使 用 し た ド キ ュ メ ン ト は 、 普 通 の テ キ ス ト フ ァ イ ル を 整 形 用 要 素 で 修 飾 し た も の で す 。 マ ク ロ パ ッ ケ ー ジ の 1 つ を 使 っ て 高 品 質 の ド キ ュ メ ン ト を 書 く の は と て も 簡 単 な こ と で す 。 マ ク ロ パ ッ ケ ー ジ は 高 水 準 プ ロ グ ラ ミ ン グ 言 語 の よ う な も の で あ り 、 そ れ に 対 し て 素 の roff 言 語 は C や ア セ ン ブ ラ の よ う な 低 水 準 言 語 に た と え ら れ ま す 。

roff 言 語 は 低 水 準 の リ ク エ ス ト 、 マ ク ロ 定 義 、 エ ス ケ ー プ シ ー ケ ン ス 、 文 字 列 変 数 、 数 値 レ ジ ス タ ま た は サ イ ズ レ ジ ス タ 、 そ し て C の よ う な 制 御 構 造 を 提 供 す る 完 全 な プ ロ グ ラ ミ ン グ 言 語 で す 。 こ の 言 語 の 要 素 に つ い て い く ら か 説 明 が 必 要 で し ょ う 。 リ ク エ ス ト は 、 C, C++ の よ う な プ ロ グ ラ ミ ン グ 言 語 に よ っ て 定 義 さ れ た 基 本 的 な 整 形 用 コ マ ン ド で す 。 そ れ に 対 し て 、 マ ク ロ は roff 言 語 で 記 述 さ れ た 整 形 用 コ マ ン ド で す 。 ド キ ュ メ ン ト の 著 者 は 、 リ ク エ ス ト と マ ク ロ を 使 う 際 の 違 い に 気 づ く こ と は な い で し ょ う 。 ど ち ら も ド ッ ト ’.’ 始 ま り の 単 独 行 で 記 述 さ れ ま す 。 た だ し 、 望 む な ら ば 、 ユ ー ザ は 独 自 の マ ク ロ を 定 義 で き ま す 。 エ ス ケ ー プ シ ー ケ ン ス は イ ン ラ イ ン 要 素 で 、 バ ッ ク ス ラ ッ シ ュ ’\’ で 始 ま り ま す 。 こ れ ら は さ ま ざ ま な 機 能 を 実 装 す る の に 使 わ れ ま す 。 そ れ に は 、 \( を 用 い た 非 ASCII 文 字 の 挿 入 、 \* を 用 い た 文 字 列 の 内 容 の 挿 入 、 \n を 用 い た レ ジ ス タ 変 数 の 挿 入 、 \f を 用 い た フ ォ ン ト の 変 更 、 \" を 用 い た 文 中 の コ メ ン ト 、 \\ の よ う な 特 殊 な 制 御 文 字 の エ ス ケ ー プ 、 そ の 他 多 く の 機 能 が 含 ま れ ま す 。

フ ォ ー マ ッ タ

フ ォ ー マ ッ タ は groff ド キ ュ メ ン ト を 解 析 し 、 そ れ を 特 殊 な デ バ イ ス に 合 っ た 形 式 に 変 換 す る た め の フ ロ ン ト エ ン ド プ ロ グ ラ ム で す 。 古 典 的 な roff に は フ ォ ー マ ッ タ が 2 つ あ り ま す 。 nroff が テ キ ス ト デ バ イ ス 用 で 、 troff が グ ラ フ ィ カ ル デ バ イ ス 用 で す 。 こ れ ら の プ ロ グ ラ ム は groff 実 装 で も ま だ 存 在 し ま す が 、 通 常 は groff と 呼 ば れ る プ ロ グ ラ ム を 通 し て ア ク セ ス さ れ ま す 。 こ れ に よ っ て 、 古 く か ら の 機 能 を 1 つ の プ ロ グ ラ ム に 結 合 し 、 拡 張 で き る の で す 。 groff に は 多 く の コ マ ン ド ラ イ ン オ プ シ ョ ン が あ り ま す 。 そ の 大 部 分 が troff か ら も ら い 受 け た も の で す 。 こ の オ プ シ ョ ン の 密 林 か ら 逃 れ る べ く 、 ユ ー ザ フ レ ン ド リ な ユ ー テ ィ リ テ ィ grog (’groff guess’ か ら と ら れ た 名 前 で す ) が 作 成 さ れ ま し た 。 こ れ は 、 ど の 引 数 を 使 う べ き か を 、 ド キ ュ メ ン ト か ら 推 測 し て 、 適 切 な コ マ ン ド ラ イ ン を 表 示 し ま す 。 完 璧 な も の で は あ り ま せ ん が 、 取 り 掛 か り に は 良 い で し ょ う 。

プ リ プ ロ セ ッ サ

groff で も ま だ 利 用 可 能 な 古 典 的 プ リ プ ロ セ ッ サ で す 。

eqn 数 式 を 埋 め 込 む た め の も の で す 。

grap グ ラ フ ィ カ ル 要 素 を 構 成 す る た め の も の で す

(こ の プ リ プ ロ

セ ッ サ は groff と 一 緒 に は つ い て き ま せ ん 。 追 加 パ ッ ケ ー ジ で す )。

grn

gremlin 図 を 埋 め 込 む た め の も の で す 。

pic

図 を 作 成 す る た め の も の で す 。

refer 参 考 文 献 の 参 照 用 で す 。

soelim 他 の

roff フ ァ イ ル を 埋 め 込 む た め の も の で す 。

tbl 長 方 形 の テ ー ブ ル 用 で す 。 こ れ ら の プ リ プ ロ セ ッ サ は そ れ ぞ れ 独 自 の 言 語 を 定 義 し て お り 、 プ リ プ ロ セ ッ サ に 通 さ れ る と 、

roff コ ー ド に 変 換 さ れ ま す 。 で す の で 、 こ れ ら の 言 語 で 書 か れ た 部 分 は roff ド キ ュ メ ン ト に 埋 め 込 ん で あ っ て も 良 い の で す 。 こ う し た 拡 張 ド キ ュ メ ン ト は 、 実 際 の フ ォ ー マ ッ タ に か け ら れ る 前 に 、 対 応 す る 1 つ 以 上 の プ リ プ ロ セ ッ サ に 通 さ れ ま す 。 プ リ プ ロ セ ッ サ プ ロ グ ラ ム は 、 プ リ プ ロ セ ッ サ 用 に 限 定 さ れ て い る ド キ ュ メ ン ト の 部 分 を 抽 出 し 、 変 換 し ま す 。 プ リ プ ロ セ ッ サ は 、 そ れ ら の プ ロ グ ラ ム 名 を 使 っ た UNIX パ イ プ ラ イ ン で 呼 び 出 す こ と も 、 も し く は groff オ プ シ ョ ン で 自 動 的 に 呼 び 出 す こ と も で き ま す 。

マ ク ロ パ ッ ケ ー ジ

マ ク ロ パ ッ ケ ー ジ は 、 あ る 特 殊 な 種 類 の ド キ ュ メ ン ト を 簡 便 な 方 法 で フ ォ ー マ ッ ト す る の に 適 し た マ ク ロ の 集 合 で す 。 マ ク ロ パ ッ ケ ー ジ に よ っ て 、 roff の 使 い 勝 手 が 格 段 に 良 く な り ま す 。 パ ッ ケ ー ジ の マ ク ロ 定 義 は 、 name.tmac (ま た は tmac.name) と 呼 ば れ る フ ァ イ ル に 保 管 さ れ て い ま す 。 こ こ で 、 name は こ の パ ッ ケ ー ジ に 対 す る roff 内 部 で の 名 称 で す 。 す べ て の tmac フ ァ イ ル は 、 1 つ あ る い は 少 数 の デ ィ レ ク ト リ 中 の 標 準 の 場 所 に 保 管 さ れ て い ま す 。 ド キ ュ メ ン ト が 使 用 す る マ ク ロ パ ッ ケ ー ジ は 、 フ ォ ー マ ッ タ の コ マ ン ド ラ イ ン オ プ シ ョ ン −m で 指 定 し 、 例 え ば troff −m namegroff −m name と し ま す 。 マ ク ロ パ ッ ケ ー ジ の 命 名 お よ び そ の 置 き 場 所 に つ い て の 一 般 的 な 詳 細 は groff_tmac(5) に あ り ま す 。 古 く か ら あ る 有 名 な マ ク ロ パ ッ ケ ー ジ は man, mandoc, mdoc が マ ニ ュ ア ル ペ ー ジ 用 、 そ し て me, ms, mm が 書 籍 、 記 事 、 そ し て 手 紙 用 で す 。 こ れ ら の コ レ ク シ ョ ン の ほ か に も 、 groff は さ ま ざ ま な 用 途 の 新 し い マ ク ロ パ ッ ケ ー ジ を 提 供 し て お り 、 そ の 数 は 増 加 し て い ま す 。 例 え ば 、 他 の フ ァ イ ル 形 式 を 統 合 し た り 変 換 し た り す る も の で す 。

フ ァ イ ル 名 の 拡 張 子

マ ニ ュ ア ル ペ ー ジ (man ペ ー ジ ) は フ ァ イ ル 名 の 拡 張 子 と し て セ ク シ ョ ン 番 号 を と り ま す 。 例 え ば 、 こ の ド キ ュ メ ン ト の フ ァ イ ル 名 は roff.7 で す 。 つ ま り 、 こ の ド キ ュ メ ン ト は マ ニ ュ ア ル ペ ー ジ の section 7 に 保 存 さ れ て い る と い う こ と で す 。 古 典 的 な マ ク ロ パ ッ ケ ー ジ は 、 パ ッ ケ ー ジ 名 を 拡 張 子 に と り ま す 。 例 え ば 、 me マ ク ロ パ ッ ケ ー ジ を 使 っ た ド キ ュ メ ン ト は file.me と な り 、 mm マ ク ロ パ ッ ケ ー ジ に 対 し て は file.mmms マ ク ロ パ ッ ケ ー ジ に 対 し て は file.mspic フ ァ イ ル に 対 し て は file.pic と い っ た 具 合 で す 。

編 集 方 法

ほ と ん ど の テ キ ス ト エ デ ィ タ は roff を 使 っ た ド キ ュ メ ン ト の 編 集 を サ ポ ー ト し て い ま す 。 特 に 使 い 勝 手 が 良 い の が 、 Emacs エ デ ィ タ と そ の 仲 間 で の nroff-mode で す 。

環 境 変 数

GROFF_TMAC_PATH コ ロ ン 区 切 り の 検 索 デ ィ レ ク ト リ リ ス ト で す 。 groff_tmac(5) を 参 照 し て く だ さ い 。
GROFF_TYPESETTER
デ フ ォ ル ト の デ バ イ ス で す 。
GROFF_FONT_PATH

devname コ ロ ン 区 切 り の 検 索 デ ィ レ ク ト リ リ ス ト で す 。 troff は 、 −F コ マ ン ド オ プ シ ョ ン で 与 え ら れ た デ ィ レ ク ト リ を 先 に 検 索 し ま す 。 次 に 、 GROFF_FONT_PATH を 探 し ま す 。 最 後 に 、 標 準 デ ィ レ ク ト リ (/usr/share/groff_font) を 探 し ま す 。

関 連 フ ァ イ ル

デ フ ォ ル ト で は 、 groff は 全 デ ー タ フ ァ イ ル を /usr/share/groff_font の サ ブ デ ィ レ ク ト リ と /usr/share/tmac へ イ ン ス ト ー ル さ れ ま す (例 外 は シ ス テ ム 固 有 の マ ク ロ パ ッ ケ ー ジ へ の ラ ッ パ フ ァ イ ル で あ り 、 こ れ ら は /usr/share/tmac に イ ン ス ト ー ル さ れ ま す )。 こ の 場 所 は 、 シ ス テ ム に よ っ て は 異 な る か も し れ ま せ ん 。 以 降 、 前 者 を <groff_font_dir> と し て 、 後 者 を <groff_macro_dir> と し て 表 現 し ま す 。

<groff_macro_dir>/troffrc

troff 用 の 初 期 化 フ ァ イ ル

<groff_macro_dir>/name.tmac
<groff_macro_dir>
/tmac.name マ ク ロ フ ァ イ ル
<groff_font_dir>
/devname/DESC

name デ バ イ ス 記 述 フ ァ イ ル

<groff_font_dir>/devname/F

name デ バ イ ス の F フ ォ ン ト 用 の フ ォ ン ト フ ァ イ ル 最 後 に 、 ロ ー カ ル の マ ク ロ デ ィ レ ク ト リ /usr/share/tmac は 、 サ イ ト 固 有 の マ ク ロ と パ ッ ケ ー ジ 用 に 提 供 さ れ ま す 。 デ フ ォ ル ト で は 、 メ イ ン の マ ク ロ デ ィ レ ク ト リ の 前 に こ こ が 検 索 さ れ ま す 。

バ グ

groff ド キ ュ メ ン ト は 現 在 も 発 展 途 上 で す 。 ド キ ュ メ ン ト 間 で 一 時 的 に 小 さ な 食 い 違 い が 生 じ る 可 能 性 が あ り ま す 。

作 者

こ の ド キ ュ メ ン ト は groff す な わ ち GNU roff 配 布 物 の 一 部 で す 。 Bernd Warken <bwarken [AT] mayn.de> が 書 き ま し た 。 こ の ド キ ュ メ ン ト は FDL (GNU Free Documentation License) バ ー ジ ョ ン 1.1 以 降 の 条 項 の も と に 配 布 さ れ て い ま す 。 FDL の コ ピ ー を シ ス テ ム 上 に 持 っ て い る は ず で す 。 ま た 、 こ れ は オ ン ラ イ ン

<http://www.gnu.org/copyleft/fdl.html>; で も 入 手 可 能 で す 。

関 連 項 目

主 な 情 報 源 は 、 groff info(1) フ ァ イ ル で す 。 定 義 済 み の groff 言 語 要 素 に つ い て も groff(7) マ ニ ュ ア ル ペ ー ジ に 記 載 が あ り ま す 。 フ ォ ー マ ッ タ お よ び そ の ラ ッ パ に つ い て は groff(1), grog(1), nroff(1), troff(1) に 記 載 が あ り ま す 。 出 力 デ バ イ ス 用 の ポ ス ト プ ロ セ ッ サ に つ い て は grodvi(1), grohtml(1), grolbp(1), grolj4(1), grops(1), grotty(1) に 記 載 が あ り ま す 。 標 準 プ リ プ ロ セ ッ サ に つ い て は eqn(1), grn(1), grap(1), pic(1), refer(1), soelim(1), tbl(1) に 記 載 が あ り ま す 。 マ ク ロ パ ッ ケ ー ジ に つ い て の マ ニ ュ ア ル ペ ー ジ に は groff_tmac(5), groff_man(7), groff_markup(7), groff_mdoc(7), groff_mdoc.samples(7), groff_me(7), groff_mm(7), groff_mmroff(7), groff_ms(7) が 含 ま れ て い ま す 。 次 の よ う な ユ ー テ ィ リ テ ィ が 利 用 で き ま す : addftinfo(1), afmtodif(1), hpftodit(1), indxbib(1), lookbib(1), pfbtops(1), tfmtodit(1), gxditview(1) で す 。

roff シ ス テ ム の GNU 実 装 に つ い て の 詳 細 は groff_char(7), groff_font(7), groff_out(7) お よ び groff ソ ー ス 配 布 物 の メ イ ン デ ィ レ ク ト リ 内 の README フ ァ イ ル を 参 照 し て く だ さ い 。 groff 開 発 グ ル ー プ と の 連 絡 の 取 り 方 や 参 加 の 仕 方 に つ い て の 詳 細 も 載 っ て い ま す 。 古 典 的 な ド キ ュ メ ン ト は 今 で も オ ン ラ イ ン で 入 手 可 能 で す 。 特 に 有 益 な の が 、 か の フ リ ー で あ る UNIX 7 用 の ベ ル 研 オ リ ジ ナ ル の 会 報 で す 。 こ れ は http://cm.bell-labs.com/cm/cs/cstr.html に あ り ま す 。 そ し て 、 故 Richard S. Stevens の コ レ ク シ ョ ン が http://www.kohala.com/start/troff/ に あ り ま す 。