構造化文書作成支援システムとしての ViVi, vine について 津田伸秀≪ソフトウェア作家,某組織 客員×××,\nmailto:ntsuda@beam.ne.jp≫  研究者,エンジニアは日々構造化文書を作成しており,それを効率化し知的生産性を向上する必要がある.しかし従来のシステムはファイル普遍性,広義の可読性に劣り,編集の操作性が優れないなどの問題があった.本稿で紹介するシステムは,エディタViVi,レイアウトソフトvineの2つのプログラムから構成され,プレインテキスト,行頭記号記法,アウトライン表示,エディタからの機能拡張アプローチ,GUIによるスタイルセットの設定機能などの特徴をもっている.多くのユーザが本システムを実務に使用しており(本稿も本システムで作成している),知的生産性を向上させる一定の効果をあげている.本システムの開発には関係性開発モデルを採用し,ユーザとの直接的なコミュニケーションによりオープンで効率的な開発を実現している. ■ はじめに  みなさんはこの文章のような原稿を作成する場合,どのようなツールを使用されているでしょうか?一般的にはMS Wordなどのいわゆるワープロソフトを使う方が多く,研究者の方に限って言えばTeX[1]を使用される方が多いと思います.しかし,ワープロソフトは素人でも簡単に使用できる反面,重遅で使い勝手が悪く,知的生産的の高いツールとは言い難いと考えます.TeXは高度な機能を持っており,美しい印刷物が得られるすばらしいものですが,素人には敷居が高く習得も大変で,使い勝手が悪い面もあります.  そこで筆者はそのような問題を解決するために,ワープロの簡便さとTeXの柔軟性と厳密性を持ち,かつ処理能力の低いマシンでもストレスなく使えるパフォーマンスを持った文書作成支援システムを研究開発中です.システムはViViとvineの2つのプログラムで構成され,Windows 95/98/NT で実際に使用可能です.本稿ではこれらの簡単な紹介およびその開発モデルの説明を行います.  なお,本稿は本システムを用いて作成しています. ■ 構造化文書作成支援システムの要件  長文作成においては文書構造を明確にすることが必須です.全体をいくつかの部分にまとめ構造を整理することで,読者,文書作成者の文書理解を容易にする必要があるからです.その結果,整理された文章は階層構造を持つことになります.このように文書構造を明確に意識して作成され,文書構造を明示した文書を構造化文書と呼びます.たとえば,この文章や学術論文,長文のレポート,報告書,小説などは構造化文書です.  構造化文書の作成を効率的に行うことを目的とした構造化文書作成支援システムは,(1) ファイル普遍性がある,(2) 広義の可読性に優れる,(3) 編集の操作性に優れる,という条件を満たす必要があると考えます. ○ ファイル普遍性  一般に使用されているワープロソフトは複数の種類,バージョンが存在します.文書ファイルはそれを作成したソフトの特定のバージョンでないと編集できない場合が多く困ってしまいます.これは文書ファイルがバイナリ形式で固有の構造を持っているからです.  プレインテキストであれば,どのようなOSでも読み書きできる場合が多く,普遍性の問題を回避できる場合がほとんどです.プレインテキストであってもなんらかの書式で構造を記述する以上,書式が異なるソフト間で互換性があるわけではありませんが,バイナリ形式に比べ,フィルタやエディタで書式を変換することが容易です.また,プレインテキストを編集するエディタは多種多様のものが出回っており,ユーザの好みのものを使用できるという利点もあります. ○ 広義の可読性  構造化文書は以下に示す4つの要件からなる広義の可読性を満たす必要があると考えます.  構造化文書をプレインテキストで表現する方法としては,SGML[2], TeX等があります.これらは文書構造を指定するためにタグをソース文書に挿入しますが,文章を推敲する時にそれが思考を中断するのでソース文書の可読性を低下させます.文書作成者は文書構成,表現を考えながらソース文書を編集するため,ソース文書の可読性(これを狭義の可読性と呼ぶ)は構造化文書作成効率に大きく影響を及ぼす要件です.  次に,文書を記述している時は局所的な思考に陥りがちで,全体の構成に対する位置づけを忘れがちになります.よって,文書構造のアウトラインを容易に表示できるかどうかは大変重要です.  さらに,人間は文書全体の構成を把握することも,局所的な部分を把握することも可能ですが,それを同時に行うことはできないので,それらの視点を切り替えること(視線の往復[3])を容易にする必要があります.  最後に,アウトライン表示が可能であっても画面の情報量は限られているので,推敲は印刷結果で行った方が効率が上がります.奇麗な印刷が可能かどうかも重要です.  ここに示した,狭義の可読性,アウトライン,視線の往復,奇麗な印刷は他人が記述した文書の理解を容易にするのはもちろん,文書作成者の思考支援機能としても大変重要な要件です.広義の可読性は文書の楽読性とも言えるもので,文書理解のコストの低さを示すものです. ○ 編集の操作性  構造化文書を作成する場合においても,文書構造の編集を行うよりも,本文の編集に多くの時間を費やします.したがって,(あたりまえのことですが)編集の操作性が優れているかどうかが構造化文書作成功率に大きく影響します.現状のアウトラインプロセッサは編集機能が貧弱なものが多く,ワープロは規模が肥大しパフォーマンスが劣るという問題もあります.