Transcript MathML

MathML
Mathematical Markup
Language
BURAK ZEYDAN
2006104669
MathML Nedir?
• MathML ; matematik notasyonu
açıklayan ve matematik notasyonun
içeriğini ve yapısal özelliklerini kapsayan
bir XML uygulamasıdır.
• Amacı matematiksel ifadelerin internet
üzerinden sunulmasına, kullanılmasına ve
değiştirilebilmesine imkan sağlamaktır.
MathML
• Web için W3C tarafından
matematiksel terimleri ifade
etmek için geliştirilen bir dildir.
• Son sürümü: MathML 2.
MathML
• Docbook-XML, RDF, XHTML
ve MathML XML dilinin belli
yönde özelleşmiş halleridir.
XML
• Genişletilebilir İşaretleme Dili (eXtensible
Markup Language) hem insanlar hem bilgi işlem
sistemleri tarafından kolayca okunabilecek
dokümanlar oluşturmaya yarayan, W3C
tarafından tanımlanmış bir standarttır. Bu özelliği
ile veri saklamanın yanında farklı sistemler
arasında veri alışverişi yapmaya yarayan bir ara
format görevi de görür.
• XML'in tasarımcısı, HTML'i de tasarlamış olan Tim
Berners Lee'dir. Dilin düzenlenmesi de W3C'nin
sorumluluğundadır.
XML
• Günümüzde birçok yazılım, diğer yazılımlarla veri
alışverişini XML formatı üzerinden yapmaktadır. Ayrıca
XML'i esas format olarak kullanan uygulamalara, veri
tabanlarına rastlamak mümkündür. Örneğin
Microsoft'un geliştirdiği .NET teknolojisinde kullanılan
DataSet nesneleri XML formatındadır. Ayrıca XML, ofis
uygulamalarının alt yapısı haline getirilmiştir
• İçeriğin, doküman yapısının ve şeklin birbirinden
ayrı ele alınması XML'i İçerik yönetim
sistemlerinin ideal formatı haline getirmiştir.
MathML
• MathML ( Mathematical Markup
Language), matematiksel ifade ve
formülleri yazmakta kullanılan bir
dildir.
• Matematik dünyasındaki insanlar için
oldukça kullanışlı bir aractır.
Tarihçe
• MathML ilk kez 1.01 versiyonu olarak Temmuz
1999’da yayınlanmıştır.
• Genişletilmiş 2.0 versiyonu Şubat 2001’de
yayınlanmıştır.
• Şu anda kullanılan MathML ise 2.0
versiyonunun 2. sürümü olarak W3C adlı
çalışma grubu tarafından hazırlanmıştır ve
2003 ekiminden beri kullanımdadır.
• Yeni versiyon olan MathML 3.0 için çalışmalar
devam etmektedir.
Neden MathML?
• Matematiksel ifadelerin sanal ortamda
belli bir dökümana aktarımı zahmetli bir
iştir.
• Word dosyalarıyla yazılan ifadeler ve
Excel ile çizilen grafikler, rapor hazırlama
konularındaki değişik ayrıntılar insanları
sıkıntıya sokabilmektedir.
Neden MathML?
• Özellikle bu tip raporların internet’e
aktarılması ve üzerlerinde herhangi bir
değişiklik yapılması zor bir iştir. Herhangi bir
yanlışlık olduğunda raporların en baştan
hazırlanmaları gerekebilir.
Neden MathML?
MathML
Interface Mathematics Across Applications
MathML’ nin Faydaları nelerdir?
• MathML ile integral,türev,matrix vs. bir çok
matematiksel formül ve ifade yazılabilir.
• Bazı browser'lar, örneğin Netscape 7.0
MathML kodunun görüntülenmesine imkan
sağlamaktadır. Yani herhangi bir MathML
kodunu bir HTML içinde yazarsanız browser
MathML'yi okuyup sizin istediğiniz görüntüyü
yapar. Denklemleri MSWord’ de yazıp resime
çevirme gibi bir işkenceden kurtulursunuz.
MathML’ nin Hazırlanma Amacı
MathML’ nin hazırlanmasının temelde 2
amacı vardır :
• Programın öncelikli hedefi çoğu browsera
uygun olarak yazılması ve her türlü ifadenin
kapsanacağı bir ortam oluşturulmasıdır.
• Yazılan matematiksel ifadenin ve onun
anlamının kodla uyumluluğunun en üst
düzeyde sağlanmasıdır.
MathML Elemanları
• Tüm MathML elemanları üç kategoriden
birinin içinde yer alır: sunum elemanları, içerik
elemanları ve arayüz elemanları.
Sunum Elemanları
•Sunum elmanları matematik notasyonun iki
boyutlu görsel yapısını düzenlemekten
sorumludur.
•MathML dili yaklaşık 50 tane fonksiyonu
destekleyen 30 tane sunum elemanı içerir.
İçerik Elemanları
• İçerik elemanları matematiksel ifadenin ne
manaya geldiğini açıklar.
• İçerik elemanları yaklaşık bir düzine
fonksiyonu kabul eden 100 tane elaman içerir.
• Bu elemanların büyük bir çoğunluğu çok çeşitli
operatörlerle ve isimlendirilmiş fonksiyonlarla
ilişkili boş elamanlardır.
Sunum ve İçerik Elemanları
<math>
<mrow>
<mi>E</mi>
<mo>=</mo>
<mrow>
<mi>m</mi>
<mo>&InvisibleTimes;</mo>
<msup>
<mi>c</mi>
<mn>2</mn>
</msup>
</mrow>
</mrow>
</math>
<math>
<reln>
<eq/>
<ci>E</ci>
<apply>
<times/>
<ci>m</ci>
<apply>
<power/>
<ci>c</ci>
<cn>2</cn>
</apply>
</apply>
</reln>
</math>
Uyumluluk
• MathML dilinde yaklaşık 40 niteliğin
belirtilebilmesi için 25 simge belirtilmiştir.
• Bu özelliği MathML’in gösterim yapısının,
TeX ya da ISO12083 gibi yapılara göre
avantajlarını arttırmaktadır.
Notasyon simgeleri
Uyumluluk
• MathML dilinde ayrıca, herhangi bir
karışıklığa yer vermeyecek şekilde
anlamları, yazıya yükleyen 75 adet içerik
işareti bulunmaktadır.
• Bunların örnekleri ise ;
İçerik Simgeleri
İçerik Simgeleri
İçerik Simgeleri
İçerik Simgeleri
Uygunluk
• MathML dilinin önemli özelliklerinden biri ise
çoğu yayın ve browsera uygun olarak
hazırlanmış olması ve daha da geliştiriliyor
olmasıdır.
• Örneğin MathML dili, Publicon ve SciWriter
gibi önemli matematiksel ve bilimsel içerikli
programların desteğini almaktadır.
Uygunluk
• MathML dili ayrıca, KOffice, Microsoft Office
2007 gibi ofis tabanlı programlar ile
Mathematica ve Windows için Casio ClassPad
300 gibi software ürünlerine de uyum
sağlamaktadır.
Uygunluk
• MathML dili aynı zamanda internet tabanlı
dökümantasyon için de geliştirilmiş
olduğundan, web browser uyumluluğu da
gelişmiştir.
Uygunluk
• Firefox ve Camino gibi Gecko browserlarından
doğrudan destek alan bu dil ayrıca Internet
Explorer ve Opera browserlarına da çeşitli
programlar aracılığıyla adapte edilmiştir.
• Bazı forumlarda Internet Explorer ın 16.
versiyonunun mathML’ yi doğrudan
destekleyebileceği iddia edilmektedir.
MathML
• Bu dilin bir önemli özelliği de başka dillerle
olan ilişkisidir.
• Matematiksel ifadelerin çevirilmesi sırasında
TeX gibi bazı dillerin (özellikle pdf uzantılı
dosyalar için) MathML ile bağlantıları ortaya
çıkar.
MathML
• TtM ve daha detaylı bilgi için;
• http://hutchinson.belmont.ma.us/tth/mml/
Örnekler
• İfadeler MathML dilinde nasıl yazılıyor?
• Bunun için birkaç örnek üzerinde duralım.
Örnekler
Örnekler
Örnekler
Örnekler
Örnekler
• Daha fazla örnek ve bu örneklerin çözümleri
için;
• http://www.mathmlcentral.com/Tools/ToMat
hML.jsp
Kaynaklar
• http://tr.wikipedia.org/wiki/MathML
• http://www.w3.org/Math/
• ***http://www.godoro.com/divisions/ehil/Mecm
ua/Magazines/Columns/txt/html/article_MathM
L.html
• http://en.wikipedia.org/wiki/MathML
• Daha detaylı bilgi için;
• The MathML Handbook by the author
Pavi Sandhu
Kaynaklar
• http://www.mathmlconference.org/2000/presentation
s.html
MathML tutorial by Douglas Lovell
Advanced Internet Publishing
IBM T.J. Watson Research Center
• www.dessci.com/en/support/mathtype/tutorials/math
ml/default.htm
• http://www.cmpe.boun.edu.tr/courses/cmpe220/com
mon/doku.php?id=presentations
MathML by Özdemir Küğcümen
Dinlediğiniz için Teşekkürler!!