htroff 入門

豊田英司
地球流体電脳倶楽部 / 北大理・地物 林研究室
toyoda@gfd-dennou.org

この文書は htroff の設計理念と典型的使用法を説明します。 読者には WWW と UNIX または MS-DOS (Windows の DOS 窓でもよい) に 親しんでいることと、HTML とは何か程度の知識が期待されます。 htroff の動作の詳細は「htroff リファレンスマニュアル」( htroff.htm ) で説明する予定です。


1. htroff とは何か

htroff は HTML を生成する roff に似たソフトウェアです。

roff は一群の組版ソフトウェアの名前です。 TeX を知っている人はとりあえず似たようなものだと思ってください。 UNIX には写真植字機のための troff と テレタイプのような機械のための nroff があります。 また、GNU プロジェクトでは groff というものを出していて、 これはポストスクリプト出力ができたり日本語パッチが出たりしています。

いまでこそ roff はあまり流行りませんが UNIX のオンラインマニュアルは roff の man マクロパッケージを使って 書くことになっています。 このマニュアルをうまく HTML に変換したかったのが、 htroff を作ろうと思ったきっかけです。

当然 man マクロパッケージを用いた文書から HTML へのコンバータは世間に数多くあるのですが、 他のページへの参照をハイパーリンクにしてくれるものは cgi 経由の面倒なものしかありません。 しかしマニュアルページに対応するファイル名に一定の規約を 設けてやれば、ローカルファイルでも HTTP でも使える相対パスのリンクを 張っておけば済むはずです。 実際、htroff 付属の man マクロパッケージではそうすることで HTTP サーバが動かない Windows パソコンでも man → HTML の変換を 楽しむことができます。

細かい御利益の宣伝はおいておいて、 そもそも man 文書から HTML への自動的変換が割とスマートに できてしまうのはなぜでしょう? 比較の対象によって評価の力点は異なるわけですが、

ワープロソフトと比べて
マクロパッケージを用いることで文書がミテクレ中心 (たとえば ワープロソフトのファイル) ではなく、 抽象化された「段落」「節」などを使って記述されるように なっているから、HTML の同様なタグに変換しやすい
LaTeX と比べて
ミテクレを操作する機能があまり充実していないことと、 いろいろな実装の間でのマクロパッケージの互換性のなさから、 多くの文書がマクロパッケージを素直に使って書かれており、 ユーザがマクロを定義したりすることが少ない

といったことがあげられるでしょう。

このような事情に起因する、あるいは作者の悪趣味・不勉強に由来する、 いろいろの非互換性はありますが、 いちおうまあそこそこ roff らしいものはできたと自負しております。 互換性に関する目標は、

マクロパッケージをおとなしく使った roff ソースが共有できること
です。

2. 簡単な使い方

TBD

3. さらに詳しくは

TBD

4. 参考にした文書・ソフトウェア

TBD

4. ライセンス条項

本ソフトウェアはフリーソフトウェアたることを意図して作成されています。 配布条件は添付の COPYING.TXT ファイルに書かれています。