Mathematical Markup Language (MathML) nedir sorusuna cevap ile başlayalım. HTML gibi işaretleme dillerinden biridir. XML mimarisi üzerine matematiksel işlemleri göstermek için geliştirilmiştir. W3C toplluğu tarafından 1998 yılından şu zamana kadar geliştirilmektedir.
Bu yazıda temel kullanım ve tarayıcı destekleri ile ilgili konulara dokunacağım. HTML dilinde olduğu gibi MathML dilinde sembolleri göstermek için etiketler kullanılır. (+ karekök, üst alma vs.)
MathML örneğini yazmadan önce bu makalenin yazıldığı zamanda hangi tarayıcıların destek verdiğine değinmek istiyorum.
MathML etiketlerini kişisel bilgisayarımda ;
- Mozilla Developer verisyonu ile sorunsuz olarak kullandım.
- Chorme tarayıcısında MathJax eklentisi ile sorunsuz olarak kullandım.
https://chrome.google.com/webstore/search/mathJax
- İnternet Explorer Edge ile MathML etiketleri çalışmadı. 🙁
Bu bilgiler ışığında örnek kodları yazalım.
Giriş: MathML diline ait tanımlamaları math etiketleri arasına yapıyoruz.
1 2 3 4 5 |
<math xmlns="http://www.w3.org/1998/Math/MathML"> ............ </math> |
değişken tanımlamak için:
1 2 3 |
<mi>a</mi> |
x sayısının karesi için:
1 2 3 4 5 6 |
<msup> <mi>x</mi> <mn>2</mn> </msup> |
Kesirli bir ifade kullanılacaksa:
<mfrac>
<mrow>
pay kısmı
</mrow>
<mrow>
payda kısmı
</mrow>
</mfrac>
Şeklindeki örnek için:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> </mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> </mrow> </mfrac> </math> |
Basit bir örnekle başlayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>İkinci Dereceden Denklem</title> </head> <body> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>a</mi> <mo>⁢</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mi>b</mi> <mo>⁢ </mo> <mi>x</mi> <mo>+</mo> <mi>c</mi> </mrow> </math> </body> </html> |
etiketler mathML dilinin etiketleri. Burada dikkat edilmesi gereken noktalardan biri de MathML etiketlerinin math etiketi içinde doğru namespace ile kullanılmasıdır. <math xmlns=”http://www.w3.org/1998/Math/MathML”>
Örnek 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Örnek 2</title> </head> <body> <math mode="display" xmlns="http://www.w3.org/1998/Math/MathML"> <semantics> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mo form="prefix">−<!-- − --></mo> <mi>b</mi> <mo>±<!-- ± --></mo> <msqrt> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>−<!-- − --></mo> <mn>4</mn> <mo>⁢<!-- ⁢ --></mo> <mi>a</mi> <mo>⁢<!-- ⁢ --></mo> <mi>c</mi> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>⁢<!-- ⁢ --></mo> <mi>a</mi> </mrow> </mfrac> </mrow> <annotation encoding="TeX"> x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} </annotation> <annotation encoding="StarMath 5.0"> x={-b plusminus sqrt {b^2 - 4 ac}} over {2 a} </annotation> </semantics> </math> </body> </html> |
Kaynak: