EPUB3.0 では出版物に数式を含めることができるようになりました。そして、EPUBリーダでも徐々に数式を表示できるようになってきました。
数式はMathMLのプレゼンテーションで記述します。簡単なサンプルを作ってEPUBリーダの数式表示機能を確認してみました。
1.MathMLをサポートするEPUBリーダ
(1) iBooks 3.1
(2) Readium 0.9.1 (2013/5/17)
表示例は次のスクリーンショットを参照。
2.MathMLをサポートしていないEPUBリーダ
(1) Adobe Digital Editions 2.0
MathML数式はサポートしていないようです。
(2) KindlePaperwhite
表示例は次のスクリーンショットを参照。
3.MathMLの記述の注意事項
(1) 数式を含むXHTMLファイルにはmath要素に名前空間を指定すること。
例)<math xmlns="http://www.w3.org/1998/Math/MathML">
・名前空間を指定しないと、EPUBチェック3.0ではエラーになります。
Readiumでは名前空間を指定しなくてもMathMLを表示することができます。しかし、iBooksでは名前空間を指定していないMathMLを表示することができません。
(2) OPFファイルには、数式を含むXHTMLファイルを参照するitem要素にはproperties="mathml"を指定すること。
例)<item href="201305211138.xhtml" id="id201305211138" media-type="application/xhtml+xml" properties="mathml"/>
4.MathMLの表示:ブロック数式とインライン数式
(1) 数式にはディスプレイ数式とインライン数式がある。ディプレイ数式には、math要素にdisplay=”block” を指定すること。
(2) ReadiumとiBooksともに、display=”block” を指定するとデフォルトで中央揃えになります。
特にReadiumは、display=”block” の有無で添え字の位置を切り替えています。iBooksは添え字の位置が変わりません。
5.テストデータの説明
テストデータは次からダウンロードできます。
(1) math-test-a.epub
math要素に名前空間を設定していない例を含んでおり、EPUBチェック3.0でエラーになります。
(2) math-test-b.epub
math要素に名前空間を設定していない例を削除しています。EPUBチェック3.0でエラーは報告されません。
CAS-UBは次のバージョンで数式のオーサリングを正式にサポートする予定です。しばらくお待ちください。