読者です 読者をやめる 読者になる 読者になる

本好きに送る「電子書籍のつくり方」講座

誰でも 簡単 手作り 電子書籍

電子書籍づくり実践(EPUBの構造 目次を作る1)

今回から2回に渡り、電子書籍の「目次」の仕組みをお伝えします。実際に目次データ作りながら、その構造を理解していきましょう。

本文見出しにidを振る

前回の「スタイル」に続き、今回も本文の見出しに対して「仕掛け」をします。

それは「idを振る」ことです。

この「id」が何なのかは、作業を進めると自然と理解していただけると思いますで、ここで詳しく説明はしませんが、簡単に言えば id = 「本文見出し」と「目次」を関連づけるのに必要なものです。

それでは作業を進めていきましょう。

いままで作り進めてきたEPUBテンプレートの「p-002.xhtml」をエディタで開いていただき、まずは下記の正規表現で検索置換を掛けます。

検索
<h([0-9].+?)>
置換
<h$1 id="toc-X">

この検索置換により、h1、h2 全ての見出しの開始タグに「id="toc-X"」が付与されます。

検索置換で仮idの「toc-X」を振る

上と同じように置換されているのが確認できたら、上書き保存してください。

続けて id="toc-X"の「X」の部分を、連番(0001、0002、0003…)にしていくのですが、ひとつひとつ入力し直すのはしんどいので、ツールを使って作業をします。なお、作業に使うツールはWindowsMacで別となります。

連番を振る作業(Windowsの場合)

「テキスト内の任意の文字を連番に変換するソフト」を使って省力化します。

Replace Tool(フリーウェア)
http://www.vector.co.jp/soft/dl/winnt/util/se478077.html

上記よりzipファイルをダウンロードし、解凍します。

解凍後、フォルダ内の「ReplaceTool.exe」というファイルをダブルクリックして起動すると下記のようなウィンドウが開きます。

Replace Toolの初期画面

次に「p-002.xhtml」の「エンコード」を変更します。

補足

実は今回連番付与に使う「ReplaceTool」というソフトが「UTF-8(BOM無し)」に対応していません。*1

ちょっと手間なのですが一度「UTF-8(BOM付き)」に変更してから連番を付与し、作業完了後「UTF-8(BOM無し)」に再度戻す、という作業が必要になります。*2

「p-002.xhtml」をEmEditorで開き、メニューバーの「ファイル」から「名前を付けて保存」を選択。ファイル名は変えず、エンコードを「UTF-8(BOM無し)」から「UTF-8(BOM付き)」にして上書き保存します。

エンコードを変更したら「p-002.xhtml」を「ReplaceTool」の右の枠内にドラッグ&ドロップします。

Replace Toolへドラッグ&ドロップ

 

次に連番の検索置換設定をします。

文字コードutf-8

検索文字列:toc-X

置換後の文字列:toc-

連番をつける:チェック入れる

開始番号:1

桁数:4

Replace Toolの設定

このようになればOKです。

問題なければ「置換」ボタンを押します。

Replace Toolによる検索置換後

無事連番が振られました。

連番が間違いなく振られたのを確認できたら、文字のエンコードを「UTF-8(BOM付き)」から「UTF-8(BOM無し)」に変更し(元に戻し)、上書き保存します。

連番を振る作業(Macの場合)

次にMacでの連番の振り方を説明します。

Macでは「ドロップレット」という仕組みを使います。

下記よりダウンロード下さい。
https://www.dropbox.com/sh/i2jnvrmaaj2r43g/-3cHOXQ6H_

「renban.app」というファイルがダウンロードできたら、そのアイコンの上に「p-002.xhtml」をドラッグ&ドロップします。

ドロップレットへドラッグ&ドロップ

これで完了です。「p-002.xhtml」をエディタで開くと指定した場所が連番に変っているのが確認できます。

「ドロップレット」とは、それ自体に「連番をどう振るか」の命令が組み込まれており、またそれを実行する仕組みも組み込まれているファイルです。

今日のまとめ

EPUBの構造。今回は本文の見出しにidを振りました。

idは「本文見出し」と「目次」を関連づけるために必要。

idの付与方法

  • 「ReplaceTool」を使う(Windows用)
  • 「ドロップレット」を使う(Mac用)

ともに作業の省力化が目的。

次回は
電子書籍づくり実践(EPUBの構造 目次を作る2)についてお話します。

*1:そのまま連番を付与すると文字化けしてしまいます。

*2:見出しの数が少ない作品であれば、直接「p-002.xhtml」の見出し部分に手入力で連番付与してしまった方が早いかもしれません。