プレゼン資料 - mathml2006fe.math.kobe-u.ac.jp/movies/cm/2006-03-25-sd-kuroda...2006/03/25 ·...
TRANSCRIPT
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 1/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
MathML2006.03
MathMLによる数学的文書の作成と公開のシステム
開始
MathML2006.03-0.1MathMLによる 数学的文書の作成と 公開のシステム
北海道大学大学院 理学研究科
数学専攻 博士前期課程 2年
黒田 拓
この資料のURL
http://www.hinet.mydns.jp/~hiraku/presentation/?MathML2006.03
MathML2006.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 beforeMathML
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 2/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
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 以前の数式
数式を描いた画像を貼り付ける
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 3/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
Can not follow out "zoom-in" or "zoom-out"
MathML2006.03-1.3.1
MathML is
Expression by XML
example '$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>
表示例
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 4/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
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とは利点
対応するブラウザで、きれいな数式を表示できる表示にはベクトルフォントが使われるので、拡大縮小が自由にできる
欠点
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 5/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
手動での記述には向かない$¥to$他の書式からの変換表示には対応したブラウザが必要
Mozilla Firefox (要専用フォント)InternetExplorer + プラグイン(MathPlayer)
MathML2006.03-1.4.1CMSとしての ブログツールと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)
現在は、日記的なものも含めてブログと呼ぶ場合が多い
ブログツール
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 6/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
trackback
ブログページの作成を支援するソフトウェアWebブラウザ上での記事の作成と編集を可能にするTrackBackを送受信できるものが多い
MathML2006.03-1.4.3.2
ブログとブログツール
TrackBack
あるブログ記事へのコメントを自分のブログに書く際に、そのことをコメント先に通知する機能
ブログ間の双方向性を生み出す
. 1 コメント先
URLと共にコメントを書く. 2 コメント先にTrackBackを送信. 3 コメント記事へのリンクが自動生成
MathML2006.03-1.4.4
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 7/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
WikiとWikiエンジン
Wikiとはアクセスした人が、認証なしで既存ページの編集や新規ページの作成が出来るWebサイト
WikiエンジンWikiを提供するソフトウェア
例WikiPedia( http://ja.wikipedia.org/wiki/ )
MathML2006.03-2.1CMS+MathML || 数学的文書の作成と 公開のシステム
MathML2006.03-2.2
実際のCMSの紹介Web日記・ブログツール
tDiary(ただただし)
WikiエンジンHiki(たけうちひとし/Hiki開発チーム)
特徴オブジェクト指向スクリプト言語 Ruby により作成されているプラグインを使うことで機能を追加できる。自作することも可能文書のソースの書式(スタイルと呼ばれる)を選べる。プラグイン同様、自作可能
MathML2006.03-2.3
MathML 変換機能の組み込み
TeX の数式を MathML に変換するライブラリ
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 8/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
変換ライブラリを利用するプラグイン
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
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 9/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
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
まとまった文書セミナーノート研究関連の辞書的ページプレゼン資料(この発表の資料もHiki+MathMLで作っています)
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 10/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
$¥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$
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 11/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
$¥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) ¥]
連立方程式
2007/10/20 09:28 AMプレゼン資料 - MathML2006.03
ページ 12/12http://www.hinet.mydns.jp/presentation/?MathML2006.03
¥[ ¥left¥{¥begin{array}{ccl} x_{n+1}&=&f(x_n)¥¥ y_{n+1}&=&g(y_n) ¥end{array}¥right. ¥]
MathML2006.03-10.4
Appendix 対応する数式コマンド
TeX非標準な記号への対応$¥entity{therefore}, ¥entity{because}$などは、以下のように記述できる
$$¥entity{therefore}, ¥entity{because}$$
'therefore', 'because'はMathML用に定義された実体参照
使える記号はW3Cのサイトで一覧を見られる
$¥to$http://www.w3.org/TR/MathML2/chapter6.html#chars.16x16-tables
MathML2006.03-10.4.1
Appendix 対応する数式コマンド
置換機能事前に設定することで、$¥entity{therefore}, ¥entity{because}$なども以下のように記述することも出来る
$$¥therefore, ¥because$$
(他に、$$¥mathbb{R}$$と書く代わりに$$¥R$$と書くなど)
劣化版¥newcommand(パラメータを指定することは出来ない)
$¥to$今後、正式な¥newcommandも実装予定