ReVIEWで触れたbookshopについて.bookshopは独自の形式ではなくて,HTML+CSS+JSで書いたものをpdfやepubにできるようにしようというツールです.

bookshopもrubyベースで,gemがあります.

$ gem install bookshop

新しく本のプロジェクトを作るのは以下のコマンドです.

$ bookshop create book_name

生成されたプロジェクトにサンプルが入っているのですが,それを見るとHTMLと言っている部分は,実際にはERBのようです.

pdfやepubを作成するには,プロジェクトのトップで以下のようにします.

$ bookshop build pdf
$ bookshop build epub

bookshopでpdf等を作るためには,PrinceXMLを予めインストールしておく必要があります.しかし,これは非営利利用限定で無料で使えるもので,営利の場合は別途ライセンスを購入する必要があります.

ワンソース・マルチユース的なツールは好きで,昔原稿書きにはHTMLとLaTeXを同時に吐けるSmartDocを使っていました.しかし,もう全然更新されておらず,今時epubも作って欲しいということで,最低限HTMLとpdfとepubを作れるツールがないかと調べたところ,以下の3つが候補に挙がりました.

  1. DocBook
  2. ReVIEW
  3. bookshop

この中でまずReVIEWを試しました.ReVIEWは達人出版会とかオライリー・ジャパンでも使われているそうなので苦労しなさそうかなと (ソース1, ソース2).

ReVIEWはrubyでできていてgemもあるので,インストールは簡単です.

$ gem install review

最新を使いたければhttps://github.com/kmuto/review.gitを入れればOK.

達人出版会の高橋さんがreviewのサンプルをgithubに置いてくれているので,それを使ってテストします.

$ git clone https://github.com/takahashim/review-sample-book.git
$ cd review-sample-book/src
$ review-epubmaker config.yml

問題なければこれでbook.epubができます.pdfの作り方は以下の通り.

$ review-pdfmaker config.yml

但し,review-pdfmaker/epubmakerを連続でやろうとするとbookという作業ディレクトリが残っていて駄目と言われるので,毎回bookディレクトリを削除する必要があります.何かオプションとかあるのかもしれません.

嵌った点として,ReVIEWのpdfはLaTeX経由で作られるのですが,MacPortsから入れていたplatex-utf8ではdvipdfmxできませんでした.LionでビルドしたLaTeX環境だと,jpg画像を含んだdviをpdfにできないという既知のバグがあるそうで...SnowLeopardでビルドした環境ならOKらしい.いつも画像はepsしか使っていなかったので気づきませんでした.

どうせなのでtwitterで話題になっていたTeXLiveのMac版であるMacTeXでLaTeX環境を作りました.作業手順は”MacTeX 2011 で日本語“に書かれている通りに実行するだけで大丈夫でした.

ReVIEWフォーマットはASCIIのEWBをベースに拡張したものだそうです.