txt2etx Text file to Setext format convert script for JGAWK ver 1.0b5 Copyright (C) 1995-1996 by voyager (voyager@sparc.club.ne.jp) ●この文書について この文書はSetextFormatにて書かれています。EasyViewを使ってお読みください。また、 フォントはASLFont等の等幅フォントを使ってお読みください。 ========== ■はじめに ========== txt2etxは、通常のテキストファイルを簡単に"setext -Structure Enhanced Text Format"に変換するための、awkスクリプトです。 txt2etxは下記の特徴があります。 *テキスト中に「章」(Chapter)・「節」(Section)を明示するため、任意の記号でのマー クアップ方式を採用。 *マークアップする記号は文章中で変更可能。 *マークアップした記号をそのまま残したり、また変換後は消したりすることが可能(ス テルス機能)。 *ACTAの出力するテキストファイルに対応。 *マークアップのエラーについてはエラーの原因を表示。 ---------------------- ◆使用・再配布について ---------------------- txt2etx のライセンスは GPL に準拠します。 また、このソフトウェアを使用して発生したいかなる損失も作者は保証しません。 使用者は各自の責任においてこのソフトウェアを使用してください。 ======================= ■Setext Formatについて ======================= SetextはEasyViewというMacintoshの"Text Viewer" (Pager?) で、テキストを「第1章」 「第1節」という風に区切って表示するためのフォーマットです。EasyViewには「章」 は"Chapter"として、「節」は"Section"として表示されます。 「章」・「節」の区切り方はそれぞれ見出しにしたい行の下に、「=」・「-」をそれぞれ 同じ文字数分だけつけ加えることにより、見出し行を「章」・「節」として区切って表示 することができます。また、太字で表示させたり、アウトラインで表示させたりする機能 もあります。 なお、Setext formatで書かれたものとしては、TidBITSがあります。 Setext Formatについて、さらに詳しい情報を入手するには、 にメールを送ってください。間もなくファイルが送り返されます。(TidBITS-Jからの引 用です。) ======== ■使い方 ======== txt2etxはawkのスクリプトです。従って、jgawkが動作する環境(注1)であれば、DOS, Mac, Unixを問わず動作します。 実際、開発の半分以上はFMR280(20M/540HD), MS-DOS6.2+Win3.1, jgawk2.11.1+2.0+patchLevel1, Ng1.3Lの環境で行いました。 ただし、ここでは製作意図がMacintosh用のEasyViewのためのテキストフィルタですので 、マック環境に絞って説明します。 -------------- ◆用意するもの -------------- txt2etxをMacintoshで使うためには次のアプリケーションが必要です。別途用意しておい てください。 なお、スクリプトの起動方法や入力ファイルの設定方法については後述します。 * jgawk2.15.2+1.0+1.2.5 (山下 巌さん / GHB00130 作 - FMACPRO) またjgawkを便利に使うインターフェイスツールとして例えば次のものが利用できます。 こちらもあると便利でしょう。 * jgawkConsole1.3 (田中求之さん / MAH01402 作 - FJAMEA ) * JohnStation1.0.0 (中村一夫さん / HAG00260 作 - FJAMEA ) * JGAwk Interface 1.0b3 (山下 巌さん / GHB00130 作 - FMACPRO) なお、jgawkスクリプトを実行できるエディタでは下記のものがあります。 * 褌エディット1.6      (米木 武さん / GCC01675 作 - FMACPRO) ====================== ■マークアップのルール ====================== 行頭に下記の記号を付けます。すると、記号のついた行を見出しとして章、節として変換 します。 **初期設定** 通常表示型・・・・章(Chapter)のマーク「■」          節(Section)のマーク「◆」 ステルス型・・・・章(Chapter)のマーク「=」          節(Section)のマーク「-」 ここで、通常表示型はtxt2etxを実行した後に、マークが残ります。 また、ステルス型はマークが残りません。 ●通常表示型を実行すると、 | |======== |■使い方 |■使い方 | |======== 0桁目 0桁目 | |---------------------- |◆マークアップのルール |◆マークアップのルール | |---------------------- ●ステルス型を実行すると、 | |====== |=使い方 |使い方 | |====== 0桁目 0桁目 | |-------------------- |-マークアップのルール |マークアップのルール | |-------------------- となります。 ---------------------- ◆ユーザー定義機能概要 ---------------------- デフォルトの設定では、マークアップの記号は「■ ◆ = - 」ですが、こんな記号は 使いたくないと言う方、または今まで自分の文章は「●と▲」で見出しを書いていたと言 う方のためにユーザー定義機能があります。 ------------------------------ ◆ユーザー定義機能−通常表示型 ------------------------------ **マークアップ記号の変更例** マークアップの記号を「章」(Chapter)を●に、「節」(Section)を▲に変更する場合。 マークアップ記号を変更する前に、行頭に @CHAPTER= ● @SECTION= ▲ とそれぞれ書きます。「@CHAPTER=」と●は必ず半角スペースで区切ってください。 「@CHAPTER=●」は間違いです。また、全角スペースも不可です。txt2etxは、認識できま せん。 「@SECTION=」も同様です。なお、「@CHAPTER=」は「@CHApter=」でも「@chaPTER=」でも 可能で、大文字小文字を区別しません。 ただし、「@CHAPTER=」は不可です。必ず半角で入力してください。 ------------------------------ ◆ユーザー定義機能−ステルス型 ------------------------------ **ステルス型のマークアップ記号変更例** ステルス型にもユーザー定義機能があります。 たとえば、今まで、見出しを「●▲」で書いていたけど、記号はいやだなとか、英文文書 なので2Byte系の文字は文字化けするから困ると言った場合に使えます。 マークアップ記号を変更する前に、行頭に !CHAPTER= ● !SECTION= ▲ とそれぞれ書きます。「!CHAPTER=」と●は必ず半角スペースで区切ってください。「!CH APTER=●」は間違いです。また、全角スペースも不可です。txt2etxは、認識できません 。 「!SECTION=」も同様です。なお、「!CHAPTER=」は「!CHApter=」でも「!chaPTER=」でも 可能で、大文字小文字を区別しません。 ただし、「!CHAPTER=」は不可です。必ず半角で入力してください。 ---------------------------------------------- ◆ユーザー定義のマークアップ記号で使えない文字 ---------------------------------------------- 下記の「」中の12文字は正規表現中特殊な意味を持つ記号なので、通常表示型、ステル ス型ともにマークアップ記号として使用できませんので、他の記号(文字)を使用してく ださい。 「 \ ^ $ . [ ] | ( ) * + ? 」 また、半角スペース、全角スペース、タブも使用できません。 -------------------- ◆エラー表示について -------------------- マークアップ記号をユーザー定義で変更した場合、下記の2通りのエラー表示があります 。 **エラー表示1** "*REGEXP Error: Following are Meta charactor in Regular Expression." " Please use other chatactor for marking-up chapter or section." " Meta Charactor: \ ^ $ . [ ] | ( ) * + ?" " **Please re-try marking-up.**" 上記のエラー表示はマークアップ記号に使用できない文字を使用した場合に表示されます 。 **エラー表示2** "*Markup Error: NOT Yet difined mark-up charactor for chapter or section." " DO NOT use space, double space, tab for marking-up." " **Please re-try marking-up.**" 上記のエラー表示はユーザー定義をしているが、記号の書き忘れ、あるいは半角スペース 、全角スペース、タブを定義した場合表示されます。 ============ ■ACTAの文書 ============ Acta文書をテキストとしてラベル付きで保存した文書に対応しています。Actaの文書はマ ークアップする必要がありません。そのまま変換可能です。 **対応可能なActaの見出し** ●章・節型 第1章 This is parent. 第1節 This is daughter. 第2節 This is daughter. ●ローマ数字型 I. This is parent. A. This is daughter. B. This is daughter. 1. This is grand daughter. 2. This is grand daughter. II. This is Aunt. A. This is daughter. 1. This is grand Daughter. III. This is Aunt. A. This is daughter. 1. This is grand Daughter. IV. This is Aunt. A. This is daughter. 1. This is grand Daughter. ●数値型 1.0 This is parent. 1.1 This is daughter. 1.2 This is daughter. 1.2.1 This is grand daughter. 1.2.2 This is grand daughter. 2.0 This is Aunt. 2.1 This is daughter. 2.1.1 This is grand Daughter. 3.0 This is Aunt. 3.1 This is daughter. 3.1.1 This is grand Daughter. ================ ■簡単に使う方法 ================ txt2etxを使うには、jgawkからコマンドラインで使用する方法と、下記の使用法がありま す。詳細についてはそれぞれのマニュアルを参照してください。 ----------------- ◆jgawk interface ----------------- jgawk Interfaceを使用すると、コマンドラインでなく、マックらしいインターフェース でドラッグアンドドロップで使用できます。 --------- ◆HunEdit --------- Hundoshi-Editのアプリケーションのあるフォルダの中の、"JGAWK Scripts" フォルダにコピーしてください。Hundoshi-Editの中からスクリプトを呼び出すことがで きます。 --------- ◆Droplet --------- JGAwk InterfaceからInput, OutputをそれぞれクリップボードにしてMake Dropletを実行 して、できあがったドロップレットをアップルメニューに登録します。 エディタからマークアップしたテキストをクリップボードにコピーして、アップルメニュ ーの中のドロップレットを実行すると、様々なエディタの中からスクリプトを実行できま す。 ========== ■開発環境 ========== 動作環境:Mac+ 以降 / 漢字Talk 7.1以降 / jgawk2.15.2+1.0+1.2.5以降 開発環境:Duo250(12M/200), 漢字Talk 7.5, JGAwk Interface 1.0b3 :Duo2300C(56M/1.1G), 漢字Talk 7.5.3, JGAwk Interface 1.0b3 開発言語:jgawk2.15.2+1.0+1.2.5 ====== ■注意 ====== -------------------------- ◆(注1)英語環境について -------------------------- jgawk2.15.2+1.0+1.2.5はFSFのgawkをSerow(田中良知)氏が日本語化し、それをMac上に 山下巌氏が移植されたものなので、おそらくMac用の英語版gawkはあるかとおもいますが 、入手していないのでテストはしていません。(ちなみに、Info-Macのアーカイブをざっ と見たところでは、ありませんでした。) また、スクリプト上に2Byteの文字があるのと日本語版拡張関数を使用しているので、英 語版awk, gawkでの動作は不明ですが、おそらく動作しないでしょう。