PageMark 1.0


目次

1 はじめに ▼
2 PageMarkの操作 ▼
3 PageMarkの条件設定 ▼
4 プレーンテキストの書式 ▼
5 画像データの形式 ▼
6 文書構造の検査 ▼
7 PageMakerのタグテンプレート ▼
8 PageMarkの課題 ▼
9 PageMarkの配布 ▼

1 はじめに

 PageMarkは,特定の書式で書かれたプレーンテキストの見出しや図表の位置関係に関わる文書構造を検査すると同時に,PageMakerタグ付きテキストへ変換出力するフォーマッターです。

 PageMarkを使うことによって,ページや図表の数が極めて多い説明書や報告書の版下を簡単に作成できます。「文字原稿」と「図表原稿」の整理を済ませれば,後はPageMakerで自動流し込みを行い,最終的なレイアウトの調整をするだけです。

 PageMarkの特徴は,次のとおりです。

 PageMarkは,すべてPerlで書かれており,Perlインタプリターが導入されているMacOSまたはWindows95で動作可能です。

 PageMakerタグは,PageMaker6.52Jで可能な範囲です。

 PageMarkの実行は,次の環境で確認しました。

 PageMarkの不具合や要望がありましたら,ご一報下さい。とりわけ,Windowsでの動作を確認しておりませんので,実行結果をお知らせいただけると幸甚です。


2 PageMarkの操作

 PageMarkでは,ドラッグ・アンド・ドロップによってフォルダーまたはファイル単位にバッチ処理ができます。

2.1 MS-Windows95における起動方法

  1. スクリプト“PAGEMARK.PL”を起動するために,次のような内容からなるバッチファイル“PAGEMARK.BAT”を作成します。
     CD ファイルの格納されたディレクトリへのパス
     PERL PAGEMARK.PL %1 %2 %3 %4 %5
     ここで,引き数の参照は,コマンドラインが長くなりすぎますので,5個程度にします。
  2. バッチファイル“PAGEMARK.BAT”のアイコンへ,適当なディレクトリーまたは(複数の)ファイルをドラッグ・アンド・ドロップすると,それらが順に処理されます。

2.2 MacOSにおける起動方法

  1. Perlインタプリタを起動し,スクリプト“PageMark.pl”を“PageMark”という名前のDroplet形式で保存します。
  2. “PageMark”のDropletのアイコンへ適当なフォルダーまたは(複数の)ファイルをドラッグ・アンド・ドロップすると,それらが順に処理されます。
  3. 単なるラウンチでは「引き数なしの起動」となります。ちなみに,ScriptメニューからRun Scriptでスクリプトを指示しても「引き数なしの起動」となってしまいますので,注意して下さい。

PageMakerタグ付きテキストの出力 PAGEMARK ver.1.0
 処理日時:1999/04/22 00:18:01

 入力ファイル:MyDisk:MyDoc:マニュアル
 出力ファイル:Mydisk:MyDoc:マニュアル.tag

 処理が完了しました。

図2-1 正常に変換できた時の通知


PageMakerタグ付きテキストの出力 PAGEMARK ver.1.0
 処理日時:1999/04/22 00:23:55

 入力ファイル:MyDisk:MyDoc:マニュアル
 出力ファイル:Mydisk:MyDoc:マニュアル.tag

 変換中に問題が起こりました。変換レポートを見て下さい。

 処理が完了しました。

図2-2 変換に問題があった時の通知


3 PageMarkの条件設定

 PageMarkを実行する前に条件設定ファイル“TEXTPARK.CNT”で次の条件を設定しなければなりません。これらの条件は,ドラッグ・アンド・ドロップの度に参照されます。


PM-TEMPLATE="Mydisk:MyDoc:マニュアル.TMP"
PM-GRAPH-PATH="Mydisk:MyDoc:GR:"
PM-OUTPUT-PATH="Mydisk:MyDoc:"
PM-WIDTHMAX=484
PM-REPORT="Mydisk:MyDoc:マニュアル.REP"

図3-1 条件設定ファイルの内容

(1) PageMakerの開始タグ

 キーワード“PM-TAG”でPageMakerの開始タグを与えます。

 省略時は“<PMTags1.0 mac>”とみなします。

 例:PM-TAG="<PMTags1.0 win>"

(2) PageMakerのタグテンプレートへのパス

 キーワード“PM-TEMPLATE”でPageMakerのタグテンプレートへのパスを与えます。

 例:PM-TEMPLATE="MyDisk:MyDoc:マニュアル.tmp

(3) 画像データが格納されているディレクトリへのパス

 キーワード“PM-GRAPH-PATH”で画像データが格納されているディレクトリーまたはフォルダーへのパスを与えます。

 例:PM-GRAPH-PATH="MyDisk:MyDoc:Graphic"

(4) タグ付きテキストを出力するディレクトリへのパス

 キーワード“PM-OUTPUT-PATH”でタグ付きテキストを出力するディレクトリーまたはフォルダーへのパス与えます。

 例:PM-OUTPUT-PATH="MyDisk:MyDoc:"

(5) 変換レポートへのパス

 キーワード“PM-REPORT”で変換レポートへのパスを与えます。

 変換レポートへは変換状況が追加出力されます。

 例:PM-GRAPH-PATH="MyDisk:MyDoc:マニュアル.rep"


PAGEMARK ver.1.0
 処理日時             :1999/04/22 10:17:19
 PageMaker タグ          :<PMTags1.0 mac>
 テンプレートへのパス       :Mydisk:MyDoc:マニュアル.TMP
 画像データへのパス        :Mydisk:MyDoc:GR:
 タグ付きテキストへのパス     :Mydisk:MyDoc:
 変換レポートへのパス       :Mydisk:MyDoc:マニュアル.REP
 タグ付きテキストファイル名の接頭辞:
 タグ付きテキストファイル名の拡張子:.tag
 出力ページの表示領域幅      :484

 入力ファイル           :MyDisk:MyDoc:マニュアル
 出力ファイル           :Mydisk:MyDoc:マニュアル.tag
 変換状況:
   1 はじめに
   2 PageMarkの操作
     2.1 MS-Windows95における起動方法
     2.2 MacOSにおける起動方法
      図2-1 正常に変換できた時の通知
      図2-2 変換に問題があった時の通知
   3 PageMarkの条件設定
    図3-1 条件設定ファイルの内容
         (1) PageMakerの開始タグ
         (2) PageMakerのタグテンプレートへのパス
         (3) 画像データが格納されているディレクトリへのパス
         (4) タグ付きテキストを出力するディレクトリへのパス
         (5) 変換レポートへのパス
          図3-2 変換レポートの内容
         (6) タグ付きテキストファイル名の接頭辞
         (7) タグ付きテキストファイル名の接尾辞(拡張子)
         (8) 表示領域幅
   4 プレーンテキストの書式
     4.1 段落レベルのタグを生成する書式
      表4.1 段落レベルのタグ
     4.2 文字レベルのタグを生成する書式
      表4.2 文字レベルのタグ
     4.3 エスケープされる文字
   5 画像データの形式
   6 文書構造の検査
         (1) 章節番号
         (2) 図表番号
   7 PageMakerのタグテンプレート
   8 PageMarkの課題

 以上,118行からなります。

図3-2 変換レポートの内容

(6) タグ付きテキストファイル名の接頭辞

 キーワード“PM-OUTPUT-PREFIX”でタグ付きテキストファイル名の接頭辞を与えます。

 省略時は何も付けません。

 例:PM-OUTPUT-PREFIX="T_"

(7) タグ付きテキストファイル名の接尾辞(拡張子)

 キーワード“PM-OUTPUT-EXT”でタグ付きテキストファイル名の接尾辞(または拡張子)を与えます。

 省略時は“.tag”とみなします。

 例:PM-OUTPUT-EXT=".TT"

(8) 表示領域幅

 キーワード“PM-WIDTHMAX”で出力ページの,余白を除いた表示領域幅をピクセル単位で与えます。

 省略時は484(A4判縦使用)ピクセルとみなします。

 例:PM-WIDTHMAX=200


4 プレーンテキストの書式

 PageMarkは,次の書式で表わされているプレーンテキストをPagemakerタグ付きテキストへ変換出力します。

 この書式を「執筆要領」とする場合,原稿の著者が正規表現を知っていることは稀でしょうから,著者(たち)のリテラシーに応じて,分かりやすい「執筆要領」として書き改める必要があります。

4.1 段落レベルのタグを生成する書式

表4.1 段落レベルのタグ

 正規表現タグ付きテキスト
表題★.+<@TITLE:>テキスト
章節の見出し第\d+章_.+<@HEAD1:>テキスト
\d+_.+<@HEAD1:>テキスト
\d+\.\d+_.+<@HEAD2:>テキスト
\d+\.\d+\.\d+_.+<@HEAD3:>テキスト
\(\d+\) .+<@HEAD4:>テキスト
\([a-z]\) .+<@HEAD5:>テキスト
参考文献◆.+<@REF:>テキスト
ページ替え<@PAGEUP:>
任 意〓.+<@ANY:>テキスト
キャプション■.+<@CAPTION:>テキスト
▲図.+_.*<@ART:><& 幅 高さ スケール 画像ファイル名>
<@FIG:>テキスト
▼表.+_.*<@TABLE:>テキスト
<@ART:><& 幅 高さ スケール 画像ファイル名>
箇 条 書_・ .+<@LIST1:>テキスト
__・ .+<@LIST2:>テキスト
___・ .+<@LIST3:>テキスト
_\(.+\) .+<@LIST1:>テキスト
__\(.+\) .+<@LIST2:>テキスト
___\(.+\) .+<@LIST3:>テキスト
_\[.+\] .+<@LIST1:>テキスト
__\[.+\] .+<@LIST2:>テキスト
___\[.+\] .+<@LIST3:>テキスト
段 落__.+<@PARA2:>テキスト
_.+<@PARA1:>テキスト
段落続き.+<@PARA0:>テキスト

注:“_”は全角の空白を示します。

4.2 文字レベルのタグを生成する書式

表4.2 文字レベルのタグ

 正規表現タグ付きテキスト
登録商標 ⊂R⊃<FONT "Symbol"><+>メ<FONT "細明朝体"><P>
トレードマーク⊂TM⊃<FONT "Symbol"><+>ヤ<FONT "細明朝体"><P>
上付き⊂+⊃<+>
下付き⊂-⊃<->
ボールド体⊂B⊃<B>
下線⊂U⊃<U>
イタリック体⊂I⊃<I>
袋文字⊂O⊃<O>
打ち消し⊂X⊃<X>
プレーンテキストへの復帰⊂P⊃<P>

4.3 エスケープされる文字

 文字“<”,“\\”,“>”は,タグ付きテキストではエスケープすべき文字ですので,PageMarkは,それぞれ“<\<>”,“<\\>”,“<\>>”へ変換します。

 “⊂”と“⊃”をその文字として使う場合は,それぞれ“⊂1⊃”と“⊂2⊃”で表わします。


5 画像データの形式

 現在のPageMarkのバージョンでは,取り扱える画像データの形式はJPEG形式だけです。


6 文書構造の検査

 プレーンテキストの書式は,文書構造を表わしています。PageMarkは,その章節番号や図表番号について検査を行います。

(1) 章節番号

 章節番号は,次のようなレベルに分かれています。これを変えるには,PageMarkのスクリプトを変えなければなりません。

 例:


  1 ………(レベル1)
   1.1 ………(レベル2)
    1.1.1 ………(レベル3)
     (1) ……………(レベル4)
      (a) ………………(レベル5)

 このレベルの順は固定ですが,下位のレベルを使う場合に途中のレベルを飛ばしてもかまいません。

 例:


  1 ………(レベル1)
   (1) ………(レベル4)
   (2) ………(レベル4)

(2) 図表番号

 図表番号は,レベル3までの章節番号と同期をとるように表わします。あるレベルの中に置く図の図表番号はそのレベルの章節番号と同じとするか,複数個あれば,ハイフンに連番を付けて区別します。

 例:


  1.1 ………
   図1.1 ………
  1.2 ………
   図1.2-1 ………
   図1.2-2 ………


7 PageMakerのタグテンプレート

 PageMakerのタグテンプレートは,段落レベルのタグについて定義したもので,サンプルデータと,Adobe PageMakerのユーザガイドを参考にして利用して下さい。

 タグテンプレートを直接作ることは困難です。必要とするタグテンプレートを無理なく作る方法は,次のとおりです。

  1. 簡単なテキストを書式に合わせて作ります。
  2. そのテキストをPageMarkを使ってタグ付きテキストへ変換します。
  3. PageMakerにおいて,そのタグ付きテキストを流し込みます。この時,タグ読み込みラジオボタンはオフとします。
  4. PageMakerでは,スタイル指定を用いてレイアウトを調整します。ここで指定したスタイルは段落タグに反映されます。
  5. その文書をタグ付きテキスト(Tagged Text)で保存します。
  6. その中から開始タグとタグテンプレートの部分を切り出します。

8 PageMarkの課題

 PageMarkの課題は,次のとおりです。

8.1 取り扱える画像データ形式の追加

 現在のPageMarkのバージョンでは,画像データはJPEG形式だけですが,それ以外の形式を扱うことは次の強化項目となるでしょう。ちなみに,GIF,EPSF,TIFF,PICTの形式の大きさを取得する処理は,TextParkのGRSIZEで既に実現しています。

8.2 表の処理

 現在のPageMarkのバージョンでは,表は画像データとしてのみ取り扱いますが,プレーンテキストとしての表データから自動的にそれを画像データ化することは不可能ではありません。ちなみに,HTMLタグ付きテキストから表をEPSF形式へ変換する処理は,TextParkのHTBLEPSで既に実現しています。

8.3 箇条書の検査

 現在のPageMarkのバージョンでは,箇条書の番号順序(例えば,(1),(2),..)は検査しておりません。これは次の強化項目となるでしょう。

8.4 HTML/SGMLコンテンツへの変換

 今までのワークフローは,次のような流れでした。先ず,プレーンテキストをタグ付けしてHTML/SGMLコンテンツとします。次に,それをパーザーで解析し,ESISデータへ変換します。最後にTeX,PageMakerなどの組版データへ変換出力するものでした。したがって,フォーマッターは,ワークフロー上で最終出力という位置付けでした。

 プレーンテキスト  HTML/SGMLコンテンツ  ESISデータ  組版データ

 これに対して,PageMarkは,プレーンテキストからPageMakerタグ付きテキストへ変換出力するフォーマッターです。今後,これを次のように発展させていく考えです。つまり,組版データからHTML/SGMLコンテンツへ変換出力する流れを追加しようというものです。この考え方は,スタイルが意味を反映しているという前提に立っています。

 プレーンテキスト  組版データ  HTML/SGMLコンテンツ

9 PageMarkの配布

 PageMarkを次のZIP形式で配布します。

 PAGEMARK.ZIP

 注:PAGEMARK.ZIPの内訳は次のとおりです。なお,“MANUAL.REP”“MANUAL.TMP”は資料の中の「マニュアル.REP」「マニュアル.TMP」に同じ内容です。また,テキストデータの行末符号はCR(MacOS)です。

ファイル名内容
PageMark.plPageMarkスクリプト。
READMEPageMarkの説明書(サンプル)。
README.tagREADMEをPageMarkで変換した結果。
README.pdfREADME.tagをPageMakerに流し込んだ結果。
PDF形式です。
MANUAL.REPPageMarkの変換レポート。
MANUAL.TMP上記の変換で用いたテンプレート。

(1999年4月記)


(c)1999 JAGAT