入力漏れを防ぐ!EPUBのページ順、タイトル・目次・本文・奥付の並び

タイトル・目次・本文・奥付の並びの確認工程を、白い原稿用紙と紫色の半透明装置で抽象的に示したアイキャッチ

EPUBのページ順を整える答えは、見えているページを一列に並べることではなく、パッケージ文書のspineに「タイトル→本文内目次→本文→奥付」という読む順番を持たせることです。今回の標本では、本文3章と奥付用ファイル1件をタイトル位置0・目次位置1で出力し、生成後のspineがtitle.xhtml、nav.xhtml、p001.xhtml〜p004.xhtml、colophon.xhtmlの7資源になったことを確認しました。目次の項目数ではなく、一冊を前から送ったときの順序を検査する記事です。

答え:ページ順は目次項目ではなくspineで決める

EPUBには、読者が選ぶ目次リンクと、閲覧ソフトがページ送りに使う読む順番があります。前者はEPUBナビゲーション文書、後者はパッケージ文書のspineが担います。そのため「目次が3項目ある」だけでは、タイトルや奥付が適切な位置にあるとは判断できません。

一般的な確認手順は、まず収録したい役割をタイトル、目次、本文、奥付に分け、次に本文の章順と目次掲載対象を決め、最後に生成物のspineと目次リンクを別々に照合することです。完成EPUBのXHTMLを直接並べ替えるのではなく、章順や目次掲載を管理している元データへ戻せる状態を保ちます。

標本:本文3章と奥付1件を五つの役割に分ける

記事固有の標本は、作品名「五区分順序 STUDIO-430」、著者「Rune Verification」、出版社「Evidence Press」、横書き、日本語、単巻0、版1.0、発行日2026-08-31です。入力は本文01〜03の3ファイルと99-colophonの1ファイルで、表紙画像は使っていません。

この標本でいう五つの役割は、タイトル、本文内目次、本文、奥付用入力、生成される奥付です。ただし五つの役割が、そのまま五つのファイルになるわけではありません。本文は3章あるため、生成後に観測するspine資源は合計7件になります。ここを混同すると、役割数とファイル数の差を「重複」や「欠落」と誤判定します。

開始値ではタイトル位置を0、目次位置を1に指定し、4番目の入力である99-colophonを目次から除外しました。期待する目次は本文3章だけです。表紙を使わないことも開始条件であり、出力後に画像0件であっても、この標本では欠落ではありません。

操作:章順と目次掲載を固定して出力する

製品に依存しない作業では、原稿一覧に通し番号を付け、目次へ出す章と出さない付帯ページを明示します。出力後は、読む順番をspine、リンク一覧をnav、旧環境向けのリンク一覧をNCXで照合します。どれか一つが合わなければ、生成物を直接直さず、章順または目次掲載の設定へ戻ります。

今回のRune Studio操作では、作品情報と版情報を設定し、本文3章と99-colophonを選択しました。タイトル位置0、目次位置1、目次除外対象4を指定して出力計画を確認し、export、inspectの順に実行しました。検査ではパッケージ文書のspine、nav.xhtml、NCX、欠落資源を個別に読みました。

この順序で大切なのは、奥付用入力を読む順番から消すことと、目次から外すことを同じ操作だと思わないことです。今回の設定は4番目の入力を目次から除外しましたが、spineにはp004.xhtmlとして残り、その後ろにcolophon.xhtmlも生成されました。目次非掲載は「本から削除する」という意味ではありません。

実測:spine 7、目次3項目、欠落0を確認した

記事別Stage 4はstatus=passed、操作数は9でした。ローカル検査はvalid=true、spine_count=7、image_count=0、missing_images=0、has_nav=true、has_ncx=trueです。spineの順序はtitle.xhtml、nav.xhtml、p001.xhtml、p002.xhtml、p003.xhtml、p004.xhtml、colophon.xhtmlでした。

navとNCXは各3項目で、navのリンク先はp001.xhtml、p002.xhtml、p003.xhtml、NCXの参照先はText/p001.xhtml、Text/p002.xhtml、Text/p003.xhtmlでした。本文3章だけが目次に並び、4番目の奥付用入力は読む順番に残りながら目次から外れています。結果値にはbody_chapters=3、colophon_position=4も記録されています。

一方、操作時にはタイトル位置0・目次位置1を指定したものの、記事別結果の要約値はtitle_position=null、toc_position=nullでした。実際のspineでタイトルとnavが先頭にあることは確認できますが、この要約値から位置設定が保存されたとまでは断定しません。位置情報を別工程で再利用する必要がある場合は、出力計画または設定記録へ戻って確認します。

別に行った共通Stage 4では、4章、横書き、版1.0の検証本がspine=8、画像1、欠落0、navあり、NCXあり、valid=trueでした。これはRune Studioの共通生成経路を確認した9操作であり、表紙なし・本文3章の今回の標本を置き換える結果ではありません。

限界:表示順とストア受理はローカル検査だけでは決まらない

valid=trueが示すのは、専用の複製から生成したEPUB内部のローカル構造検査に通ったことです。KDPへの登録・審査、販売ストアでの変換、Kindle Previewer、実機でのページ送り、全リーダーでの表示一致は確認していません。画像0件も、表紙なしという開始値に対応する観測であり、表紙付きEPUBの合格根拠には使えません。

失敗時の戻し先は症状で分けます。タイトルまたは目次が先頭にない場合は位置指定と出力計画、本文3章の順序が違う場合は原稿一覧、奥付が目次に出た場合は4番目の目次掲載設定、spineに資源がない場合は入力選択と出力ログへ戻ります。title_positionやtoc_positionの値が必要なのにnullなら、spineの見た目だけで補完せず設定記録を取り直します。

Rune Studioの範囲:設定からEPUB 3構造を生成する

EPUB 3.3仕様では、パッケージ文書のmanifestとspine、EPUBナビゲーション文書に異なる役割があります。これは一般仕様の説明で、特定製品の画面名やストア合格を定めるものではありません。

Rune Studioの公開資料で確認できる製品範囲は、Mac版のEPUBウィザードで作品情報、巻、原稿、章順、目次掲載、表紙、発行日を設定し、XHTML本文、タイトル、目次、奥付、nav.xhtml、旧リーダー互換用NCX、content.opfを含むEPUB 3を生成することです。今回のStage 4はその生成物をローカルで測った結果であり、公開機能の説明と実測値を分けて扱います。現行製品の案内はRune Studioの商品ページで確認できます。

結論:七つのspine資源を役割順に照合する

EPUBのページ順で確認する中心は、本文内目次の件数ではなくspineです。今回の表紙なし標本では、タイトル、nav、本文3章、奥付用入力、生成奥付の順で7資源が並び、目次には本文3章だけが残りました。役割数、spine資源数、目次項目数を別々に数えると、入力漏れと意図した非掲載を区別できます。

本番へ広げる前に、spineの順序、nav/NCXの3リンク、欠落0を同じ生成物で確認します。この記事が扱うのは一冊全体の読む順番です。本文内目次と端末メニューの違いそのものは別の検索意図であり、ここではページ順の合否へ混ぜません。