MathML2006.03
MathMLによる数学的文書の作成と公開のシステム開始
MathML2006.03-0.1
MathMLによる 数学的文書の作成と 公開のシステム 北海道大学大学院 理学研究科 数学専攻 博士前期課程 2年 黒田 拓 この資料のURL http://www.hinet.mydns.jp/~hiraku/presentation/?MathML2006.03MathML2006.03-0.2
概要
. 1 背景 . 1 Web における MathML 以前の数式 . 2 MathML とは . 3 CMS としてのブログツールと Wiki エンジン . 2 CMS + MathML = 数学的文書の作成と公開のシステム . 1 tDiary と Hiki の紹介 . 2 MathML 変換機能の組み込みMathML2006.03-1.1
背景MathML2006.03-1.2.1
Mathematical expression in Web-pages before
MathML
Write expression according to notation of LaTeX
Example
Solutin of equation ax^2+bx+c=0 is x=¥frac{-b¥pm¥sqrt{b^2-4ac}}{2a}
MathML2006.03-1.2.2
Web における MathML 以前の数式
Embed a graphical image of expression
MathML2006.03-1.2.3
Web における MathML 以前の数式
Can not follow out "zoom-in" or "zoom-out"
MathML2006.03-1.3.1
MathML is
Expression by XMLexample '
$a=¥frac12$
'
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'> <mi>a</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </math>MathML2006.03-1.3.2
MathMLとは
Complicated example
¥[ x=¥frac{-b¥pm¥sqrt{b^2-4ac}}{2a} ¥] <math> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mo>-</mo> <mi>b</mi> <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mn>4</mn> <mi>a</mi> <mi>c</mi> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mi>a</mi> </mrow> </mfrac> </math>MathML2006.03-1.3.3
MathMLとは
利点 対応するブラウザで、きれいな数式を表示できる 表示にはベクトルフォントが使われるので、拡大縮小が自由にできる 欠点手動での記述には向かない $¥to$他の書式からの変換 表示には対応したブラウザが必要 Mozilla Firefox (要専用フォント) InternetExplorer + プラグイン(MathPlayer)
MathML2006.03-1.4.1
CMSとしての ブログツールとWikiエンジンMathML2006.03-1.4.2
CMS(Contents Management System)とは
コンテンツ(Webサイトで提供するデータ)をマネジメント(管理)するシステム Webブラウザで作業できる物が多い CMSを使わない CMSを使う 文書の作成 エディタでHTMLファイルを作成 (ワープロ風のものもある) ブラウザの編集フォームで 作成 (書式はシステムによる) サーバへの転送 FTPクライアントを使って転送 ブラウザの[投稿]ボタンなどを押す 新しいページへの案内 既存のページを編集してリンクを作 る メニュー等には自動的には 追加される ページの体裁やメニュー などの統一 各ページを手動で調整 細かいところまでいじれるがページ が増えると大変 本文以外は自動生成
MathML2006.03-1.4.3.1
ブログとブログツール
ブログとは
当初は、Webの記事へのコメントを、その記事を指すURLと共に記述するページ (WebのLogでBlog) 現在は、日記的なものも含めてブログと呼ぶ場合が多いブログツール
trackback ブログページの作成を支援するソフトウェア Webブラウザ上での記事の作成と編集を可能にする TrackBackを送受信できるものが多い
MathML2006.03-1.4.3.2
ブログとブログツール
TrackBack
あるブログ記事へのコメントを自分のブログに書く際に、そのことをコメント先に通知する 機能 ブログ間の双方向性を生み出す . 1 コ メ ン ト 先 URLと共にコメントを書く . 2 コメント先にTrackBackを送信 . 3 コメント記事へのリンクが自動生成MathML2006.03-1.4.4
WikiとWikiエンジン
Wikiとは
アクセスした人が、認証なしで既存ページの編集や新規ページの作成が出来るWebサイトWikiエンジン
Wikiを提供するソフトウェア例
WikiPedia( http://ja.wikipedia.org/wiki/ )MathML2006.03-2.1
CMS+MathML || 数学的文書の作成と 公開のシステムMathML2006.03-2.2
実際の
CMSの紹介
Web日記・ブログツール tDiary(ただただし) Wikiエンジン Hiki(たけうちひとし/Hiki開発チーム)特徴
オブジェクト指向スクリプト言語Ruby により作成されている プラグインを使うことで機能を追加できる。自作することも可能 文書のソースの書式(スタイルと呼ばれる)を選べる。プラグイン同様、自作可能MathML2006.03-2.3
MathML 変換機能の組み込み
TeX の数式を MathML に変換するライブラリ
変換ライブラリを利用するプラグイン
TeXと同様の
$$...$$
記法や /[.../] 記法が使えるスタイル
MathML2006.03-2.4.1
TeX の数式を MathML に変換する
ライブラリの開発
'ライブラリ'とは
単独で動作するソフトウェアではなく、機能を提供するプログラムの部品変換ライブラリ
(黒田)
Rubyに対して、TeXの数式からMathMLへの変換機能を提供MathML2006.03-2.4.1.1
変換ライブラリの使用例
解の公式を表すMathMLを出力するプログラム #!/usr/bin/ruby #変換ライブラリの使用を宣言 require 'mathml.rb' #LaTeXの数式を文字列変数に代入 src = 'x=¥frac{-b¥pm¥sqrt{b^2-4ac}}{2a}' #変換ライブラリに文字列変数を渡し、結果を得る mml = MathML::TeX2MathML::Convertor.new(src) #変換結果を画面に出力 puts mml 出力結果MathML2006.03-2.4.2
MathMLプラグイン
tDiaryやHikiに対して、MathML変換機能を導入 外部プログラムではなくRubyによる変換ライブラリを使用 $¥to$tDiary/Hikiが動く環境なら、すぐに使える $¥qquad$(外部プログラムのコンパイルなどが不要) 方程式{{math 'ax^2+bx+c=0'}}の解は {{dmath 'x=¥frac{-b¥pm¥sqrt{b^2-4ac}}{2a}'}} である。 表示例MathML2006.03-2.4.3
MathWikiスタイル
Wikiの記法の中で$$...$$記法と/[.../]記法を使えるようにした 方程式$$ax^2+bx+c=0$$の解は /[ x=¥frac{-b¥pm¥sqrt{b^2-4ac}}{2a} /] である。 $¥to$Wiki記法の例MathML2006.03-2.5
用途の例
tDiary+MathML
時系列準のメモ 本・論文を読み進める際のノートとして 日々のアイデアなどを書き留める研究日誌としてHiki+MathML
まとまった文書 セミナーノート 研究関連の辞書的ページ$¥to$実演
MathML2006.03-10.1
Appendix 対応する数式コマンド
各種フォント切り替え
標準フォント $ABCDEFGHIJKLMN¥quad abcdefghijklmn$ 太字 $¥bf ABCDEFGHIJKLMN¥quad abcdefghijklmn$ 黒板太字 $¥mathbb{ABCDEFGHIJKLMN¥quad abcdefghijklmn}$ フラクトゥール $¥mathfrak{ABCDEFGHIJKLMN¥quad abcdefghijklmn}$ スクリプト体 $¥mathscr{ABCDEFGHIJKLMN¥quad abcdefghijklmn}$ギリシャ文字
$¥alpha, ¥beta, ¥gamma, ¥delta, ¥epsilon, ¥varepsilon, ¥zeta, ¥eta, ¥theta, ¥vartheta, ¥iota, ¥kappa, ¥lambda, ¥mu, ¥nu, ¥xi, ¥pi, ¥varpi, ¥rho, ¥varrho, ¥sigma, ¥varsigma, ¥tau,
¥upsilon, ¥phi, ¥varphi, ¥chi, ¥psi, ¥omega$
$¥Gamma, ¥Delta, ¥Theta, ¥Lambda, ¥Xi, ¥Pi, ¥Sigma, ¥Upsilon, ¥Phi, ¥Psi, ¥Omega$
MathML2006.03-10.1.1
Appendix 対応する数式コマンド
記号・矢印
$¥sum ¥prod ¥coprod ¥bigcap ¥bigcup ¥bigsqcup ¥bigvee ¥bigwedge ¥bigodot ¥bigotimes ¥bigoplus ¥biguplus$$¥aleph ¥imath ¥jmath ¥ell ¥wp ¥Re ¥emptyset ¥flat ¥natural ¥sharp ¥spadesuit ¥Diamond ¥triangle ¥clubsuit ¥diamondsuit ¥heartsuit ¥Im ¥mho ¥angle ¥hbar ¥Box ¥infty$ $¥int ¥oint ¥pm ¥prime ¥nabla ¥top ¥bot ¥forall ¥vdash ¥dashv ¥mp ¥times ¥div ¥ast ¥star ¥dagger ¥ddagger ¥cap ¥cup ¥uplus ¥sqcap ¥sqcup ¥vee ¥wedge ¥setminus ¥wr ¥bullet ¥diamond ¥oslash ¥odot ¥bigcirc ¥bigtriangleup ¥bigtriangledown ¥triangleleft
¥triangleright ¥oplus ¥ominus ¥otimes ¥le ¥leq ¥ge ¥geq ¥sim ¥ll ¥gg ¥doteq ¥simeq ¥subset ¥supset ¥approx ¥subseteq ¥supseteq ¥cong ¥smile ¥sqsubset ¥sqsupset ¥equiv ¥frown ¥sqsubseteq ¥sqsupseteq ¥propto ¥bowtie ¥in ¥ni ¥prec ¥succ ¥succeq ¥models ¥perp ¥parallel ¥mid$
$¥rightarrow ¥leftarrow ¥uparrow ¥downarrow ¥longrightarrow ¥longleftarrow ¥Rightarrow ¥Leftarrow ¥Uparrow ¥Downarrow ¥Longrightarrow ¥Longleftarrow ¥leftrightarrow
¥longleftrightarrow ¥Leftrightarrow ¥Longleftrightarrow ¥updownarrow ¥Updownarrow ¥mapsto ¥longmapsto ¥hookrightarrow ¥hookleftarrow ¥rightharpoonup ¥leftharpoonup ¥rightharpoondown ¥leftharpoondown ¥rightleftharpoons ¥nearrow ¥searrow ¥swarrow ¥nwarrow$
文字修飾
$¥hat x ¥breve x ¥grave x ¥acute x ¥dot x ¥ddot x ¥tilde x ¥bar x ¥vec x ¥check x ¥widehat x ¥overline x ¥widetilde x ¥overbrace x ¥underbrace x ¥underline x$
MathML2006.03-10.2
Appendix 対応する数式コマンド
上下添え字
math環境モード($$...$$) $¥lim_{n¥to¥infty}¥sum_{i=1}^n a_n$ displaymath環境モード(/[.../]) ¥[¥lim_{n¥to¥infty}¥sum_{i=1}^n a_n¥]stackrel
¥[ ¥mathbb R¥stackrel¥varphi¥to ¥mathbb C ¥]
MathML2006.03-10.3
Appendix 対応する数式コマンド
array環境
行列
¥[ E=¥left(¥begin{array}{cc} 1&0¥¥ 0&1 ¥end{array}¥right) ¥]
¥[ ¥left¥{¥begin{array}{ccl} x_{n+1}&=&f(x_n)¥¥ y_{n+1}&=&g(y_n) ¥end{array}¥right. ¥]