2011-09-29
■[ReVIEW][EPUB][xml][InDesign] はじめてのReVIEW〜InDesignへの取り込み
たいへん遅ればせながらReVIEWを導入しました。著者や編集者が簡易に編集可能なReVIEW記法*1を基に、XHTMLやEPUB、XML、TeX、PDFなどを自動生成するフレームワークです。
昨年発行された『電子書籍で生き残る技術−紙との差、規格の差を乗り越える−』を読んでからReVIEWに大きな関心を持ちました。先月、海上忍さんのコラム「1つのソースでEPUBとPDFを生成できる「ReVIEW」を試す」を拝見して、ヤラねば! と思いつつずっと宿題だったんです。先日たまたま「ReVIEW の使い方 - A Day in Serenity @ Kenji」を読んでようやく重い腰をあげることとなりました。<重すぎるだろ...
でだ。「ReVIEWクイックスタートガイド」と前述のリンクなどを参考にしてちょろっとやってみたら、簡単すぎて拍子抜けしました。もう、書くことない。
(インストール上で注意点があるとすれば)Mac OS Xの環境ですと、rubyは1.8系なので、gemがそもそも入っていないはずです*2。TeXやPDFを生成するためには、TeX環境が必要です。TeXやPDFを生成しないなら、TeX環境はいりません。
海上忍さんのコラム中で紹介されている達人出版会の高橋征義さんがご用意くださっているサンプルを使って、実際にEPUBを作ってみます。
$ review-epubmaker config.yml
これだけで、ディレクトリ内にEPUBが生成されました。これをAdobe Digital Editionsで見ると、こんな感じです。
自前で作ってみた
あんまりあっけないので、簡単なものをひとつ自前で作ってみました。ディレクトリ階層はこんな感じです。
| ファイル・フォルダ名 | 説明 |
|---|---|
| _cover.html | EPUB用のカバーHTML |
| base.css | CSS(EPUBやHTMLに付加するスタイルシート) |
| ch01.re〜ch09.re | 章分けしたReVIEWファイル(ソースコンテンツ) |
| CHAPS | 章構成を記述したファイル(名前は固定) |
| config.yml | EPUBやPDFを生成する時の設定YAML |
| images | 画像用ディレクトリ(名前は固定) |
| ch01-fig01.jpg〜ch09-fig09.jpg | 画像ファイル(ファイル名には章ファイルと同じプレフィックスが必要) |
| cover.jpg | カバー用画像 |
| sty | PDFやTeX生成時のマクロ |
| jumoline.sty | TeXマクロ |
| samplemacro.sty | TeXマクロ |
EPUBに書き出してみると、こんな感じです。gingatetsudono_yoru.epub ![]()
ReVIEWフォーマット自体は、いくら簡易フォーマットとはいえ人間がタイプするものですから、当然タイプミスが含まれてしまいます。HTMLでさくっと確認できればより正確ですね*4。
$ review-compile --target html ch02.re > ch02.html
確認するだけならこれでも悪くないんですが、デフォルトでは見出しにセクション番号が付いてしまいます。番号が不要ならば「--level=0」を指定しましょう。また、特定のスタイルシートを適用したいなら、「--stylesheet=hoge.css」を付けます。他のオプションの説明は「--help」で表示されます。
$ review-compile --target html --stylesheet=base.css --level=0 ch02.re > ch02.html
とすればこうなりました。
InDesignへの取り込み
ReVIEWファイルからは、XMLを生成できます。XMLを生成すれは、InDesignへの取り込みはごく簡単なことでしょう。
$ review-compile --target idgxml --level=0 ch01.re > ch01.xml
とすると、xmlが生成されます。
<?xml version="1.0" encoding="UTF-8"?> <doc xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/"><title aid:pstyle="h2">一 午後の授業</title><?dtp level="2" section="一 午後の授業"?> <p>「ではみなさん、さういふふうに川だと云はれたり、乳の流れたあとだと云はれたりしてゐた、このぼんやりと白いものが何かご承知ですか。」</p> <p> 先生は、黒板に吊した大きな黒い星座の圖の、上から下へ白くけぶつた銀河帶のやうなところを指しながら、みんなに問ひをかけました。</p> ...(中略) <p> そして教室中はしばらく机の蓋をあけたりしめたり本を重ねたりする音がいつぱいでしたが、まもなくみんなはきちんと立つて禮をすると教室を出ました。</p> <img> <Image href="file://images/ch01-fig01.jpg" /> </img> </doc>
ここで注目したいのは、このXMLがInDesignに流し込むことを前提としていることです。それはxmlnsを見てもわかりますし、InDesign特有の改行の扱いが最適化されています。余計なインデントもありません。実際にInDesignに流し込んでみると、こんな感じになります。
たまたま縦書きなので、写真も回転してくれちゃっています。これはXML読み込みの仕様、後処理はスクリプトで。
この流し込み例はXMLを利用したものですが、ReVIEWフォーマットからInDesignタグに直接マッピングしてもいいかもしれません。事実、ぼくはReVIEWフォーマットの前身にあたるASCIIのEWBフォーマットで何度も原稿をいただいて、InDesignタグ(あるいはXPressタグ)に変換していました。
まとめ
ReVIEWフォーマットを利用する利点を3つ上げます。
- コンテンツをテキストベースで保持・管理できる
- 書き出されたタグそのものがきれい
- フリー!
コンテンツの保持者は著者であり、出版社の編集者です。書籍の改版時や部分的な転用時、あるいは電子出版への展開などに、コンテンツの持ち主が扱いやすいテキストであることはとても重要なことです。コンテンツをInDesignドキュメントとして持っていたらどうでしょう? ほとんどの著者や編集者ではInDesignを扱えません。組版の専業者に別途ご相談ということになります。たいてい、InDesignドキュメントはコンテンツと組み指定が分ち難く一体になっています。電子出版のために、それを分離するには多大な手間と時間とコストがかかっています。
また、InDesignが書出すEPUBやHTMLは人が読める形になっていません。通常、構造化もされていません。InDesign CS5.5からは新たにアーティクルやタグなどの概念が持ち込まれましたが、それはオッカムの剃刀です。InDesignドキュメントでコンテンツを保持するのは、InDesignのアプリケーションやバージョンに縛られる結果になります。このへんのことは以前「InDesignは電子書籍の中間ファイルたりうるか?」に書かせていただきました。現在、InDesignのアップグレードは1年と短くなっており、完全にイノベーションのジレンマに陥っています。InDesignはコンテンツのハブではなく、商業印刷物のための入れ物デバイスだと考えます。
そして、ReVIEWはオープンソースのフレームワークです。誰もが無償でこの環境を享受できます。よくわかんない権利関係に悩まされることもありません。操作同様、シンプルに選択できる選択肢です。
最後に、ReVIEW開発者のみなさまと、使用方法などをレポートしてくださったみなさまに感謝いたします。ぼくの初めてのサンプルはいろいろ間違いがあるかもしれませんが、ご指摘いただければ修正させていただきます。
*1:ReVIEWフォーマットは ASCIIのEWBを基本としながら、一部に RD や各種 Wiki の文法をとりいれて簡素化したものです。詳しくはhttps://github.com/kmuto/review/blob/master/doc/format.rdoc を参照
*2:ぼくは現在、ruby 1.9.2p136を使っているので、デフォルト環境ってものがよくわかっていないんですが... 1.9系ならふつーにgem install reviewだけでいけちゃいます
*3:ちょっと書き方が悪いせいかiBooksでは章の最初にゴミが出てしまったので、Sigilで保存し直しました。
*4:実運用上では、とても重要なことです。所詮、人間がタイプするものなどハナから間違いが存在してあたりまえです。正しい記法でなければ、正しく処理できません。ほら、hatena記法にも「確認する」ホタンが付いているでしょ
- 62 http://www.seuzo.jp/st/index.html
- 42 http://d.hatena.ne.jp/Kenji_s/20110927/1317105278
- 35 http://www.google.co.jp/url?sa=t&rct=j&q=review epub&source=web&cd=4&ved=0CEAQFjAD&url=http://d.hatena.ne.jp/seuzo/20110929/1317286124&ei=WYGmTpGRL870mAXhrNynDw&usg=AFQjCNGOngz8GAT8E8fjcKBN83fd6ezokw&cad=rja
- 25 http://j.mp/sSh2OS
- 24 http://d.hatena.ne.jp/ditahack/20111030/1319962248
- 23 http://seuzo.hatenablog.com/
- 22 http://seuzo.net/
- 21 http://www.google.co.jp/url?sa=t&rct=j&q=review indesign&source=web&cd=2&sqi=2&ved=0CCkQFjAB&url=http://d.hatena.ne.jp/seuzo/20110929/1317286124&ei=y2kKT9OTIvHymAX9zZDzDw&usg=AFQjCNGOngz8GAT8E8fjcKBN83fd6ezokw&sig2=FtdOdkrYxOuE0CAW_4DV3A
- 18 http://dlvr.it/nbKXx
- 18 http://www.google.co.jp/url?sa=t&rct=j&q=ReVIEW+Epub&source=web&cd=8&ved=0CGIQFjAH&url=http://d.hatena.ne.jp/seuzo/20110929/1317286124&ei=oA_OToLpBZDDmQWy5ZHkDQ&usg=AFQjCNGOngz8GAT8E8fjcKBN83fd6ezokw













