ファイル整理で手戻りしない!EPUBの画像挿入、相対パスを壊さず移動

相対パスを壊さず移動の確認工程を、白い原稿用紙と紫色の半透明装置で抽象的に示したアイキャッチ

挿入位置を確定してから画像を整理する

EPUBへ画像を挿入して後からファイルを整理するなら、先に原稿内の挿入位置、相対パス、代替テキストを固定します。その後に参照件数を記録し、画像移動、参照更新、EPUB収録確認の順で進めます。挿入と移動を同時に行うと、表示されない原因が「記述」か「移動」か分からなくなります。

記事固有の標本は2章、本文画像1枚、表紙なしです。移動前の参照1件を取得し、画像をassets/illustrationsへ移して明示的に書き換えた後は旧0件・新1件でした。出力EPUBは収録画像1件、欠落0件、spine 5、章リンク各2件、valid=trueです。statusはpartialのままです。

標本は1枚を第3段落へ置く設計

企画ではchapter01.mdの第3段落にdiagram01.pngを置き、説明的な代替テキストを付け、chapter02.mdには画像を置かない設計です。実行証拠ではfigure01.pngを同じ1枚の役割で使い、images/figure01.pngからassets/illustrations/figure01.pngへ移しました。

開始値は入力2章、本文画像1、表紙0、移動前参照1です。ただし、result_valuesには第3段落という位置や代替テキストの内容が記録されていません。したがって、それらは設計条件として扱い、今回の実測成功には含めません。

一般手順は「挿入」と「移動」を二段階にする

まず画像を原稿からの相対位置で参照し、挿入位置と代替テキストを目視します。その時点で旧パスの参照数を保存します。次に移動先を作り、画像を1回だけ移し、参照を更新します。最後に旧パス0件、新パス1件を確認してからEPUBを出力します。

旧パスが残る、新パスが2件以上になる、画像が出力へ入らない、のいずれかなら失敗です。参照編集を戻し、画像をimagesへ戻して、挿入済みの1参照からやり直します。

実測は1参照の移動と2章出力をつないだ

Stage 4では、2章と画像1枚を作成し、参照利用箇所と移動計画を確認しました。画像をassets/illustrationsへ移し、1参照を明示的に書き換え、旧新パスを検索しています。その後、シリーズ名・巻数・対象原稿を設定し、計画、出力、検査、package、nav、NCX、XHTML読取まで行いました。command_countは17です。

planned_reference_filesは0であり、今回の1件を自動更新の証拠にはできません。実測は明示的な参照書き換えです。

旧0・新1・収録1を確認した

参照側はreferences_before_move=1、rewritten_occurrences=1、old_path_matches=0、new_path_matches=1でした。出力側はinput_chapters=2、inline_image_files=1、cover_files=0、image_count=1、missing_images=0、spine_count=5、nav_item_count=2、ncx_item_count=2、valid=trueです。

これにより、1参照が新パスへ揃い、1画像が2章のEPUBへ収録されたことは確認できます。第3段落での配置、代替テキストの自然さ、画像の視覚品質は数値からは判断できません。

別の共通Stage 4では4章、画像1枚、version 1.8を出力し、spine 8、欠落0、nav・NCXあり、valid=trueを確認しています。固有標本とは章数が違うため、補助的な別結果です。

partialは挿入品質と自動追従を残す

未確認なのは、企画どおり第3段落に置かれたか、代替テキストが適切か、Finderやクラウド移動で自動追従したか、全リーダーで正しく見えるか、KDPに受理されるかです。valid=trueはローカルパッケージ検査の結果に限ります。

画像1件がパッケージにあることと、読者にとって適切な位置・説明であることは別問題です。後者は目視または実機確認として残します。

Rune Studioの公開機能は作業を支える

Rune StudioのMac版は、Markdown系原稿で画像参照を扱い、ワークスペース内の移動・改名に伴う相対パス更新を支援し、EPUB 3へ画像を収録できます。対応する相対参照には../も含まれますが、外部URLやページ内アンカーは更新しません。

これはStage 3の公開機能です。今回のStage 4で確認したのは、明示更新後の1参照と、ローカルEPUB内の1画像です。

1参照と1収録を揃えてから次へ進む

この標本の終了条件は、旧0、新1、収録画像1、欠落0、章リンク各2、valid=trueです。さらに公開前には、設計どおりの挿入位置と代替テキストを目視します。

相対パスを壊さないコツは、挿入を完成させてから移動工程を独立させることです。今回の数値は参照と収録を支えますが、配置品質と自動追従はpartial境界の外に残ります。