  奈良女子大学の新出と申します。
  べた書きテキストをroffやLaTeXの原稿ファイルに変換するソフト「plain2」
(の最新版、v2.54)に対する、若干のバグ修正&拡張を行うパッチを作りましたの
で、大したものではありませんが流します。
  このパッチは公式なものではありません。バグ修正については、オリジナルに
吸収したい旨(plain2の作者の)内田さんから連絡頂きましたが、機能拡張につい
てはオリジナルには取り込まれないかも知れません。
  このパッチには次のような機能があります。


[A] ソースのバグ修正

 (1) 一部の関数がauto配列へのポインタを戻り値として返していた。
 (2) malloc()の戻り値チェックが抜けているところがあった。


[B] TeX出力の不具合修正

 (1) TeX出力をコンパイルする際、「Underfill \hbox (badness 10000」の警告
がたくさん出ていたが、これをできる限り排除した。といっても具体的には、空
行をあけようとして「\\」を不適切に使っている箇所で、間に「\mbox{}」を挟
んだだけ。とはいえ、もっと重要なエラーメッセージを見逃すのを防ぐ役には立
つ(か?)

 (2) TeX出力時に、例示の直前の本文の行間が不当に狭くなることがあったのを
修正。具体的には、例えば

  ここは平文です。ここは平文です。ここは平文です。ここは平文です。
  ここは平文です。ここは平文です。ここは平文です。ここは平文です。
	例示 例示
	例示 例示
  ここは平文です。ここは平文です。ここは平文です。ここは平文です。
  ここは平文です。ここは平文です。ここは平文です。ここは平文です。

のような文書をplain2 -texで処理すると出力は

  ここは平文です。ここは平文です。ここは平文です。ここは平文です。
  ここは平文です。ここは平文です。ここは平文です。ここは平文です。
  {\baselineskip=10pt
  \begin{verbatim}
        例示 例示
        例示 例示
  \end{verbatim}}
  \par
  ここは平文です。ここは平文です。ここは平文です。ここは平文です。
  ここは平文です。ここは平文です。ここは平文です。ここは平文です。

のようになるが、\baselineskip の変更直前に改段落がないため、例示の直前の
平文の部分まで行間が狭くなってしまっていた。改段落を入れることによってこ
れを直した。


[C] TeX出力に関する機能拡張

 (1) NTT JLaTeX、ASCII日本語LaTeXのどちらにも通用する出力を吐くようにし
た。これまではコンパイルの段階でどちらかを選ばねばならず、オプションスイッ
チで切り替えることもできなかった。
  具体的には、\gtfamあるいは\gtfamilyというマクロが定義されていたらASCII
日本語LaTeXと見なしてjarticleスタイルを、そうでなければNTT JLaTeXと見な
してj-articleスタイルを使う(ような出力を吐く)ようにした。また、こうする
とNTT JLaTeXの場合の\bfコマンドの再定義がいらなくなるのでこれを除去した。
  (ちなみにこれまでも、実はASCII日本語LaTeX用の出力でNTT JLaTeXにもほぼ
通っていたのだが、その場合jarticleスタイルを使っていた。今回の修正により
NTT JLaTeX本来のj-articleを使うようになる)

 (2) (1)に伴い、両方のJLaTeXで通用するような用紙サイズ指定が、plain2の
-tオプションで簡単に行えるようにした。
  具体的には、-tstyle= オプションで [ab][45]j? を指定すると、NTT JLaTeX
の場合jをつけないa4.sty等、ASCII日本語LaTeXの場合jをつけたa4j.sty等を自
動的に使い分ける。例えば、-tstyle=b4 あるいは -tstyle=b4j のように指定す
ると、NTT JLaTeXではb4.sty、ASCII日本語LaTeXではb4j.styを使う。
-tstyle=b4j,12pt のような指定も大丈夫。
  plain2のデフォルトは用紙指定なしだが、A4用紙を使う指定をTeX出力のデフォ
ルトにすることもコンパイル時指定で可能。そのためには、src/plain2.hの
DEFAULT_STYの定義を変更する。

 (3) -jverbオプションを新設した。TeX出力時にこのオプションを使うと、例示
の部分にjverbatim環境というものを使うようになり、この結果、例示部に日本
語が混じっていても縦が揃う。デフォルトでは、例示の部分にverbatim環境を使
うため、日本語が混じると縦が揃わない。
  但し、jverbatim環境用のstyファイル(jverb.sty)は別途用意しておくことが
必要。ftp://ftp.vector.co.jp/pack/mac/writing/other/jverb1.03.cpt.bin に
ある。


[D] その他の拡張

 (1) タイトルのパターンで「大学」「学部」などが所属部門を表す文字列として
認識されるようになった:-) src/title.c参照。


  なお、このパッチにはソースの差分の他、docディレクトリ下のmake時の警告
メッセージを防ぐための差分、およびドキュメントの例示部にjverbatim環境(上
記[C](3)参照)を使うようにする差分も含まれていますが、ドキュメントの内容
自体の変更は含まれていません(つまり、パッチを当てても上記[C][D]がドキュ
メントに反映されない)。また、doc/plain2.psに対する差分も含まれていません
(つまり、パッチを当ててもdoc/plain2.psは元のままで、パッチ後のdocディレ
クトリ下をmakeして得られるものと同じにはならない)。ご注意下さい。
  このパッチについて、私は著作権を主張しません。また、このパッチは無保証
です。このパッチに関するお問い合わせは私までお願いします(但し99年1月中は
応答できません)。
					99/1/2	nide@ics.nara-wu.ac.jp
