Hatena::ブログ(Diary)

文書遊戯 このページをアンテナに追加 RSSフィード Twitter

2011-10-02

DITA4Publisherで生成したEPUBにSigilで手を加えてみた

| 22:51 | DITA4Publisherで生成したEPUBにSigilで手を加えてみたを含むブックマーク

EPUBに期待するところもあって、DITA4PublisherによるEPUB出力を実用に近づける努力をしてみた。とはいっても、DITA4Publisherをカスタマイズするのではなく、DITA4Publisherが出力したEPUBをSigilを使って編集。DITA4Publisherのカスタマイズは出力すべきものが決まってからということで(いつになるか分かりませんが・・・)。

私的な都合で、EPUBを読む環境はiBook(iPadとiPod Touch)に限定。ちょうど作業を始めたタイミングで、iBookが1.3.1にバージョンアップされた。このバージョンアップの改善項目なのかどうか今一つ自信がないが、以前から問題に思っていたいくつかの点がクリアされた。

【問題だった点】

  1. ソースコードがディスプレイの端で切れてしまう→ディスプレイの端で折り返されるようになった
  2. ハイパーリンクでブック内へジャンプした後、元のページに戻れない→画面左下に、元のページに戻るリンクが表示されるようになった(下図参照)

[2011.10.3追記] 1.はiBook 1.3.1へのバージョンアップによる改善項目ではありませんでした。CSSの設定によって、ディスプレイ幅に収まりきらない整形済みテキストの、表示のされ方が変わります。

f:id:ditahack:20111002221651p:image

1.については、まだ課題が残っている。ディスプレイ端での折り返しと改行の見分けがつかないので、ソースコードの書き方の工夫が必要。この課題は紙にソースコードを印刷する場合と同じだが、EPUBだと紙と違ってディスプレイサイズによって折り返し位置が変わってしまうので厄介だ。

【編集環境】

  • DITA-OT 1.5.3(oXygen Ver13にバンドルのもの)
  • Sigil Ver0.3.4
  • oXygen Ver13

SigilはVer0.4.2が出ているが、動作が不安定でEPUBファイルを読み込めないことがあるので、安定しているVer0.3.4を使用した。oXygen Ver13はスグレモノで、EPUBファイルの編集も可能だ。content.opfの編集はSigil Ver0.3.4ではできないので、oXygenを使って編集した。それなら、Sigilを使わずにoXygenを使ってすべての編集をすればよいものだが、ことEPUBの編集についてはSigilの方が安心感がある。すべてを自分で編集する自信があるならoXygenでもよいのだが、Sigilは難しいことを自動でやってくれるので、無難にEPUBを作ることができる。

【気が付いた点等】

●ナビゲーションリンクの出力制御

DITAコンテンツをXHTMLやHTML Helpに出力したときは、各トピックの末尾にナビゲーションリンクが表示される。EPUBにナビゲーションリンクはそぐわないので、出力を制御する方法がないか調べたら、epub.exclude.auto.rellinksというantパラメーターをtrueにすることで抑制できることがわかった。

CSS

EPUBリーダーがiBookの場合は、XHTMLやHTML Help用に作ったCSSがほぼそのまま使える。

[2011.10.3追記]

TOC

DITAの良いところは、マップが情報全体の構造を表している点にある。しかし、何も工夫をしていない状態のEPUBでは、トピックを読んでいるときにそのトピックがマップのどの位置にあるものなのかを容易に把握することができない。

【サンプルEPUBファイル】

mitsu48mitsu48 2011/10/03 12:59 こんにちはSigilは初めて知りました.
このツールのよいところはePub出力した後のちょっとした処理をWYSIWYGで修正できるところということなのでしょうか.

ditahackditahack 2011/10/03 22:31 Sigilはフリーで使える有名なEPUB編集ツールです。http://tutorial.epubcafe.jp/ などにも詳しい使い方が書かれています。
Sigilを使ってDITA4Publisherが生成したEPUBファイルを編集すると、「ちょっとした処理をWYSIWYGで修正する」以上の恩恵が得られます。例えば、BookIDが自動的に割り振られたり、OCFにパッキングされるファイル群のフォルダ構成が標準化されたりとか。

Connection: close