Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード Twitter

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2011-09-29

[][][][] はじめてのReVIEW〜InDesignへの取り込み

たいへん遅ればせながらReVIEWを導入しました。著者や編集者が簡易に編集可能なReVIEW記法*1を基に、XHTMLやEPUB、XMLTeX、PDFなどを自動生成するフレームワークです。

昨年発行された『電子書籍で生き残る技術−紙との差、規格の差を乗り越える−』を読んでからReVIEWに大きな関心を持ちました。先月、海上忍さんのコラム「1つのソースでEPUBとPDFを生成できる「ReVIEW」を試す」を拝見して、ヤラねば! と思いつつずっと宿題だったんです。先日たまたま「ReVIEW の使い方 - A Day in Serenity @ Kenji」を読んでようやく重い腰をあげることとなりました。<重すぎるだろ...

でだ。「ReVIEWクイックスタートガイド」と前述のリンクなどを参考にしてちょろっとやってみたら、簡単すぎて拍子抜けしました。もう、書くことない。


(インストール上で注意点があるとすれば)Mac OS Xの環境ですと、rubyは1.8系なので、gemがそもそも入っていないはずです*2TeXやPDFを生成するためには、TeX環境が必要です。TeXやPDFを生成しないなら、TeX環境はいりません。

海上忍さんのコラム中で紹介されている達人出版会の高橋征義さんがご用意くださっているサンプルを使って、実際にEPUBを作ってみます。

$ review-epubmaker config.yml

これだけで、ディレクトリ内にEPUBが生成されました。これをAdobe Digital Editionsで見ると、こんな感じです。

f:id:seuzo:20110929141220p:image



自前で作ってみた

あんまりあっけないので、簡単なものをひとつ自前で作ってみました。ディレクトリ階層はこんな感じです。

f:id:seuzo:20110929142607p:image

gingatetsudono_yoru.zip 直

ファイル・フォルダ名説明
_cover.htmlEPUB用のカバーHTML
base.cssCSS(EPUBやHTMLに付加するスタイルシート)
ch01.re〜ch09.re章分けしたReVIEWファイル(ソースコンテンツ)
CHAPS章構成を記述したファイル(名前は固定)
config.ymlEPUBやPDFを生成する時の設定YAML
images画像用ディレクトリ(名前は固定)
 ch01-fig01.jpg〜ch09-fig09.jpg画像ファイル(ファイル名には章ファイルと同じプレフィックスが必要)
 cover.jpgカバー用画像
styPDFやTeX生成時のマクロ
 jumoline.styTeXマクロ
 samplemacro.styTeXマクロ

EPUBに書き出してみると、こんな感じです。gingatetsudono_yoru.epub 直

f:id:seuzo:20110929151507p:image

iPhoneiBooksで見ると、こんな感じ。*3

f:id:seuzo:20110929151508p:image f:id:seuzo:20110929151509p:image f:id:seuzo:20110929151510p:image f:id:seuzo:20110929151511p:image


ReVIEWフォーマット自体は、いくら簡易フォーマットとはいえ人間がタイプするものですから、当然タイプミスが含まれてしまいます。HTMLでさくっと確認できればより正確ですね*4

$ review-compile --target html ch02.re > ch02.html

f:id:seuzo:20110929152953p:image

確認するだけならこれでも悪くないんですが、デフォルトでは見出しにセクション番号が付いてしまいます。番号が不要ならば「--level=0」を指定しましょう。また、特定のスタイルシートを適用したいなら、「--stylesheet=hoge.css」を付けます。他のオプションの説明は「--help」で表示されます。

$ review-compile --target html --stylesheet=base.css --level=0 ch02.re > ch02.html

とすればこうなりました。

f:id:seuzo:20110929152954p:image


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>

ここで注目したいのは、このXMLInDesignに流し込むことを前提としていることです。それはxmlnsを見てもわかりますし、InDesign特有の改行の扱いが最適化されています。余計なインデントもありません。実際にInDesignに流し込んでみると、こんな感じになります。

f:id:seuzo:20110929165102p:image

たまたま縦書きなので、写真も回転してくれちゃっています。これはXML読み込みの仕様、後処理はスクリプトで。

f:id:seuzo:20110929165103p:image


この流し込み例は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記法にも「確認する」ホタンが付いているでしょ

5.55.5 2011/09/29 21:03 Ruby 1.8 でも RubyGems をインストールすれば OK。ただ,ReVIEW は fork() を使っているため,Windows では動かないようです。Cygwin とかで動かさない限り。

seuzoseuzo 2011/09/29 22:03 >5.5さん
情報ありがとうございます。

ちょっとした追加情報:
Mac OSでデフォルトのruby1.8系をお使いの方はsetup.rbとかFinkとかでRuby Gemsを入れてください。
http://www.gfd-dennou.org/arch/davis/gfdnavi/doc/install/install-rubygems.htm

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証