見出し画像

KINDORU出版:外伝10 ~目次にももっと手を加えたい場合~

前回では、なるべく目次の項目には手を加えずhtml目次のレイアウトを変える方法について検討した。

しかし、それだけではどうやらあまり凝ったレイアウトは行えない。そのうえ目次の項目にルビを入れたいときなどで、「<ruby>」や「<rt>」タグで囲った振り仮名の方も論理目次の方では通常の文字として表示されてしまう、というような弊害もある。

  <li>
    <a href="Section0001.xhtml"><ruby>開始<rt>かいし</rt></ruby></a>
  </li>
かいしかいし。

たかだか目次の項目とは思われるかもしれないが、電子書籍ではユーザーは基本的に本を一ページ一ページと順番にめくっていき、目次を見てから初めてその本の内容を具体的なものとして考え始める。

読者が本のはじめの印象を決めるときにも、この目次の項目は非常に重要な部分となるのではないか。

基本的にハイパーリンクの下線と青文字を変えることはできないが、それでも本を好きなところからパラパラとめくって終盤の展開やあとがきをチラ見するという事の出来ない電子書籍で、ここはなんとしてもよくしておきたい。

そういうわけで、先回よりはほんの少しだけめんどうではあるが、以下に二通り紹介する論理目次とhtml目次を完全に分けて記述するという方法は覚えておいて損はないと思う。

さてその一つ目の方法は、論理目次としての機能を持ち[nav]と表示されているXhtmlファイルを、「.opf」ファイルの<spine>の項目から消すというものである。

これは論理目次ファイルである「nav.xhtml」を、「<spine>」から消した状態のもの。
Textフォルダの中身は基本的にこの中に自動で書かれるが、「nav.xhtml」は消され、「Section0001.xhtml」のみが並ぶ。

以前に説明したように、ここは電子書籍に表示されるファイルの並びを指定する部分だが、[nav]ファイルと指定されているものは、ここから消すと実際の電子書籍の紙面には表示されない。

あとは、その論理目次の内容の「<nav>」タグ内の目次の内容部だけを新しいXhtmlファイルへコピペして、目次のひな形とすると楽である。

今は「開始」という部分しかないが、それなりの長さの本ならば、<a>タグでHyperLinkの指定された項目や、それをリストとして並べてくれているこの部分は、読者に見せるhtml目次のいいひな型になるはずである。

実際の目次をどのように作るかという部分は皆さまの工夫次第だが、ひとまずこの方法によって論理目次とhtml目次を分けて作ることが出来る。

注意点としては、この「nav」をリストから消して非表示にした後、ブックブラウザを並び替えて小説内容を変更した場合、ふたたびSigilの機能によって自動で「nav」ファイルの名前がリストに記されてしまう場合がある。

Amazon提出前にいずれかのプレビューで内容を見れば目次ページが二つ表示されることになるので一目瞭然だが、目次を作った後には並び替えに注意しておくといいと思われる。

余談とはなるが、こうして.opfファイルの表示リストを変えることで本の内容が隠せるのなら、電子書籍には隠しページのようなものが作れるのだろうか。いわゆるゲームブックのような本で、ぺらぺらと普通にページをめくっただけではたどり着かないが、ある個所のハイパー×リンクをクリックするとたどり着けるようなアイデアは面白いかもしれない。

しかし結論から言うと、これは実現できなかった。[nav]ファイル以外のXhtmlファイルを.opfのリストから外しても、本の最後の内容として追加されてしまうだけで、普通にページをめくれば表示されてしまう。

あくまで「<spine>」リストから外して非表示にできるものは、倫理目次となるnav.xhtmlファイルだけらしい。また、そうして非表示にしてしまったこのファイル内へのリンクも無効となってしまう。

では、目次を分ける二つ目の方法。

これも非常に簡単で、もともとの[nav]ファイルの下側の「<nav>」タグがそうであるように、上の「<nav>」タグにも「hidden=""」という記述を加えればいいのである。

この「role="doc-toc"」という文の後に、半角スペースを開け「hidden=""」と記入する。

もともと下の「<nav>」範囲の中の「<h2>ランド―マーク</h2>」という見出しも、「<a ~中略~>目次</a>」というリンク部分も、本文には表示されない。それはおそらく、それらを囲む「<nav>」タグに指定されている「hidden(隠す)」という項目のためだと思われる。

同じように上の論理目次の内容を指定している「<nav>」タグにも「hidden=""」という記述を加えれば紙面の方には非表示となり、他に作った装飾html目次と二重の目次表示をふせげる。

それらhtml目次のほうは、先ほどと同じようにこの中の「<ol>」タグごとそのリストの中身をコピーし、このファイルなり別のXhtmlなりにペーストすれば簡単に骨子を作ることが出来るはずである。

さてこうした目次や書籍内のHyper☆Linkは、その飛びたい先の文書の一部を見出しタグ「<h1~6>」で囲むことで、Sigilにその部分へのリンクを生成してもらうことが出来る。

もしもそのリンクから飛ぶ先の個所がXhtmlファイルの冒頭部なら、「<a href="Section0001.xhtml">」という風に、単にそのファイル名で指定される。

そして、文書の途中にリンク先が挿入される場合では、リンク先の見出しなどに「<h1 id=""sigil_toc_id_1"">」というようにIDが指定され、リンク元も「<a href="Section0001.xhtml#sigil_toc_id_1">」のように「そのファイル+#+ ID」という形で指定される。

ファイル冒頭部へのリンクは一度そのリンクを張ってしまえば、指定した見出しは消してしまっても問題ない(ただしもう一度Sigilの自動目次生成機能を使う場合、見出しは再度設定しておかないとその場への目次は指定できず、上書きされてしまう)。

またこの見出し「<h1~6>」の中は必ずしも文字である必要はなく、「<img>」タグなどで扉絵や見出し画像を指定して目次を作ることは可能である。しかし、画像の場合はその見出しとなる文章がないので目次側のファイルに空の「<a>」タグが生成されてしまう。

  <a href="Section0002.xhtml"></a>

こうした画像をしっかり用意した場合ほどややこしくなってしまうが、しっかりとその「<a>」タグのリンク先を確認し、その個所が分かる目次タイトルを記入していこう。

ファイルの途中にリンクが張られる場合、先ほど述べたようにIDをふることでその場所へのリンクを指定するが、このIDがふられた箇所はそのIDさえ有効であればその後に見出しタグから変えてしまっても問題は無いようである。

しかしその場合でも、読者がリンク元から飛んできて、その場所についたというようななにかしらの目印は必要なように思う。

リフロー型の電子書籍ではページレイアウトというものが行えないため、IDをふった文章箇所でも、その端末の画面と文字の大きさなどによって自動でふられたページの途中に置かれてしまう場合が多い。

本の内容やその全体像を想像できない読者に対しても、リンク元からどこへ飛んで、どこにたどり着いたのかという、混乱の少なくなるような配慮が必要ではないだろうか。

また同様にそうした混乱を減少させるため、Kindleでは本の注釈や出典明記のような、奥付部へのリンクを張る場合、本文からその場所へ飛び、その場所からまた本文へ飛べるような書籍内での相互のリンクが推奨されている。

小説などの設定や登場人物の場合、本文から参照される箇所が複数になるので相互のリンクを張るという訳にはいかないが、自分は確か自著の「the Throne of the Blood」において、上巻か下巻のどちらかあるいはその両方で、論理目次の方だけに登場人物のページへのリンクを張っていたような、そうでなかったような記憶がある。

本の冒頭に必ず見るhtml目次の方にそうした設定の記述箇所のリンクを張っても、おそらく多くの人は使わないだろう。

しかし、本編中に読者が気になった場合メニューから見られる論理目次の方からは、読者が本文中にしおり機能などをつかい確認して戻ってくるということがしやすい。

本文内にリンクを張ったり書籍内にいくつもリンク箇所を設けるというのは、見栄えもよくはないであろうし、実際に誤りなく作るのは非常に大変な作業である。しかし、そうした機能をしっかりと利用することは、読むがわの読書体験を向上させ、確実にあなたの本の内容を伝える助けになるはずである。

その機能を使うことで、どのように読者は読みやすくなるのか。そしてその機能を使ってみて、どのような利点や欠点が予想されるか。

目次やリンクに限らず、こうした視点は持っておいて損はないと思う。

終章へ。


この記事が気に入ったらサポートをしてみませんか?