読者を章で迷わせない!KDPの目次作成、nav.xhtmlを作成

nav.xhtmlを作成の確認工程を、白い原稿用紙と紫色の半透明装置で抽象的に示したアイキャッチ

KDP向けEPUBのnav.xhtmlは、本文へ進む順番を決めてから作り、各hrefが実在する章ファイルを指すかまで確認します。今回の標本では、見える目次を別ファイルとして残し、本文四章だけをnav.xhtmlの目次にしました。四つのhrefは四つの本文ファイルへ対応し、記事固有Stage 4はローカル構造の範囲でpassedです。KDPや実機でのタップ移動は別に確認します。

nav.xhtmlは四つのhrefを本文四章へ結ぶ

nav.xhtmlはEPUBナビゲーション文書です。EPUB 3.3仕様では、epub:type="toc"を持つナビゲーションが主要な目次を示します。読者を章で迷わせないためには、項目が存在するだけでなく、本文の読む順番に並び、それぞれのhrefが正しい章へ解決する必要があります。

この記事では、見える目次と端末メニューの役割説明を中心にしません。作成されたnav.xhtmlを開き、四つのリンクを本文四章へ接続できるかというファイル単位の検査に絞ります。

見える目次と本文四章を分けた標本

標本は、見える目次ファイル一件と本文四章です。見える目次側には四つの照合マーカー、本文四章には合計12件の固定マーカーを入れました。期待するnav.xhtmlは本文四章だけを載せ、見える目次ファイル自体は項目にしません。

開始値は次のとおりです。

見える目次を本文として残すことと、nav.xhtmlのtocへ載せることは別の設定です。

nav.xhtmlを作って検査する一般手順

最初に本文四章の順番と正式な見出しを確定します。次に、見える目次を論理目次へ含めるかを決め、EPUBを生成します。展開したnav.xhtmlでepub:type="toc"の一覧を見つけ、項目数、表示名、順番、hrefを表にします。

続いて各hrefをnav.xhtmlの位置から解決し、対象XHTMLが存在するか、期待した本文マーカーを含むかを確認します。ファイル名が似ていても、実在しない相対パスや別章を指していれば不合格です。最後にAmazonの対応原稿形式を確認し、Kindle Previewerまたは対象端末で四項目を実際に操作します。

四項目と四つのhrefをローカルで確認した

記事専用の検証作業場で、見える目次と本文四章を選択し、見える目次を--exclude-from-toc 1で生成対象から除外しました。シリーズと巻を設定し、出力計画を確認してEPUBを出力し、inspect後にnav.xhtml、NCX、本文XHTMLを展開しました。command_countは9です。

結果はvalid=true、spine=8、欠落画像0件でした。navとNCXは存在し、各4項目です。nav.xhtmlのhrefはp002.xhtml、p003.xhtml、p004.xhtml、p005.xhtmlの四つで、重複はありません。見える目次側のマーカーは4件、本文側の固定マーカーは合計12件でした。四つのhrefは期待した四つの本文ファイルへ対応しています。

この結果により、nav.xhtmlの作成とローカル参照先検査はpassedです。これはEPUB内部構造の合格であり、KDP端末での表示やタップ動作の合格ではありません。

外部表示は除外し、壊れたhrefへ戻る

今回未確認なのは、KDPの受理、Kindle Previewerや実機の端末メニュー、四リンクのタップ移動、全リーダーでの表示です。失敗時の戻し先は具体的に分けます。

Rune Studioはnav.xhtmlを含むEPUBを生成する

現行Mac版Rune StudioのEPUB 3出力ウィザードでは、原稿、章順、目次掲載、書誌情報を設定し、出力計画を確認できます。生成物にはEPUBナビゲーション文書、NCX、パッケージ文書、本文XHTMLが含まれます。これはRune Studioの商品ページと製品資料で確認できるStage 3の公開機能です。

四項目、四つの異なるhref、見える目次マーカー4件、本文固定マーカー12件は、今回の専用標本で観測したStage 4です。一般仕様、製品の公開機能、記事固有の実測、外部端末の未確認範囲を別々に扱います。

結論:四つのリンク先を確認してから端末で試す

nav.xhtmlは、本文四章の順番と四つのhrefを対応させて作ります。今回の標本では見える目次を項目から除外し、p002.xhtmlからp005.xhtmlまでの四つの異なる本文ファイルを指すnav.xhtmlを確認できました。ローカル構造はpassedです。次の工程では、同じ四項目をKindle Previewerまたは実機で操作し、読者が実際に正しい章へ移動できるかを別判定します。