EPUB目次自動作成機能を大幅に強化! CAS-UB V2.2 を正式版としました。

11月28日にCAS-UB V2.2を正式版としました。バージョンアップで強化したポイントの一つがEPUB目次の自動生成機能です。

EPUBの目次関連機能には、次の3つがあります。

1.ナビゲーション目次 
2.本文目次
3.ランドマーク

EPUB3に上の3つの目次を用意して、たとえば、Readiumで表示しますと次の図1、図2のようになります。

スライド3
図1 ナビゲーション目次と本文目次を表示

スライド4
図2 ランドマークを表示。ランドマークで本扉を選択

1.ナビゲーション目次について

  • EPUB3の正式な目次(必須)です。
  • ナビゲーション目次の表示方法はEPUBリーダー依存になります。多くのEPUBリーダーは専用のパネルに表示します。
  • ナビゲーション目次にレイアウトを指定したとき、その表示はEPUBリーダー依存です。多くのリーダーは横書きのみですが、例えばiBooksは縦組みでも表示できます。多くのリーダーではナビゲーション目次にはルビや文字の装飾はできません。このようにナビゲーション目次の表示は、EPUBリーダーによって、まったくばらばらです。
  • CAS-UBは、記事のタイトルおよび記事の見出しを集めてナビゲーション目次の内容を作ります。この内容を論理目次と呼びます。(ナビゲーション目次は入れ物であり、論理目次はその内容という考え方です。)
  • 論理目次に、どのレベルの見出しまで含めるかを、「生成」-「一般」のメニュー、記事のタイトルのみ~レベル5の見出しまでの範囲で指定できます。
  • このとき、見出しと目次に、番号を自動的に付与することができます。番号の形式は、「生成」-「その他」で指定します。
  • ナビゲーション目次の内容として、論理目次の代わりに、ランドマーク(後述)を割り当てることもできます。

2.本文目次について

  • 通常の記事と同じ扱いの目次です。
  • レイアウト機能は、本文と同等になりますので、縦組み、ルビ、縦中横、文字の飾りなどは本文同様の指定ができます。EPUB3リーダーであれば、縦組み、ルビなど表示可能でしょう。
  • CAS-UBのV2.2では、本文目次を自動生成する機能を新規に追加しました。本文目次を作るかどうか、また、目次にどのレベルの見出しまで含めるか、などは論理目次の生成と同様です。
  • 本文目次は手作りできます。その場合、「記事の種類」に「ユーザー作成目次」を指定します。但し、手作りの目次(「ユーザー作成目次」を指定した記事)がある場合は、本文目次を「作成する」にしても、実際には作成しないで、手作りの目次を優先します。

3.ランドマークについて

  • ランドマークに設定する項目は決まっていませんが、『EPUB3 Best Practices』(EPUB3の仕様策定者が書いた解説本)によりますと、本の大きな構成部分をあらわすことになっています。
  • ランドマークを表示できるEPUB3リーダーは、Readium位です。あまり多くありません。
  • CAS-UBでは、ランドマークには、カバー(表紙)、本扉(オープニング)、目次(本文目次)、参考文献、索引を指定します。但し、該当する記事が存在しない場合は、指定しません。

1~3によって、EPUB3で指定することのできる目次機能を自動的に作る機能の使いこなしができるようになりました。

あとは、ページリスト・・・。PDFの生成結果とリンクするページ番号を自動的に入れることができると良いのですが、AH Formatterに生成結果のページ番号を出力する機能があったかナ? 忘れてしまいました。 なければ作ってもらうということですが・・・ 

EPUBのナビゲーション目次とランドマークの使い方の再検討が必要。

従来の紙の本では、目次は通常1箇所、書籍の先頭の方に配置する。目次を読めば書籍の大よその構成を理解することができる。紙の本では現在読んでいるページと目次のページは簡単に行き来できる。

EPUBでは、紙の本における目次と類似の機能は、次の二つを使うことができる。

1.ナビゲーション目次
2.目次ページ

1.ナビゲーション目次

ナビゲーション目次は、EPUB2ではNCX形式で作成した目次である。EPUB3でNCXが廃止となり、HTML5のnav要素を使って同様の内容を表現するようになった。「Kindle Publishingパブリッシング・ガイドライン」などは論理TOCと表現している[1]。

多くのEPUBリーダはナビゲーション目次を表示する専用のパネルまたはウインドウをもっている。

ナビゲーション目次の長所は専用のパネルで表すので、現在開いて読んでいるページから目次ページに遷移することなく表示できることである。但し、これはEPUBリーダによって異なり、例えばiBooks3.1ではナビゲーション目次を表示するときもページを遷移する必要がある。

ナビゲーション目次の欠点はパネルの表示レイアウトがEPUBリーダ毎にてんでんばらばらであることだ。iBooks3.1のように縦書き表示できるものもあるが、Kindleのように横書きしかできないものもある。レイアウト機能は低レベルである。例えば、iBooks3.1は縦書きができるが縦中横は指定できない。また、ルビなどを使えないものも多い。

2.目次ページ

目次ページは本文ページと同様に書籍を前からめくっていくと表示するページである。

この長所は、本文ページと同様のレイアウト指定ができることである。CSSスタイルシートを駆使すればかなり見栄えの良いレイアウトもできる。また、目次ページの見出しと本文ページの見出しに相互のリンクを張るような作り方もできる。

欠点は、目次ページを表示するためには、現在読んでいる本文ページから目次ページに遷移する必要があることだ。
マルチウインドウのEPUBリーダができれば、両方表示できるだろうが、まだマルチウィンドウのEPUBリーダは見当たらない。

3.ランドマーク

EPUB3ではナビゲーション目次と同じファイル中に、ランドマークを記述することもできる。ランドマークとは、表紙、目次、奥付け、などの書籍の構成を表す一般的なパーツの並びを示したものである。

4.サンプルEPUB

次のところにナビゲーション目次、目次ページ、ランドマークを設定したEPUBファイルのサンプルを作成した。

EPUBサンプル3.3 Landmarksを指定したEPUB3を参照。

このEPUBファイルはKindlepreviewerでは次の図のように表示される。

KindleLandmark
※Kindlepreviewer2.9では、NCX表示メニューでナビゲーション目次(epub:type=”toc”)の内容を表示する。

5.ナビゲーション目次に盛り込む項目の再検討が必要

現在販売されているEPUB版電子書籍ではナビゲーション目次と目次ページの扱いが版元によってばらばらになっている。このことは過去にブログでも指摘した[2]。

ナビゲーション目次(epub:type=”toc”)をランドマーク(epub:type=”landmarks”)のように使うことがある。例えば、電子書籍出版社協会の「電書協 EPUB3制作ガイド」(V1.1.2)では次のようになっている。

○ナビゲーション目次(p.26)
・リンク項目やリストの階層構造は作品内容により変更
・版元から特に指示がないかぎり、カバーページ、目次ページ、奥付けページへのリンクのみとする。

ナビゲーション目次の既定値になっている3項目は、EPUB3のランドマークで指定できる項目である。このようにナビゲーション目次にランドマークのみを表示すると、ナビゲーション目次の現在読んでいるページを開いたまま本の全体を目次でみることができるという長所が生きてこない。現在読んでいるページから目次ページに遷移して、そこでさらにEPUBで読みたい箇所にジャンプするということが必要で、ナビゲーション操作が煩雑になり、EPUBを参考資料として使いにくくなる。

EPUBの欠点の一つは柱を表示できないことである。このため、ユーザーは現在どの場所を読んでいるのかが非常に分かりにくい。これを解消するのは今のEPUBの機能のみではなかなか困難であるが、ナビゲーション目次を使うことが一つの解決策となるだろう。

こうした点を考慮するにつれ、ナビゲーション目次に本文のアウトラインを詳しく示す方が良いのではないかと考えている。

カバーページ、目次ページ、奥付けページはランドマークで表すことができるので、ナビゲーション目次を使う必要はない。

EPUBリーダでランドマークの表示機能の充実しているものは、まだ少ないようだが、ナビゲーション目次とランドマークの使い方については考え直す必要があると感じている。

[1] 「Kindle Publishingパブリッシング・ガイドライン」2013年3月版 p.17 3.3.1.1
[2] ナビゲーション文書と目次の使い分けについて検討する―EPUB3をiBooksで読むとき
[3] EPUBのナビゲーションを理解しよう

ナビゲーション文書と目次の使い分けについて検討する―EPUB3をiBooksで読むとき

EPUB3にはナビゲーション文書が必須である。これはHTML5のnav要素を使って作成し、電子書籍リーダのナビゲーション用のパネルに表示するものである。EPUB2のときはNCX形式で作っていたものの後継であり、論理目次という言い方をすることもある。ここでは、EPUB3のnav形式のファイルを「ナビゲーション文書」という[1]。

一方、本文の見出しを取り出してリストにして並べ、リストの各項目から本文の当該見出しへのリンクを張ったXHTML5文書を作成して、この文書をEPUB3の本文内容文書のひとつとして扱うこともできる。これを「目次文書」という。目次文書はEPUB3リーダからみたら本文の一部であるが、読者からみたら目次の役割を果たす。このようなものを視覚的な目次という言い方もできるかもしれない[2]。

ナビゲーション文書はXHTML5形式であり、書籍本文の文書と同じようにspineに登録すれば、「目次」として使うこともできる。つまりナビゲーション文書は目次文書としても使うことができる。そうではなく、目次文書をナビゲーション文書と別に用意することもできる。

そこで、ナビゲーション文書と目次文書の関係について、次の点について調べてまとめてみた。

1.実際のEPUB電子書籍におけるナビゲーション文書と目次文書の使い分けはどうなっている?
2.ナビゲーション文書を目次文書としても使うとすると、ルビや縦中横などのマークアップやCSS指定は使えるのか?
3.ナビゲーション文書に、ルビや縦中横を指定したとき、EPUBリーダではどのように表示されるか?

1.ナビゲーション文書と目次文書の使い分けの実態は?

ナビゲーション文書と目次文書をどのように使い分けたら良いだろうか? ナビゲーション文書と目次を兼用するのが良いのか、それとも違うものにするのが良いのか。これを考えるため、先日開店したiBookstoreで販売されているEPUB版電子書籍のサンプルをダウンロードして調べてみた。今回調べたのは、リフロー型本文縦書きのフィクションとビジネス/マネーに分類されている25種類の電子書籍である。結果は次の通りとなった。

出版社によってナビゲーション文書と目次文書の使い分けがまったくばらばらになっていることがわかる。

(1) ナビゲーション文書が縦組みの書籍は16種、横組みの書籍は9種。

(2) ナビゲーション文書と目次文書の両方があるもの14種、目次文書がない(ナビゲーション文書のみの)もの11種。

(3) 両方がある14種中で、その項目が同じもの4種、異なるもの10種であった。現状では、ナビゲーション文書を目次文書に兼用しているものがあるとしても少数ということになる。

異なるものはナビゲーション文書は書籍の骨格だけ表現し、目次文書でより詳しい項目を表現している。例えばここで調べた中では講談社の電子書籍はnavでは表紙、目次、奥付けといった本の骨格のみを現しており、目次文書の方に詳しい項目を示している。

(4) ナビゲーション文書から目次文書へのリンクの状況は次の表の通りである。

リンク有 リンク無し
同じ 0 4
異なる 6 4

図1 ナビゲーション文書に目次文書へのリンクがある

ここで問題なのは、次の図のようにナビゲーション文書に骨格だけを表現しているにも関わらず、ナビゲーション文書から目次文書へのリンクがないものが4種類あること。このような文書では、本文の途中を読んでいるとき、別の項目に移動しようとするとまず目次文書を探して、目次文書から他の見出しに移動するなどの順序になるので、移動が面倒になる。これは改善する方が良いだろう。

図2 ナビゲーション文書に目次文書へのリンクがない

2.ナビゲーション文書に許されるマークアップやCSS指定は?

仮にナビゲーション文書を目次文書として兼用で使うことを考えるとき、ナビゲーション文書にルビや縦中横その他の指定をすることができるだろうか?

EPUB3.0の仕様をみるとナビゲーション文書には、本文のXHTML5と比べて使える要素やその出現順序に制約があるが、リンクのアンカー(a)要素の内容にはXHTML5の任意のフレーズ内容を含めることができるので目次で表現したいことはできそうである。

実際に、アンカー(a)要素の内容に、ルビ(<ruby>被ルビ文字<rp>(</rp><rt>よみ</rt><rp>)</rp></ruby>)、縦中横(<span class="tcy">XX</span>)、強調(<strong>***</strong>、<em>***</em>)、圏点(<strong class="emark">強調+圏点</strong>)、画像(<img alt="***" src="images/XXX.jpg"/>)を指定して、EPUBCheck3.0で検証してみたが、特にエラーにはならなかった。

3.ナビゲーション文書と目次文書はリーダでどのように表示されるか?

ナビゲーション文書のアンカーの内容にマークアップしたとき、それがEPUBリーダのナビゲーション用のパネルでどのように扱われるか。ナビゲーション文書に2.項の指定をした文書をiBooks3.1のナビゲーション用パネルで表示した結果と、目次文書として表示した結果を比較すると次の結果となった。

マークアップ iBooks3.1 a
専用目次 本文(spine)
縦書き
縦中横 ×
ルビ
強調(Strong) ×
圏点 ×
斜体(em) ×
イメージ(img) ×

図3 ナビゲーション文書の表示

図4 目次文書の表示

ここではナビゲーション文書と目次文書は同じものである。ナビゲーション文書としてみると縦書きとルビしか有効でないが、目次文書として表示するときは本文扱いになり、マークアップとレイアウト指定がすべて有効になる。

アラビア数字に縦中横を指定すると目次文書では指定どおり縦中横になるが、ナビゲーション文書では縦中横が解除されて1文字ずつ正立している。

ナビゲーション文書では1桁または3桁以上のアラビア数字は1文字ずつ正立するものが多い。しかし、横倒しになるものもあり基準が不明である。なお、これらは目次文書ではすべて横倒しになる。

[1] EPUB3のナビゲーション文書が準拠すべき規則は、2.2 EPUB Navigation Documentsにある。簡単なメモはこちら:EPUB ナビゲーション文書の仕様について メモ
[2] EPUBのナビゲーションを理解しよう