EPUB: 脚注の作成方法

リーディングシステムによるが脚注を設定することでページ遷移せずに用語の解説や参考文献などの情報を表示できるので便利な機能。
この機能を実装するにあたっていくつか注意点があるのでそちらについて記載しておく。
本文ページから脚注先のリンクを設置する
例えばchapter1.xhtmlという下記のファイルがある。この中に脚注のリンクfootnotes.xhtml#note..を3つ設定している。EPUBで脚注先のリンクであることを示す場合epub:type="noteref"と記載する必要がある。これがないとただのリンク扱いになるので注意。
さらにid="ref1"と記載しているがこちらも必須で脚注先のフラグメント識別子と相互関係を示す必要があり、相互に遷移先を記載する必要がある。この記載がないとリンク扱いとなる。
cahpter1.xhtml
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="ja" lang="ja">
<head>
<title>オープンソースとは?</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<section>
<h2>オープンソースとは?</h2>
<p>この文書で取り上げる「オープンソース」とは、ソフトウェアのソースコードを公開し、利用者や開発者がその内容を確認したり、条件に応じて変更したりできる開発の考え方です。単に無料で利用できるソフトウェアという意味ではなく、ソースコードを共有し、さまざまな人が開発に参加できる点に特徴があります。</p>
<p>オープンソースでは、公開されたソースコードを<a href="footnotes.xhtml#note1" epub:type="noteref" id="ref1">[1]</a>もとに、複数の開発者が改善や修正を行うことがあります。多くの人がコードを確認することで、問題点を発見しやすくなったり、新しい機能が追加されたりする可能性があります。</p>
<p>オープンソースのソフトウェアは、個人が利用するだけでなく、企業や教育機関などでも幅広く利用されています。また、開発者が自分の知識や技術を共有する場としても重要な役割を持っています。</p>
<p>オープンソース開発には、いくつかの特徴があります。</p>
<ul>
<li>ソースコードが公開されているため、利用者はプログラムの仕組みを確認できます<a href="footnotes.xhtml#note2" epub:type="noteref" id="ref2">[2]</a>。ライセンスの条件を守ることで、コードを改良したり、自分の用途に合わせて利用したりできる場合があります。</li>
<li>開発者同士が協力しながらソフトウェアを改善できます。バグの報告や修正案の提案などを通じて、プロジェクトに貢献することができます。</li>
<li>既存のソフトウェアやライブラリを再利用できます。すべての機能を最初から作る必要がなくなるため、開発時間の短縮につながることがあります。</li>
<li>プロジェクトによっては、長期間にわたって継続的な開発が行われます。新しい機能の追加や不具合の修正などが、開発者や利用者によって積み重ねられていきます。</li>
</ul>
<p>オープンソースは、特定のプログラミング言語や開発環境だけに限定されたものではありません。さまざまな言語や分野で利用されており、ウェブ開発、データ処理、OS、データベースなど、多くのソフトウェア分野で見ることができます<a href="footnotes.xhtml#note3" epub:type="noteref" id="ref3">[3]</a>。</p>
<p>また、オープンソースの考え方は、ソフトウェアそのものだけでなく、開発者同士が知識や成果物を共有する文化にも影響を与えています。公開されたコードを読むことから学んだり、自分で改良したコードを公開したりすることで、技術や知識を共有することができます。</p>
</section>
</body>
</html>
本文側で注意する点は以上。次は脚注先のページ作成について解説する。
脚注ページの作成
脚注ページの作成する場合特にファイル名の指定はない。脚注と分かりやすいようにfootnotes.xhtmlとしている。なぜfootnotesなのかというと12. Notes and annotationsに記載されているように脚注の集合体を意味する。
footnotes.xhtml
脚注の場合でも通常の本文のXHTMLファイルと変わりないがbody要素にepub:type="backmatter"と記載します。必須ではないが、脚注という意味で記載しておきます。
続いて epub:type="footnotes"を<section>に記述する。脚注の集合体を意味する。こちらも必須ではないが記載をしておく。
最後にepub:type="footnote"を<aside>に記述する。下記のコードを見るとわかるように一つ一つの脚注等を<aside>~</aside>もしくは<section>~</section>で囲む必要がある。そして相互関係を示すため脚注ページから本文ページへの相対パス(href="chapter1.xhtml#ref1")を記載する必要がある。
相互リンクを設置するのでfootnotes.xhtmlにも要素リンクのid=""を記載すること。
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="ja" lang="ja">
<head>
<title>オープンソースとは?</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body epub:type="backmatter">
<section epub:type="footnotes">
<aside epub:type="footnote" class="note" id="note1">
<p><a href="chapter1.xhtml#ref1">[1]</a>ここでいうソースコードとは、プログラムの動作を記述した、人間が読みやすい形式のコードを指します。公開されている場合でも、利用や改変の条件はソフトウェアごとのライセンスによって異なります。</p>
</aside>
<aside epub:type="footnote" class="note" id="note2">
<p><a href="chapter1.xhtml#ref2">[2]</a>ソースコードが公開されていることと、どのような目的でも自由に利用できることは同じではありません。実際に利用、改変、再配布する際には、対象ソフトウェアのライセンスを確認する必要があります。</p>
</aside>
<aside epub:type="footnote" class="note" id="note3">
<p><a href="chapter1.xhtml#ref3">[3]</a>オープンソースのソフトウェアはさまざまな分野で利用されています。利用方法や開発体制はプロジェクトによって異なるため、それぞれの公式ドキュメントやライセンスを確認することが大切です。</p>
</aside>
</section>
</body>
</html>
以上が脚注リンクの設定方法でした。
参考文献
- EPUB 3 Structural Semantics Vocabulary 1.1
- 13. References 【noteref】