画像が消える事故を防ぐ!EPUB画像、本文画像・挿絵を正しく入れる手順

原稿と挿絵を移動しても相対パスを保つEPUB画像のアイキャッチ

EPUB本文の画像が消える事故は、画像を挿入した瞬間より、原稿や画像ファイルを別フォルダへ移した後に起きます。主標本 161-1ch-1img-v1 は、chapters/ch01.md と images/fig01.png の一章・一画像です。表紙パスは別の確認行として扱い、主標本の画像数には加えません。これは記事フォルダ側の現行根拠として固定し、共通ルート記事台帳との整合は後工程で行います。本文には相対パスを使い、移動前の参照、画像移動後、原稿移動後、プレビュー、生成後EPUBの五段階を一枚の表で追います。挿絵一枚の参照パスと、同じ画像を説明する代替テキスト古い灯台を使った小さな試験から始めます。

原稿と画像の位置関係を図にする

作品フォルダにchapters/ch01.md、画像フォルダにimages/fig01.pngがあるとします。原稿から画像を参照する一般的なMarkdown記法は![場面説明](../images/fig01.png)です。..は原稿のあるchaptersから一段上へ戻る意味です。

パスは画像の見た目ではなく、参照元ファイルの場所から計算します。同じ画像でも、ルート直下の原稿ならimages/fig01.png、chapters内なら../images/fig01.pngになります。絶対パスや自分のMacだけの場所へ固定すると、作品フォルダを渡した先で見つからない可能性があります。

移動前に参照表を作る

表には参照元、記法、移動対象、移動先、期待する新記法、代替テキストを置きます。たとえばchapters/ch01.md、../images/fig01.png、fig01.png、assets/fig01.png、../assets/fig01.pngです。移動前にプレビューで画像と代替テキスト古い灯台を確認し、移動後にも同じ文字列が残ることを期待値にします。

本文画像と表紙は役割が違います。本文の挿絵参照と、作品設定で指定する表紙パスを別行にします。片方が直ってももう片方が古い場所を向く場合があります。

画像移動と原稿移動を別々に試す

最初は画像だけをimagesからassetsへ移し、原稿の参照が新しい相対位置へ変わるかを確認します。次に原稿ファイル自体をchaptersからdraft/chaptersへ移し、同じ画像を指す相対パスが変わるか見ます。二つを同時に動かすと、どちらの更新で失敗したか分かりません。

移動後は参照文字列、代替テキスト、プレビュー、ファイルの実在を確認します。画像を移動した後も、原稿を移動した後も、代替テキストが古い灯台のままかを同じ確認表で追います。プレビューだけでは、古いキャッシュや別の同名画像を見ている可能性があります。Finder上の場所と参照先を対応させ、生成物でも同じ文字列が対応する画像の説明になっているかを確認します。

五段階の確認表は次のように固定します。

段階 参照元・場所 参照パス 移動前の代替テキスト 移動後の代替テキスト 次に確認するもの
移動前 chapters/ch01.md ../images/fig01.png 古い灯台 — 画像と説明が対応すること
画像移動後 chapters/ch01.md ../assets/fig01.png 古い灯台 古い灯台 新しい実ファイルと参照が対応すること
原稿移動後 draft/chapters/ch01.md ../../assets/fig01.png 古い灯台 古い灯台 原稿の移動後も同じ画像・文字列であること
プレビュー 移動後の原稿 表の最新パス 古い灯台 古い灯台 表示画像と代替テキストが同じ対象を指すこと
生成物 生成したEPUB パッケージ内の参照 古い灯台 古い灯台 閲覧時も同じ画像と文字列を追跡できること

画像移動後と原稿移動後でパスだけが変わり、代替テキストが変わらないことを確認します。プレビューと生成物では、画面に画像が出たかだけでなく、同じ古い灯台がその画像の説明として保たれているかを確認します。どこかで文字列が変わったら、その段階の入力へ戻り、別の画像を見て合格にしません。

更新対象と除外対象を理解する

現行Mac版Rune Studioの資料では、txt、text、md、markdown内の画像・リンク参照を対象に、画像などのファイル移動と、参照元ファイル自体の移動に応じたパス更新が記載されています。../を含む相対参照と、旧ワークスペースルートからの解決を試すフォールバックも範囲です。

外部URLとページ内アンカーは更新対象から除外されます。これは正しい除外です。https://のリンクをローカル移動に合わせて変えると外部参照が壊れ、#sectionは同一文書内の位置を示すためです。あらゆるURL形式や任意の記法を更新するとは言えません。

開いている原稿と閉じた原稿を分けて確認する

資料では、開いているタブと閉じた参照元ファイルの双方を更新対象にし、閉じたファイルは元の文字コードを保つ処理が記載されています。開いたタブに未保存変更がある場合は、移動前に保存方針を決めます。更新後は一つの開いた原稿と一つの閉じた原稿を選び、参照を読みます。

文字コード保持は閉じた対象の保存処理に関する機能です。すべての文字コード変換が無条件に安全という意味ではありません。重要原稿は差分とバックアップも用意します。

表紙と削除警告も検査する

作品設定の表紙パスもファイル移動に追従することが資料に記載されています。本文挿絵だけを見ず、表紙の指定と生成前確認を読み直します。画像を削除する場合は、参照が残るときの警告を確認し、警告を無視して削除しません。

削除と移動は違います。移動は新しい参照先がありますが、削除後は代替画像、参照記法の削除、削除中止のどれかを選ぶ必要があります。警告は作品の判断を代行しません。

Stage 3の範囲に限定する

以上はRune Studioの公開機能資料で確認できる機能範囲の説明です。今回のfig01.png移動を実際に完遂した記録ではなく、すべてのMarkdown方言、HTML、CSS、外部EPUBの参照を自動修復するという主張でもありません。対象拡張子と除外条件を守って試します。

相対パスを確認するときは、本文に書かれた文字列、移動後の実ファイル、プレビューで読み込まれた画像の三つを別々に見ます。images/fig01.pngが残っていても、実ファイルの場所や大文字・小文字が違えば表示できないことがあります。反対に、プレビューに出ても、原稿の参照が期待した形に更新されていない場合があります。

一枚の画像を同じ階層へ移動する試験と、一つ上の階層へ移動する試験を分けます。前者で通ったから後者も安全とは限りません。外部URLとページ内アンカーは対象外として残し、更新されなかったことを失敗と数えないことも重要です。

確認表には、移動前のパス、移動後のパス、参照元、移動前後の代替テキスト、プレビュー結果、生成物結果、戻り先を記入します。削除を伴う場合は、削除前のバックアップ名も残します。代替テキストが一致していても実ファイルが違えば未確認、画像が表示されても文字列を追えなければ未確認とします。

外部URL、同じ作業場の資料、ページ内見出し、本文画像の相対パスを同じテスト原稿に記述した編集画面
外部URL、同じ作業場の資料、ページ内見出し、本文画像の相対パスを同じテスト原稿に記述した編集画面。

次に行う操作:一章・一画像を五段階で追跡する

次に行う操作は、固定標本 161-1ch-1img-v1 の第一章 chapters/ch01.md と一枚の画像 images/fig01.png だけを対象にします。代替テキストは 古い灯台 として、移動前、画像移動後、原稿移動後、プレビュー、生成物の五段階で、参照元・相対パス・実ファイル・代替テキスト・戻り先を同じ表へ記録します。表紙のパスは本文画像一枚の件数へ足さず、別の確認行で照合します。第二章や二枚目の画像を追加せず、五段階のどこかで不一致が出たらその段階の正本へ戻り、同じ一章・一画像の版で再確認します。

結論:一枚を二回動かして参照を追う

画像事故を防ぐには、主標本 161-1ch-1img-v1 の一枚の挿絵で画像移動と原稿移動を別々に試し、参照文字列、実ファイル、代替テキスト、プレビュー、生成物を五段階で確認します。古い灯台という同じ代替テキストを移動前、画像移動後、原稿移動後、プレビュー、生成物で追跡し、パスだけが期待どおり変わったことを表に残してください。表紙パスと削除警告は別確認行へ渡します。これは記事フォルダ側の現行標本であり、共通ルート記事台帳との整合は後工程で取ります。一般の相対パス設計と、製品が更新する対象範囲を分けて記録します。

現行Mac版のパス更新範囲は、Rune Studioの商品ページで確認できます。