HTML

MathML Kullanımı

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
     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.

<math xmlns="http://www.w3.org/1998/Math/MathML">
............
</math>

değişken tanımlamak için:

<mi>a</mi>

x sayısının karesi için:

<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>

Screenshot_3

Şeklindeki örnek için:

<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.

Screenshot_1

<!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>&InvisibleTimes;</mo>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>b</mi>
<mo>&InvisibleTimes; </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:

Screenshot_2

<!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">&#x2212;<!-- − --></mo>
<mi>b</mi>
<mo>&#x00B1;<!-- &PlusMinus; --></mo>
<msqrt>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>&#x2212;<!-- − --></mo>
<mn>4</mn>
<mo>&#x2062;<!-- &InvisibleTimes; --></mo>
<mi>a</mi>
<mo>&#x2062;<!-- &InvisibleTimes; --></mo>
<mi>c</mi>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>&#x2062;<!-- &InvisibleTimes; --></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:

https://en.wikipedia.org/wiki/MathML

https://www.w3.org/TR/MathML3/chapter1.html#intro.example

Yorum Yap