題名 plain2 の HTML 対応
by k-chinen@is.aist-nara.ac.jp
1. はじめに
このディレクトリのソースファイルの中で、
#ifdef HTML
としてあるのは、オリジナルの plain2 を奈良先端科学技術大学院大学の
知念 (k-chinen@is.aist-nara.ac.jp) が HTML 対応のため改造したところ
です。
その部分でバグが起きたと思われる際には k-chinen@is.aist-nara.ac.jp
へ E-mail でお知らせください。次のリリースの際の参考にします。
2. HTML とは ?
HTML とは Hyper Text Markup Language の略で、World Wide Web という
サービスで文章を作成する為の言語です。World Wide Web は Mosaic と
いうプログラムで有名な、ネットワーク上にハイパーテキストを作るサー
ビスです。
3. 使い方
3.1. 基本
3.1.1. plain text を HTML に
基本的なオリジナルの plain2 とほとんど同じで、
% plain2 -html -jis foo.txt > bar.html
というように使います。
こうすると、foo.txt という plain text を bar.html という HTML の書
式でかかれたファイルができます。
3.1.2. plain text を図や表が入った HTML に
plain2 に -here オプションをつけると、図や表を直接含めるように書か
れた HTML の書式のファイルができます。
(ただし、残念ながら plain2 で図や表を HTML にする事は出来ません。)
% plain2 -html -here -jis foo.txt > junk.html
として使ってみましょう。
この junk.html では、 bar.html で "Picture here" とか "Table here"
と書いてあった場所に何か図が出るとおもいます。
3.1.3. plain text の図や表を無視して HTML に
図や表を無視して HTML にしたい時には、-html ではなく -htmlonce を
使ってください。
3.1.4. plain text の図や表はそのままで HTML に
図や表をそのまま HTML に含めたい時には、-htmlonce と -raw を一緒
に使ってください。
3.2. 応用 (plain2html)
3.2.1. 必要な物
plain2 の HTML を作る機能では図や表は作れませんが、roff や TeX を
使って図や表を作る事が出来ます。このためには roff や TeX の形式の
ファイルを gif 等のイメージデータにするプログラムが必要です。
サンプルとして、このパッチでは plain2html という csh script をつ
けてあります。このスクリプトでは HTML のファイルとそれに必要な図
や表のためのイメージデータを作ります。
このスクリプトを使うには以下のようなプログラムが必要です。
(1) plain2
(2) 組版プログラム
- TeX をつかう場合
* jlatex と dvi2ps
- roff を使う場合
* groff
(3) イメージデータ変換プログラム
- convert ( ImageMagick に含まれています )
- pnmcrop ( pbmplus に含まれています )
(4) その他
- csh か tcsh
- awk
- ghostscript ( convert が呼び出します )
- pt2htcol.awk ( このパッチに含まれています )
3.2.2. 使い方
foo.txt を HTML のファイルにする例を紹介します。
(1) 図や表のイメージデータができるので別のディレクトリをつく
ってそこで作業しましょう。
% mkdir foo.work
% cp foo.txt foo.work
% cd foo.work
(2) plain2html を実行します
% plain2html foo.txt
実行が終了すると(いろいろな処理をするので結構時間かかり
ます)、foo.html という HTML の書式できたファイルと、図
や表のための PIC*.gif や TBL*.gif できます。
というわけで HTML の書式でできたファイルができます。xmosaic や
chimera で結果を確認してください。
% xmosaic foo.html
または、
% chimera foo.html
としてください。
4. 変更点
* -html オプションをつけた。
これで、HTML の出力をする。
* -here オプションをつけた。
WWW では文書の大きさは重要(64kbps のサイトもある)なので、HTML
の中に表や図を
- そのまま入れる
- リンクとする
に切替える。
* texout.c をまねて、htmlout.c を作った。
html で始まる関数を作って HMTL 対応した。
* なぜか、図だけは *out.c の関数で領域(始めと終りの行) を知る事
ができないようなので、picture.c の中を変更した。
* スクリプト plain2html , pt2htcol.awk を追加。
mulit path として何回も実行して、全体を変換する事にした。
1. 全体を -html で変換。
2. 表や図の部分を ps に変換。
a) groff
- groff で ps に
b) latex
- jlatex で dvi に
- dvi2ps で ps に
3. 表や図の必要な所を切り出して、gif に変換。
- convert で pnm に
- pnmcrop で切り出す
- convert で gif に
図の切り出しは、TeX では ¥thispagestyle{empty} を書
いたスタイルファイルを用意して解決。
groff では -me で解決したようだ。(roff は詳しくない
ので自信がない)
5. 問題点
* multi path なってしまった。
plain2 は one path だから美しいのに...
* いろいろなツールを使うので、install する時は大変かも知れない。
* groff に関して
- 日本語が通じない
6. 謝辞
plain2 の作者の内田さん(uchida@ccs.mt.nec.co.jp)にはお忙しいのに
plain2 r2.5 のリリースをしてもらいました。また、いろいろとコメン
トを頂きました。ありがとうございました。
7. おわりに
このパッチは plain2 に対するもので、plain2 の新しい revison では
ありません。したがって、このパッチに関する感想、要望、質問などは
k-chinen@is.aist-nara.ac.jp 宛でお願いします。
なお、このパッチにによって生じたいかなる損害、利益について作者は
責任を負いません。