FormatterClub 2017 ―冬― セミナーのご案内

12月8日開催の『AH Formatter』や XSL、CSS、XML 多言語組版について会員交流の場「FormatterClub」のセミナーにて、公開予定の CAS-UB V5 新機能を紹介します。

セミナーお申し込み:http://www.kokuchpro.com/event/AH_winter/

<<CAS-UB V5 すこしだけ紹介:新機能>>

━━━━━━━━━━━━━
●Web生成機能を強化●
━━━━━━━━━━━━━

■目次ページのレスポンシブ対応
——————————-
スマホ用では目次アイコンを作成して、目次アイコンタップによる目次表示ができるようになりました。

■出版物全体での全文検索
————————
1冊まるごとからの全文検索ができるようになりました。
html ファイル毎に検索する手間がなくなります。

■タイトルページ
————————
出版物の Web ページの表紙に代わるページとしてタイトルページを生成できるオプションを追加しました。

━━━━━━━━━━━━━━━━━━━━
●テキスト形式のエクスポート機能を追加●
━━━━━━━━━━━━━━━━━━━━
ブラウザ越しの長期時間編集もラクではありません。
V5 では、そうしたブラウザ上の編集記事をテキスト(UB テキスト)としてエクスポートし、外部テキストエディタで編集、再アップロードできるようにしました。

†UB テキスト†
出版物を構成する単位である記事について、全ての記事または一部の記事を一つに結合したテキストファイルのこと。
出版物の構成とツリー構造を表現でき、各記事の内部は、CAS 記法でマークアップすることができます。

┏━┓
┃★┃ FormatterClub 2017 ―冬― お申込み詳細
┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 開催日時: 2017年12月8日(金)14:00~18:30
 会  場: 中央区月島区民館
   東京都中央区月島二丁目8番11号
 詳細・お申込みURL: http://www.kokuchpro.com/event/AH_winter/

MathMLの未来を考える―(1)現状の整理

MathMLが今後どのように普及するか、未来を考えてみたい。このため、まずは、2017年11月時点での現状を整理してみる。

1. MathMLの作成
○数式エディタ
デザインサイエンス社のMathTypeは数式専用のエディタであり、編集した数式をMathMLで出力できる。MathTypeをWord、Pages、iBooksAuthorなどのワープロに組み込んで使える。

○WordのOOXMLから変換
Microsoft Wordはバイナリ文書(doc)形式の時代には、MathTypeの簡易版を組み込んでいた。Word文書形式がOffice Open XML(docx)形式になったWord 2007より独自開発の新しい数式エディタを内蔵している[1]。この新しい数式エディタで編集した数式は、OOMXL形式の文書中では独自の数式XML (Office Math Markup Language (OMML))で保存される[2]。このOMML形式の数式をWord内蔵のスタイルシートでMathMLに変換したり、Wordの編集画面から数式をコピーしてメモ帳にMathMLとして貼り付けることができる。

○TeXから変換
TeXマークアップをMathMLマークアップに変換するツールは様々なところからオープンソースとして提供されている。例えば、PagesとiBooks AuthorはLaTeXで数式を書くことができる。その場合は「blahtex」を使ってLaTeXで入力した数式をMathMLに変換している[3]

○直接記述
PagesとiBooks AuthorはMathMLを直接記述して数式を入力できる[4]

2. MathMLを使える主な配布形式の紹介
○XML文書
MathMLはXML形式のマークアップである。XMLではメインの文書の中に他の語彙によるマークアップを組み込む、名前空間という仕組が用意されている。名前空間を使えば任意のXML文書にMathMLを組み込むことができる。なお、以下に主なマークアップ語彙でのMathMLの採用例を挙げる。

○XHTML
XHTMLは、HTMLをXMLとして表現した語彙であり、上記の名前空間の機構をつかってMathMLを組み込むことができる。

○HTML5
HTML5は、MathMLの語彙をHTML5の要素と同様に扱ってHTML5文書中に記述できる(ネイティブサポートという)。こうして組み込まれたMathMLによる数式の解析は、XMLとして組み込まれたときの解析とは若干の相違が生じる。MathMLのバージョン3仕様も、HTML5に組み込むために改訂された(MathML3.0 Second Edition)。

XHTMLとHTMLでどのような点が異なるかはMathML 3.0仕様書に整理されている[5]

○EPUB3
EPUB3.1は、MathMLを本文中に組み込むことができる。但し、若干の制約が付いている[6]

○JATS
Journal Article Tag Suite (JATS) の正式版V1.1および安定ドラフト版V1.2d1は、いずれもMathMLを組み込める。数式の最上位は<mml:math>である。

○DITA
DITA 1.2まではDITAでMathMLを使おうとするとDITA 1.1で導入されたforeign要素を特殊化してMathMLを使えるようにする必要があった。DITA 1.3では数式とMathMLの二つのドメインが追加された。MathMLドメインを使えば特殊化する必要がなくなった[7]

○DAISY
DAISYコンソーシアムのMathML in DAISY Working GroupはDAISY3標準で数式をアクセシブルにするための仕様の策定を最優先課題としている[8]

3. MathMLのレンダリング
(1) 可視化(ビジュアルレンダリング)
○ブラウザネイティブ
FireFoxはMathMLをブラウザ自体の機能で可視化できる。但し、MathMLの要素や属性などを完全にサポートしている状態ではない。MathJax、KaTeX、MediaWIkiに対して、FireFoxのネイティブなMathMLレンダリングを強制するためのAdd-onも用意されている[9]

Safariは5.1からMathMLをサポートしている。それはボランティアによるWebKitの改善努力に依存するものであまり高精度とは言えなかった[10]。しかし、IgaliaによるWebKitの改善が続けられている[11]
Chrome、EdgeはMathMLをサポートしていない。
Microsoft DevelopperのページではMathMLサポートに関する投票が行われている[12]

○MathJaxによるサポート
MathJaxはMathMLをサポートしないブラウザの上で、MathMLを表示するJavaScriptプログラムである。MathJaxは多くの学会や団体が支援しており、最も成功したオープンソースの一つとして普及している。MathJaxの最新版は2.7(2017年8月リリース)である。

MathJaxは、現在、3.0を開発中である。3.0ではアーキテクチャが根本的に変更になることが告知されている[13]

○プラグイン数式レンダラ
デザインサイエンス社のMathPlayerは、当初は、IEのプラグインとして普及した。しかし、IE10以降ではMathPlayerをプラグインとして使うためのAPIが禁止になってしまった。

○XML組版ソフト
(2) 読み上げ(音声レンダリング)
○デザインサイエンス社のMathPlayerは、MathMLを音声で読むことができる[14]。MathPlayerは無料で配布されている。

4.MathMLの歴史
W3C 勧告の歴史はMathML勧告のバージョン史[15]にまとめられている。
1998年4月に MathML 1.0
2001年2月に MathML 2.0 (2003年10月 Second Edition)
2010年10月に MathML 3.0 (2014年4月 Second Edition) Second Editionでは、主にHTML5でMathMLを使うのに適合するようにXMLのパースに関する前提条件の変更の改訂がなされた。

5. まとめ
MathMLは、ドキュメントをXMLで記述するときに、数式を表現する技術として重要な存在である。必ずしも常に順風満帆という状態ではないが、徐々に普及していることが確かめられる。XML以外ではHTML5でもネイティブにサポートされている。但し、ブラウザのネイティブレンダリングに向けて足並みが揃っている状態ではない。MicrosoftのEdgeのプロジェクトでMathMLサポートへの投票が行われているが、投票者のコメントを見ると視覚障害者から熱烈な要望が多いようだ。

[1] Office2007の新しい数式エディタ
[2] 22.1 Math “ECMA-376-1:2016 Office Open XML File Formats — Fundamentals and Markup Language Reference” October 2016
[3] Pages および iBooks Author での LaTeX と MathML の対応について
[4] Pages で書類に方程式を追加するiBooks Author: LaTeX、MathML、または MathType で数式を追加する/編集する
[5] 6.4.3 Mixing MathML and HTML “Mathematical Markup Language (MathML) Version 3.0 2nd Edition”
[6] 2.5.1 Embedded MathML “EPUB Content Documents 3.1
Recommended Specification” 5 January 2017

[7] B.2.1 Changes from DITA 1.2 to DITA 1.3 “Darwin Information Typing Architecture (DITA) Version 1.3 Part 0: Overview”
[8] MathML
[9] Mozilla MathML StatusNative MathML
[10] WebKitの数式(MathML)でSafariはボランティアの努力を採用し、数式を表示できる。Chromeは同じものを不採用として批判を浴びる。
[11] Improvements in MathML Rendering
[12] How can we improve the Microsoft Edge developer experience? MathML
[13] MathJax V3開発は、根本的な方針変更となる
[14] MathPlayer Can Speak!
[15] MathML Recommendation Version History

【広告】
「MathML数式組版入門 Ver 1.1」