自己顕示欲の開放治療所

erg, programming and something.

別名:Laughing and Grief 雑記

Latin and Greekは習ったこともない

真面目な記事の他、特定の方には不快と思われる事柄に関して言及を行うことがあります。ちょっと頑張りますが、Blog内で解決できなかった場合要望があれば別ページに技術記事は書き直します

EWBとRe:VIEW

この記事はEWBアドベントカレンダー2019の記事です。

adventar.org

2019年12月11日23時30分追記:

該当箇所を修正しました。ついでに出力について、EWBは印刷前チェックの目的もありましたね。

Re:VIEW

Re:VIEWは青木峰郎氏によって開発され、現在@kmuto氏によって 保守・開発されている、Ruby製の書籍用マークアップとその処理系です。

Re:VIEW公式に言及されているように、EWBにその源流があり、それは書式の他の点にも見ることができます。

というわけで、今日はファイル構成とドキュメント以外の書式比較について言及します。 Re:VIEWのバージョンは4系、EWBのバージョンは3.3のものを基準とします。

ディレクトリ構成

一般的と思われる構成です。

EWB

lsttblの中身はEWBフォーマットのプレーンテキスト。.ewbにもできます。 docもEWBドキュメントであることを示すだけでMSWordではないです。 基本的にeucjpエンコーディングです。

ドキュメントは同じ箇所にまとめて配置し、画像やリスト(ソースコード)などはまとめてそれぞれのディレクトリに配置しています。これらの配置位置を マップするのがdatなどに書かれた情報になります。

バックエンドは\LaTeX{}一択、\LaTeX{}文書用のクラスなどコマンドにより都度生成されるので、処理時に別の場所に置いてあるewbbase3_3.styなどを呼ぶものの、基本的に ディレクトリ構造がシンプルですね。

Styles内のファイルは基本的に各体裁用エディタ(フォーム)の出力datから生成されます。

読み込むファイルと順序などの記載されたcontents.ewbはEWB-Shelfで生成するのが恐らく基本的な方法でしょう。

root/
┣FIG/
┃  ┗*.eps
┣LIST/
┃   ┗*.lst
┣Styles/
┃     ┗triger.def //マークアップ挙動記述
┃     ┗PDFStyle //PDF出力用設定ファイル
┃     ┗*.sty
┃     ┗*.cls
┃     ┗yakumono.sed //実質的pre(post) process
┃    ┗ewb2latex.cls //基本LaTeX体裁
┣TABLE/
┃    ┗*.tbl
┝ForAll.index //索引登録ファイル
┝ForAll.phy  //図表登録ファイル
┝MENTUKEinfo //面付出力用設定ファイル
┝PDFinfo 
┝common.dat //他メタデータ
┝psidxested.dat //索引体裁
┝pssted.dat //体裁
┝contents.ewb //処理ファイル登録ファイル
┝*.doc
┝*.doc
┝ ...

Re:VIEW

root/
┣layouts/
┃  ┗<出力形式ごと>.erb //(rubyテンプレート)
┃    
┣lib/
┃   ┗*.rb //rake用補助ファイルその他
┣sty/
┃     ┗*.sty //TeX用体裁補助ファイル
┣Rakefile/
┃    ┗*.rb
┣images/
┃     ┗*.* // 画像ファイル
┣doc/
┃     ┗* // usage
┝style.css //html用体裁ファイル
┝catalog.yml //処理ファイル登録ファイル
┝config.yml //メタデータ、一部体裁記述ファイル
┝*.re
┝*.re
┝ ...

catalog.ymlがcontents.ewb相当になりますが、YAML形式なのと、 体裁のマッピングはlayouts内のテンプレートとconfig.ymlにあるので かなり見た目がすっきりします。比較は明日の気力次第。

config.ymlも

また、\LaTeX{}出力のスタイルに関しては、 現代的な\LaTeX{}の使い方らしく、各場面に合わせた出力に関してもクラスファイルが担い、 必要に応じてスタイルファイルを足したりする形なので、やろうと思わなければ体裁系のファイル群は爆発しません。 EWBがp\LaTeX{}と周辺の過渡期のものであるという歴史を踏まえる必要がありますが。

また、ビルド用ツールの設定がデフォルトで用意されていることで、個別コマンドで出力を調えていくコストが下がっているのも現代的ツールの特徴といえるでしょう。

体裁入力ツール

EWBのややインタラクティブな体裁入力エディタ(pssted)は長年Re:VIEWには無いものでしたが、Re:VIEW4からは ブラウザで見られる体裁入力画面が使えます! すごい! えらい!*1

出力

これを比較と書くべきか分かりませんが、フォーマットの面で触れるであろう事項なので。 EWBはプリンタレディな出力予想とPostScript出力を得るのが目的であり、(少なくとも現在の)Re:VIEWはもう少し汎用的あるいは前段階の出力を意図しています、多分。このことは組版マークアップ入力書式において、意図していたかはおいておいて、両者の違いに表れてきます。

Next

内部フォーマットと体裁フォーマットの比較を、折れていなかったら。