章の境目を狙って分ける!EPUBページ区切りの入れ方

空行を増やして次ページへ送る方法は、画面幅や読書アプリが変わると崩れます。章の境界には、出力処理が理解できる明示的な改ページ記法を置きます。この記事では epub ページ 区切りを、二章候補を持つ固定原稿と二つの記法で検証します。出力後は記法の文字列を探すのではなく、章XHTML、spine、nav、NCXへ変換された結果を読みます。

区切りたい理由を章分割と場面転換に分ける

新しい章を必ず別ページから始める場合と、同じ章の途中で余白を作りたい場合は目的が違います。前者は章構造、後者は組版上の場面転換です。今回は第一章と第二章の境界を作るため、原稿側へ二つの改ページ記法を置いた標本を使いました。

作業前の表には、記法の行番号、直前の末尾文、直後の見出しを書きます。「だいたい章の終わり」ではなく、どの二文の間かを固定します。空行やスペースは判定材料にしません。

原稿側で二つの記法を先に数える

出力前にテキストを検査し、対象の記法が二件あることを確認します。0件なら入力の取り違え、3件以上なら古い試行が残っている可能性があります。各記法を境界表へ結び、意図のないものを削除してから生成します。

記法の表現はRune Studioの現行仕様に合わせます。Markdown一般の空行やHTML断片を代用品にせず、同じプロジェクト内で書き方を統一します。別の変換器へ渡す場合は、その変換器が同じ記法を解釈するか独立に確認します。

引用、リスト、表の途中には不用意に置きません。ブロック構造の内側に記法を入れると、変換器が章境界ではなく本文文字として扱うことがあります。前後を通常段落または見出しにし、記法だけの行として識別できる形を保ちます。

出力後は五つのspine項目を追う

固定EPUBのspineは title、nav、p001、p002、colophon の五項目でした。本文に対応する p001 と p002 が別資源になり、読む順序で並ぶことを確認します。欠落資源は0件でした。

出力XHTMLで改ページ記法そのものが0件でも失敗とは限りません。今回の記法は章分割へ消費され、二つの章資源として表現されています。入力の二記法と出力の二XHTMLを、境界前後の文章で対応させます。

navとNCXの二章を同じラベルで比べる

目次はnavとNCXの両方を読み、各二章、同じ順序、同じリンク先であることを確かめます。spineに章があっても目次から辿れない場合があり、逆に目次だけ残ってリンク先が欠ける場合もあります。

章題を変更したときは、本文見出し、nav、NCXを同じ版で比べます。件数二だけを合格にせず、第一章と第二章のラベルおよびhrefまで一致させます。古い目次を再利用した出力をここで見つけられます。

奥付は本文章と数え方を分けます。spineには含まれても、作品の章目次へ載せない設計が一般的です。今回の五項目にはtitle、nav、colophonも含まれるため、「spine五=章五」と誤読しません。章はp001とp002の二つです。

余分な白紙は境界の両側から調べる

読書アプリで白紙が増えたら、改ページ記法をすぐ削除しません。直前章の末尾に空のブロックや別の改ページ指定がないか、直後章の先頭に余分な区切りがないかを見ます。表紙や章を右ページ始まりにするアプリ設定も別要因です。

修正は一箇所だけ行い、新しいEPUBを出力します。p001とp002の内容、spine五項目、目次二項目を再確認し、別章が結合していないことを確かめます。画面上の白紙だけを消して構造を壊さないための手順です。

意図的な空白ページを使う作品では、境界表にその理由を書きます。紙版の見開きを再現するのか、部扉を独立させるのかで受入条件が変わります。理由のない白紙と設計上の白紙を同じ不具合一覧へ入れません。

リーダーのページ数を固定値にしない

同じEPUBでも文字サイズ、余白、端末幅でページ数は変わります。今回のパッケージ検査は章の境界と読む順序を確認したもので、すべての端末で同じページ番号になることを示しません。ページ番号ではなく「第二章が新しい表示単位から始まるか」を実機で判断します。

実機確認を残すなら、端末、読書アプリ、文字サイズ、画面向きと該当章を記録します。別端末の結果を同じ行へ上書きせず、互換性の標本として追加します。

再検査では第二章の最初の一文も控え、境界を越えた位置を取り違えないようにします。

境界表とEPUB構造をセットで渡す

引き継ぐのは、入力の二記法、境界前後の文章、p001とp002、spine五項目、nav二項目、NCX二項目、欠落0です。XHTML内の記法文字列0は、章分割へ変換された結果として説明を添えます。

Rune Studioの商品情報は対象機能の確認に使い、今回の値は固定EPUBから取得したものとして区別します。販売先の受理、全リーダーでの同一表示、Markdown全仕様への準拠はこの結果に含めません。次の担当者が同じ境界表から二章を再現できれば、空行頼みではない改ページを安全に保守できます。