『plain2--ファイル変換・表示プログラム』
	by K.I
	2004/01/12

1. 概要

・Plain2は、基本的には見た目に近い形で文書を整形して印刷したり表示するためのツールです。
 - BluefishのWebサイトは、ほとんど全てPlain2を使って記述しています。
 - アクセス時に、plain2フィルタを通して動的に生成していますが、十分実用的です。
 - Web用に結構改造((fさらにフィルタを通してるだけですが。。))してるので、オリジナルと違う部分も多いですが、基本は同じです。

・Plain2のオリジナルのマニュアル(http://www.asahi-net.or.jp/~vw4k-kbys/plain2/plain2_b.html)
 - オリジナルのマニュアルは膨大であり読むのが大変であるのと、機能的に少し違いもあるため、作成したのが本マニュアルです。
 - plain2のインストール・設定方法については、 ドキュメント環境の構築((s install_plain2))を参照して下さい。

・同一のplnファイルから、TeXでの印刷、Web上の表示の2通りに利用出来ます。

この文章自体もplain2で記述されていますので 参考((t plain2x.pln))にして下さい。

1. Plain2での文書の作り方

1.1 ファイルの作成

ファイルの拡張子を .pln として、DocumentRoot下に入れて下さい。
 - ファイル名は基本的に、英数字のみ((f漢字(EUC)も可能ですが、不具合が起こり易いので推奨しません。))を推奨します。
 - ファイルのグループはpubに設定して下さい。→ドキュメント作成担当グループです
 - グループに対してアクセス可能にする必要があります。→ファイルは664,ディレクトリは775

1.1 タイトルを付ける

最初にタイトルを付けます。

・タイトルは『 』で括って、必ず文書の一行目に入れて下さい。
・文書作成者、作成日は、必須ではありませんが、必ず文書の2行目、3行目に入れて下さい((fタイトルとの間に空行を入れないで下さい。))。
・例えば、以下のように記述します。

[[E
	『文書名は鍵括弧内に記述します』
		by 文書作成者
		2004/01/12
]]E

1.2 セクションタイトル

文書をセクション(章)で分けることが出来ます。

・セクションタイトルの前後は、基本的に空行にして下さい。
・セクション番号は、HTMLでは無意味です。→数字ではなく、単に<H1><H2>等に展開されます。
 - TeXの場合は自動的にカウントアップされますので全部1で構いません。もちろん、見やすいように数値を入れてもOKです。

[[E
	1. 深さ1のセクション

	...
	...


	1.1 深さ2のセクション

	...

	1.1.1 深さ3のセクション

	...
]]E

1.2 プログラムリスト・例示

・プログラムリストや例示などは、空白や改行をそのまま表示します。
・HTMLの<PRE>タグに変換されます。
・ある程度は自動認識されるのですが、あまり正確じゃないので、[[E~]]Eで括って下さい。

[[E
	[[E
	# apt-get update
	# apt-get install ldap-util
	]]E
]]E

・上記のように記述すると、こんな風に表示されます。

[[E
	# apt-get update
	# apt-get install ldap-util
]]E


1.3 箇条書き

・単純な箇条書きは、先頭に'・'(ビュレット)
・或いは'*'等を記述すればHTMLのリストに変換されます
 - 頭に空白を入れると入れ子になります。
  - ハイフンを使う時は、文書との間に空白を入れます。


[[E
	・単純な箇条書きは、先頭に'・'(ビュレット)
	・或いは'*'等を記述すればHTMLのリストに変換されます
	 - 頭に空白を入れると入れ子になります。
	  - ハイフンを使う時は、文書との間に空白を入れます。
]]E

1.4 番号を付けた列挙

 1. 番号を付けた列挙
 2. 章との違いは先頭に空白を入れることです
 3. こんな感じになります。

 (1) これも番号による列挙です。
 (2) これも番号による列挙です。
 (3) これも番号による列挙です。

[[E
	 1. 番号を付けた列挙
	 2. 章との違いは先頭に空白を入れることです
	 3. こんな感じになります。

	 (1) これも番号による列挙です。
	 (2) これも番号による列挙です。
	 (3) これも番号による列挙です。
]]E

・これは、HTMLとしてはOL(番号付きリスト)に変換されていますが、

1.5 タイトル付きの列挙

タイトル: 	タイトル付きの列挙
[タイトル]	これもタイトル付き列挙

[[E
	タイトル: 	タイトル付きの列挙
	[タイトル]	これもタイトル付き列挙
]]E

1.5 目次について

これは,この文書の最初にある目次を作成する機能です。

・目次は、((bplnの行数が100行以上の時))に自動的に作成されます。
・目次をキャンセルしたい時は、((b<!-- no-toc -->))を、以下のような記述を文書中の何処かに入れておいて下さい。
[[E
	[[R
	<!-- no-toc -->
	]]R
]]E

3. リンク機能

HTMLの利用のために、リンク機能を追加してあります。
リンクスポットの上にカーソルを乗せると色が赤に変わる((fこれはCSSの設定だけど))ので、リンクが分かりやすくなっています。

3.1 URL記述による自動リンク

URLを記述するだけでリンクが張れます。

・http://bluefish.orz.hm/ 
・ftp://bluefish.orz.hm/ 
・telnet://bluefish.orz.hm/ 

メーラーを起動したい場合はこうします。

・mailto:hoge@bluefish.orz.hm 

3.1 ()によりURLを隠す

URLを()で括ると、こんなふうに リンク(http://bluefish.orz.hm/index.html)のURLを隠す事も出来ます。((fリンクする文字列の前に区切りの為の空白を入れて下さい。))但し、TeX文書ではそのまま表示されます。

[[E
Ex.	リンク(http//bluefish.orz.hm/index.html)	←()は半角
]]E

3.1.1 フレーム指定

()によるリンクでは、こんなふうに リンクを別フレームで表示(http://bluefish.orz.hm/index.html,ABC)することが可能です。','で区切ってフレーム名((f_parentを指定するとフレームが解除されて全体に表示されます。))を指定します。

[[E
Ex.	リンク(http//bluefish.orz.hm/index.html,aaa)	←()は半角
]]E

3.1 文書の参照

文書の参照は、例えば Plain2マニュアル((s plain2x))という感じで参照可能です。
但し、TeXの文章では表示されません。/doc以下のファイルを、以下の記述で参照することが出来ます。ちなみに、Excel、 Word((s0030 ユニバーサルカウンタ(5314A)校正手順書.doc))
の文書もリンク可能です。((f拡張子が、.xlsや.docの文書はExcel,Wordの文書として参照されます。))
[[E
Ex.	ROM自動発生仕様 ((s plain2x.pln))←()は半角、.plnは省略可
]]E

・ディレクトリの指定は不要です。→実際に文書参照が有効になる((fファイルのサーチにlocateコマンドを使っています。updatedbは1日1回だけ行われるためです。))のは翌日からになります。
・参照可能なファイルは、xls,doc,txt,pln,html等です。

3.1 TEXT参照

文書参照と同様の機能ですが、こちらは文書をテキストで参照します。プログラムを実行せずにソースを表示させることが出来ます。例えばこの文書のplain2のソースを 参照((t plain2x.pln))することも可能です。

[[E
Ex.	参照 ((t plain2x.pln)) ←()は半角
]]E

3.1 フットノート

フットノート((fTeXと同じような感じで表示されます。フットノートは章の終わりに挿入され、リンクもされています。))も、なかなか便利な機能です。
[[E
Ex.	((fフットノートの内容))	←これを文書の中に書きます。()は半角
]]E

3. 文書リスト

plain2の対象となるファイルは、test-devの /home/public/doc/((h\\test-dev\PUBLIC\doc))下のファイルですが、ディレクトリ毎のファイルのリストへリンクさせたり、文書中にリストを表示することが出来ます。

3.1 文書リストへのリンク

文書ディレクトリのリスト表示へリンクさせる機能です。(これは現在動いてません。。。)
例えば、デザインセンターの ドキュメントのリスト((l/doc))へのリンクです。

[[E
Ex.	リスト ((l /doc))←()は半角
]]E


3.1 文書リストの表示

リストを文中に表示することも出来ます。例えば/docのリストを表示します。
((L/doc))

[[E
Ex.	((L/doc)) ←()は半角
]]E

3.2 文書リストに表示しない

・/etc/plain2/plain2.conf((t/etc/plain2/plain2.conf))に、以下のように記述すると表示されません。
[[E
	$exclude_ext    = "mdrw|gz|tar|tgz";            #表示しない拡張子の指定
	$exclude_file   = "index.html";                 #表示しないファイルの指定
]]E

・ディレクトリの場合は、abstract.txtのタイトル文字列の最後に、**を付ける((f*が1個だと表示はされますが、アクセスできなくなる。))と表示されなくなります。


6. テーブル

6.1 見た目に近い形で、表に変換する。

横棒をハイフン、縦棒を'|'で表して、テキストで作成した表をHTMLのテーブルに変換します。
・MySQLのテーブルは、カットペーストしてそのまま使用可能です。

・テーブル機能は、小林健一氏のパッチに依存しています。
・縦横の罫線の位置を合せる必要があります。(((bタブは4文字なので注意)))


[[E
+-------------+--------------+------+-----+---------------------+----------------+
| Field       | Type         | Null | Key | Default             | Extra          |
+-------------+--------------+------+-----+---------------------+----------------+
+-------------+--------------+------+-----+---------------------+----------------+
| ID          | int(11)      |      | PRI | NULL                | auto_increment |
| TesterID    | mediumint(9) |      | MUL | 0                   |                |
| Tester      | int(11)      |      | MUL | 0                   |                |
| ProgramName | char(24)     | YES  | MUL |                     |                |
| ProgramID   | mediumint(9) |      | MUL | 0                   |                |
| Date        | datetime     |      | MUL | 0000-00-00 00:00:00 |                |
| LotNo       | char(16)     | YES  | MUL |                     |                |
| LotNoID     | mediumint(9) |      | MUL | 0                   |                |
| Wafers      | tinyint(4)   | YES  |     | 0                   |                |
| CpWorst     | double       | YES  | MUL | 0                   |                |
| CpkWorst    | double       | YES  | MUL | 0                   |                |
+-------------+--------------+------+-----+---------------------+----------------+
]]E

上記の様に記述すれば、以下のような表に変換します。

+-------------+--------------+------+-----+---------------------+----------------+
| Field       | Type         | Null | Key | Default             | Extra          |
+-------------+--------------+------+-----+---------------------+----------------+
+-------------+--------------+------+-----+---------------------+----------------+
| ID          | int(11)      |      | PRI | NULL                | auto_increment |
| TesterID    | mediumint(9) |      | MUL | 0                   |                |
| Tester      | int(11)      |      | MUL | 0                   |                |
| ProgramName | char(24)     | YES  | MUL |                     |                |
| ProgramID   | mediumint(9) |      | MUL | 0                   |                |
| Date        | datetime     |      | MUL | 0000-00-00 00:00:00 |                |
| LotNo       | char(16)     | YES  | MUL |                     |                |
| LotNoID     | mediumint(9) |      | MUL | 0                   |                |
| Wafers      | tinyint(4)   | YES  |     | 0                   |                |
| CpWorst     | double       | YES  | MUL | 0                   |                |
| CpkWorst    | double       | YES  | MUL | 0                   |                |
+-------------+--------------+------+-----+---------------------+----------------+

6.1.1 複雑な表

・カラムを複数接続したり、複雑な表も作成できます。
 - 罫線が出ないのはスタイルシートの問題です。

[[E
+---------+------------+-----------+---+------------+------+---------+
|         |            |           |   |    YPM     |      |DataChack|
|DATA NAME| FILE NAME  |FLASH COUNT|DAT|------------| ADRS |---------|
|         |            |           |   |B/W|  SIZE  | SIZE | OK | NG |
+---------+------------+-----------+---+------------+------+---------+
+---------+------------+-----------+---+------------+------+---------+
| WLP-1   |SP240WLP0.M2|        234| N | - |  ----  | 0.50 |    |    |
+---------+------------+-----------+---+------------+------+---------+
| LC--2   |SP240LC00.M2|       9641| P | - |  ----  | 0.50 |    |    |
+---------+------------+-----------+---+------------+------+---------+
]]E

+---------+------------+-----------+---+------------+------+---------+
|         |            |           |   |    YPM     |      |DataChack|
|DATA NAME| FILE NAME  |FLASH COUNT|DAT|------------| ADRS |---------|
|         |            |           |   |B/W|  SIZE  | SIZE | OK | NG |
+---------+------------+-----------+---+------------+------+---------+
+---------+------------+-----------+---+------------+------+---------+
| WLP-1   |SP240WLP0.M2|        234| N | - |  ----  | 0.50 |    |    |
+---------+------------+-----------+---+------------+------+---------+
| LC--2   |SP240LC00.M2|       9641| P | - |  ----  | 0.50 |    |    |
+---------+------------+-----------+---+------------+------+---------+


6.1 箇条書を表に変換

表の内容が多い場合は表形式の記述は却って見難くなるので、箇条書きから表を生成することも出来るようにしてみました。(独自拡張)

・最大4項目まで可能→項目幅は横幅一杯を等分割した大きさに設定される
・字下げ量で項目を指定する→Ex.2文字字下げで2項目を示す

[[E
	[[|ツール|長所|短所|
	 HTML
	  ・TEXTで記述するが文書の修飾や画像の貼付け等が出来るので、Webページによる情報発信を容易にした。
	   ・HTMLの文法を習得する必要があり、ページの更新はあまり簡単に出来ない。
	 PukiWiki
	  ・Web上で編集が出来るため、Webの知識がなくてもWebページの作成が簡単に出来る。
	   ・Webのフォームで編集するので通常のエディタが使えない。
	 plain2
	  ・Web上で編集は出来ないが、通常のエディタで編集可能。
	  ・Webの知識が無くてもWebページの作成が出来るのはPukiWikiと同様。
	  ・WordやExcel等のファイルとのリンク機能等の拡張がされている。
	   ・Web上で編集出来ない。いまいちマイナーではある。
	]]|
]]E

上記のように記述すると、以下のように変換されます。

[[|ツール|長所|短所|
 HTML
  ・TEXTで記述するが文書の修飾や画像の貼付け等が出来るので、Webページによる情報発信を容易にした。
   ・HTMLの文法を習得する必要があり、ページの更新はあまり簡単に出来ない。
 PukiWiki
  ・Web上で編集が出来るため、Webの知識がなくてもWebページの作成が簡単に出来る。
   ・Webのフォームで編集するので通常のエディタが使えない。
 plain2
  ・Web上で編集は出来ないが、通常のエディタで編集可能。
  ・Webの知識が無くてもWebページの作成が出来るのはPukiWikiと同様。
  ・WordやExcel等のファイルとのリンク機能等の拡張がされている。
   ・Web上で編集出来ない。いまいちマイナーではある。
]]|

6.1 PukiWiki互換テーブル

PukiWikiと同様((f本当に同じかどうか分かりません。違いがあったら教えて下さい。))に、|で区切ることで、テーブルと認識するようにしてみました。(独自拡張)


・一行目は、テーブルヘッダになる。
・テーブルの直前の行は、空行にする必要がある。

|マスク|レイヤー|説明|
|WLN|1+21+33|N-Well|
|LC|(2+3)^0.5+4|Locos|
|AL|6+18+19|Alminium|


上記の表は、以下のように記述されています。

[[E
				→最初に1行必ず空行を入れて下さい(PukiWikiテーブル認識のためです)
	|マスク|レイヤー|説明|	→1行目はタイトルになります。
	|WLN|1+21+33|N-Well|	→縦棒の位置は合せる必要はありません。
	|LC|(2+3)^0.5+4|Locos|
	|AL|6+18+19|Alminium|
]]E

7. 画像

・任意の位置に図((g/img/blue))の挿入をすることが出来ます((fLaTeXの場合は、図が任意の場所に入りません。これはTeXでは図や表はフローティングになっているためで、Web上での表示とは異なったものになります。))

7.1 画像ファイルの表示

・HTMLでは画像ファイルを、gif,png,jpg,bmp等の形式で用意します。基本的にはファイルサイズの小さいjpg形式にすると良いでしょう。
・plnファイルと違う場所に入れた場合は、パスを指定する必要があります。
・LaTeXの場合は、文書と同じディレクトリにepsで入れて下さい。

[[E
Ex.	((gイメージファイル名))	←これを文書の中に記述。gifは拡張子省略可
	((gイメージファイル名.jpg))	←JPEGの場合は拡張子を付ける
]]E


7.2 ALT属性

・この図((g/img/blue,青い丸を入れて見ました))はALT属性付きです。HTMLの作法でもあるので出来るだけALT属性はつけた方が良いでしょう。
 - LaTeXでは、ALTテキストは図のタイトルになります。

[[E
Ex.	((gイメージファイル名,ALTテキスト))	←ALT属性付。()は半角
]]E

7.3 リンクを併用

・((g/img/blue,リンクを併用))(http://bluefish.orz.hm/,_parent)リンクを併用することも可能です。((f画像のリンクは見えるとうざったいので、BORDER="0"指定にしています。))
[[E
Ex.	((gイメージファイル名))(http://bluefish.orz.hm/,_parent)
]]E


7.4 図の大きさを指定

・図の大きさを任意に指定することも可能です。((g/img/blue,とても大きな青い丸,100,50))
 - 幅と高さは、LaTeXではmm、HTMLでは×4ピクセルの大きさになります。
 - HTMLでは、大きさを指定した時のみ、センタリングされます。

[[E
Ex.	((gイメージファイル名,ALTテキスト,幅,高さ))	←幅と高さの指定も可能
]]E

7.5 カーソルで絵の変わるリンク

・カーソルを近づけると、絵の変わるリンク機能をつけました。

	((h/sdoc/rireki.html,/img/icon/light0.png,/img/icon/light1.png,ピカッと光る))

[[E
Ex.	((hリンク指定,画像1,画像2,ALTテキスト))	←簡易リンクの拡張です
]]E

7.6 縮小画像と拡大画像へのリンク

・縮小した画像を表示して、それをクリックすると拡大画像が表示されるという、良く使いそうな機能をつけてみました。
・さらに、縮小画像、拡大画像ともに、指定した画像ファイルから自動生成((fこれは、未生成の場合のみ実行されますので、2回目以降は実行されません。Imagemagickのconvertコマンドがインストールされている必要があります。))されるようにしました。

	((G/img/life/crocus.jpg,縮小画像と拡大画像は自動生成されたものです,80,60,640,480))

[[E
Ex.	((G画像ファイル名,ALTテキスト,縮小画像幅,縮小画像高さ,拡大画像幅,拡大画像高さ))	←幅と高さの指定は省略出来ません
]]E

以下のファイルが、イメージ用のキャッシュディレクトリ((f/etc/plain2/plain2.confのwww_root/img_cache/に設定してディレクトリです。))に自動生成されてリンクされます。

・縮小画像ファイル名	→画像ファイル名_縮小画像幅x縮小画像高さ
・拡大画像ファイル名	→画像ファイル名_拡大画像幅x拡大画像高さ

・生成された縮小拡大画像は、一度作成されると作り直されないので、元画像を変更した場合は一旦消して下さい。

8. 数式表示

((m ... )) で括って、TeX形式で数式を書くと自動的にGIFファイルを生成((f生成するのは初回だけで、既に生成済みの場合はそのまま使用します。))して数式を表示するようにしました。
・数式認識の都合上、mの後と))の前には必ず空白を入れて下さい。
・PukiWikiの数式表示プラグインを修正して使用しています。(内部的には単にTeXを呼び出しているだけ)

[[E
Ex.	((m \frac{\pi}{2} = 
	\left( \int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} dx \right)^2 = 
	\prod_{k=1}^{\infty} \frac{4k^2}{4k^2 - 1} = 
	\sum_{k=0}^{\infty} \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1}) ))
]]E

	((m \frac{\pi}{2} = \left( \int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} dx \right)^2 = \prod_{k=1}^{\infty} \frac{4k^2}{4k^2 - 1} = \sum_{k=0}^{\infty} \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1}) ))

・行中に数式→((m \]\overbrace{x_{0} + x_{1} + \underbrace{\cdots} + x_{n-1} + x_{n}}\] ))を含むことも可能です。

・[[Mと]]Mで括って、数式を記述しても良い。HTMLでは<PRE>になるので見易くなる。
[[M
	\frac{\pi}{2} = \left( \int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} dx \right)^2 = \prod_{k=1}^{\infty} \frac{4k^2}{4k^2 - 1} = \sum_{k=0}^{\infty} \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1})
]]M

9. その他の機能について

9.1 CSSファイルの指定

参照の第2パラメータで、CSSファイルを指定出来ます。この文書のCSSファイルを変えると シンプルに((s plain2x,/css/simple.css)) とか、 bluefish風((s plain2x,/css/bluefish2.css))、 小林氏のページ風((s plain2x,/css/p2.css))(ちょっとcssファイル拝借)に、同じソースでも外観を大きく変えることが出来ます。
[[E
Ex.	参照 ((s plain2x.pln,/css/simple.css)) ←()は半角
]]E

4.3 プログラムによる表示

cgi-bin((fシェルコマンドを直接実行出来るようにした方が面白いのですが、セキュリティ上cgiのディレクトリのコマンドに制限してあります。))のプログラムを起動して、その出力を表示することが出来ます。

・例えばdateプログラムを起動して、今日の日付は((X date))というような動的な表示が可能です。

[[E
Ex.	今日の日付は ((Xdate))←()は半角
]]E

9.1 罫線

HTMLでは罫線が含まれると,その部分は単に等幅フォントに設定することで、
((b出来るだけ元の配置を保つ様に))します。
しかし、LaTeXに変換する場合のplain2の色々な変換機能には、残念ながら未対応です。


        ┌──┐
        │    │
        │ A │ ABC
        │  ┌┼──┐
        └─┼┘    │
            │  B  │
            └───┘

・罫線(─)或は、太罫線(━)を行の最初から連続して入れると、以下のように特殊な<HR>に変換します。

───────────────────────────────────────

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

9.2 簡易指定リンク

httpで始まる リンク((h/doc/))を簡易的に指定することも出来ます。http://部分を省略して記述します。同じhttpサーバの場合はアドレスも省略可能です。
・単純な()指定によるリンクの方が分かりやすいので、このリンクを使う必要はあまり無いと思います。

[[E
Ex.	リンク ((h/doc/))	←()は半角
]]E

・簡易指定リンクはTeXでは表示されません。

9.3 改ページ

Plainファイルをそのまま印刷する場合や、HTMLでも印刷の時だけは
改ページの入るべき場所を指定できた方が良いので、
改ページコード(FF)で印刷時のみ改ページする機能を付けました。
以下のスタイルシートの機能を使います。((f残念ながら、IE4,IE5でのみ有効。NetscapeやHotJavaでも表示上は問題ない。))

[[E
	<P STYLE="page-break-before: always">
]]E

・LaTeXの場合は、\clearpageが挿入されます。

改ページコードの入れ方は、例えばemacsではM-x quoted-insert C-lで可能です。


10. 明示的な形式指定

Plain2は、基本的には見た目に揃えてTEXTを書けば、自動的に構造を認識して整形してくれます。
・しかし、どうしても思ったように認識されない場合は明示的に形式を指定することが出来ます。

10.1 指定ブロックの形式指定


[[Xで開始、]]Xで終了です。Xの文字によって形式を指定します。

・これは、行の先頭に例えば以下のように記述します。
[[E
	[[E
		10	test=100;
		20	test++;
		30	print test;
	]]E
]]E

[[|文書形式|明示的指定|説明|

 右寄せ
  A
   右寄せ	

 コメントアウト
  C
   この指定の部分はWeb,TeXで全く表示されません

 例示
  E
   プログラムリストやコマンド入力例等の表示。これは指定した方が無難

 数式
  M
   LaTeX形式で数式を書くと、GIF画像に変換されて表示されます

 センタリング
  N
   センタリング

 RAW(変換なし)
  R
   変換しないでそのまま出力します。WebページならHTMLを書けます

 テーブル	
  T
   ほぼ見た目通りで表に変換します。TABは4なので注意

 テーブル	
  |
   箇条書きを表に変換します。(独自拡張)

]]|

10.2 行内の一部形式指定

行内の、((Xから))までの間をある形式で表示したりします。
例えば フットノート((fこんな感じで章の最後にコメントを書けます。))なら以下のように記述します。

[[E
	例えば フットノート((fこんな感じで章の最後にコメントを書けます。))なら
]]E

[[|文書形式|明示的指定|説明|

 フットノート((fフットノートへのリンクの番号は自動的に付加されます。))
  f
   章の最後にコメントを表示してリンクされます
   リンク部分にカーソルを持ってくると、フットノートの内容を確認できます

 画像表示((g/img/blue.gif,こんな風に行中に画像を表示できます。))
  g
   行中に画像を表示します

 カーソルによる画像切替え((h/sdoc/rireki.html,/img/icon/face0.png,/img/icon/face1.png,画像を切替えます))
  h
   カーソルを近づけると表示画像を切り替える

 縮小画像→拡大画像へのリンク((G/img/life/crocus.jpg,縮小画像と拡大画像は自動生成されたものです,32,24,640,480))
  G
   縮小画像を表示して、拡大画像にリンクされます

 文書リストへのリンク((l/doc))
  l
   指定したディレクトリの文書リストへリンクされます

 文書リスト
  L
   指定したディレクトリの文書リストを作成して表示します				|

 ((b太字))
  b
   指定した部分を((b太字))で表示します

 RAW(変換無し)
  r
   変換しないでそのまま出力します。WebページならHTMLを書けます

 文書参照((s plain2x))
  s
   指定した文書へのリンクを作成します。pln以外にも、doc,xls等が可能

 文書のTEXT参照((t plain2x.pln))
  t
   sと同じく、指定した文書へのリンクですが、TEXT形式で表示します

]]|

・残念ながら、テーブル中での((b太字))指定(b)は出来ないようだ。
・文書リスト(L)は、テーブルを使っているので、当然、テーブルとの併用は出来ない。


11. 改定記録

・[9805??] plain2のHTMLモード改良のために新規作成
 - 主にtableの生成機能(tbl2htm)
・[98????] 目次の生成、footnoteの挿入可能に
・[98????] リンク機能の追加
・[000519] tbl2htm,plnbodyの改良
 - HTML文書に図を挿入出来るようにした。
・[000523] postplnの作成(LaTeX用)
 - HTML用のplain2ファイルで、同様に図を挿入可能にしたことにより、
   LaTeX文書との互換性が、問題ないレベルになったと思われる。
 - LaTeX用に改ページ機能を付ける。(LaTeX2eでFFコードを認識しなくなったため)
・[000601] 図関連の改良
 - 図の大きさ(高さ)を指定可能とした。
 - g指定のファイル名の前の空白を無視するようにした。
・[000602] 図関連
 - g指定が、plain2でverbatimされないように、R指定で保護するためprepln作成。
 - HTMLでの図の大きさをピクセル数×4に。大きさ指定時にセンタリング処理。
・[000609] 文書参照
 - s指定で、文書の参照を可能にした。
 - t指定で、テキストでの文書参照も可能。
・[000613] 明示指定リンク
 - h指定で、明示的なリンクを指定可能になった。
 - s,t,h指定は、TeX文書では表示されないようにした。
・[000614] ヘッダ部の処理
 - HTMLのヘッダ部分もs,t,h,指定が可能なようにした。
 - そのため、plnheadにplnbodyと同じ処理を、前処理のpreplnheadを追加した。
・[001002] jpeg対応
 - g指定で、jpegの指定が可能になった。拡張子なしの場合はgif。
・[001018] 改ページ、文書参照の仕様変更
 - スタイルシートの指定で、印刷時の改ページが可能になった。(IE4,IE5のみ)
 - s,t指定で文書参照をwwwのルートから指定することが可能になった。
・[001024] 文書リストリンク
 - l指定で文書ディレクトリのリスト表示へのリンクが可能になった。
・[001030] フレーム指定
 - ()によるリンク指定で、','で区切って、フレームの指定を可能にした。
 - 'index'という文字列が含まれるファイル名の場合は目次を生成しないようにした。
・[001031] リスト表示他
 - L指定で文中でリスト表示が出来るように機能追加
 - ftpやmailtoへもリンクするようにした。
・[001106] HEAD,BODYの定義
 - 章が始まる場所、或いは</P>タグ以降をbodyとするようにした。
 - telnetへのリンク。
・[001116] プログラムの実行結果表示
 - X指定により、プログラムを実行した結果を表示する機能を追加。
・[001205] リンクの表示改良
 - リンクスポットにカーソルを乗せると色が赤に変わるように設定した。(show_doc)
 - footnoteにリンクを記述可能にした。
・[010301] アクセス記録
 - hpa((s hpa_install))によるアクセス記録がされるように、自動的にタグを挿入するようにしてみた。
・[010402] footnoteリンク
 - フットノートもリンクされるようにした。
・[010412] 図にリンクをつける
 - 図の挿入とリンクを併用出来るようにした。
 - 図の大きさは、幅、高さ、いずれも指定可能にした。(どちらかでも良い)
・[021230] HTMLテーブル拡張版に入れ換え
 - 小林健一氏のパッチに対応して、大幅書き換え。→完全なテーブル対応
 - フィルターを前後の1つづつ(plain1,plain3→安易かなぁ)に簡略化
・[030208] plain2のリンク処理を無効化
 - HTMLテーブル拡張版は、リンクを処理してしまうので、ちょっと困る。
 - httpをhttpxにして保護することにして、<P>を行区切りで読み込み、括弧の前後の改行を削除して処理することで、なんとか従来のplnファイルを表示出来るようになった。
・[030307] 画像の処理改良
 - G指定による画像表示を横並びに出来るように、行をさらにsplitで分割して細かく処理するように改良した。
・[031119] 数式表示
 - TeXを下請けに使って、M指定による数式表示がHTMLでも出来るようにした。
・[040411] 改良
 - G指定で、元画像ファイル名を別途指定可能にした。
 - セクションをリンクに設定しても、インデックスがちゃんと出来るように細工((f実はインデックス生成後に不要な記述の削除や、整形を行っているだけ。))した。
 - 箇条書をテーブルに変換出来るようにした。→TeX未対応
・[040517] 数式記述の改良
 - 認識が正しく行われるように、m指定の後に空白を入れるようにした。
 - M指定はブロック記述として、<PRE>で括られるようにして見易くした。
 - HTMLの場合は、いずれもmath環境で数式生成を行っている。
・[040526] 数式のTex出力とプログラムの整理
 - HTMLの場合と同じソースファイルから、数式をTeX出力可能にした。M指定→displaymath環境
 - M指定の中で複数の式を書くと、displaymath環境を複数生成((fdisplaymath環境は複数の数式を含むことが出来ないため。))するようにしてある
 - m指定はmath環境を生成するので、行中に数式生成が可能。
 - セクションのリンク設定の日本語対応。その他、ディレクトリ指定等を整理して移植し易くした。
・[050112] PukiWiki互換テーブル
 - PukiWiki互換の簡易テーブル作成機能の追加
・[050114] 縮小画像の自動作成
 - test-devの環境に合わせて、いろいろ手直し。
 - Gオプションによる縮小画像の自動生成機能を動くようにした。
 - 試験的に、編集用のリンクを付けられるようにした。