MathML
Dikembangkan oleh | Konsorsium Waring Wera Wanua |
---|---|
Jenis format | Bahasa markah |
Pengembangan dari | XML |
Standar | W3C MathML |
Bahasa Markah Matematika (MathML, bahasa Inggris: Mathematical Markup Language) adalah bahasa markah matematika, yaitu sebuah penerapan XML untuk menjelaskan notasi matematika. Bahasa ini ditujukan untuk memasukkan rumus matematika ke dalam halaman web dan dokumen lainnya. Ia menjadi bagian dalam HTML5 dan standar ISO nomor ISO/IEC DIS 40314 sejak 2015.
Sejarah
[sunting | sunting sumber]Pada awalnya, W3C menyadari bahwa penulisan secara ilmiah adalah masalah yang sangat serius. Penulisan rumus biasanya dilakukan dengan membuat gambar dengan tulisan rumus tersebut sehingga sulit untuk membaca dan menulisnya. Dave Raggett mengusulkan proposal "HTML Math" dalam draf kerja HTML 3.0 pada tahun 1994.
Sebuah panel diskusi diadakan dalam WWW Conference di Darmstadt pada bulan April 1995. Kemudian pada November 1995, perwakilan dari Wolfram Research mempresentasikan sebuah proposal dalam penulisan rumus matematika di HTML kepada tim W3C. Pada bulan Mei 1996, Digital Library Initiative di Champaign-Urbana menciptakan sejarah penting dengan mengumpulkan banyak kelompok yang tertarik dalam masalah ini. Sebagai tindak lanjut, HTML Math Editorial Review Board dibentuk. Perkumpulan ini berkembang dan akhirnya secara resmi dibentuk kembali dalam W3C Math Working Group pada bulan Maret 1997. W3C Math Working Group dibentuk kembali pada Juli 1998 dan diberikan waktu untuk menjalankan tugasnya hingga tahun 2000.[1]
MathML 1 akhirnya menjadi rekomendasi pertama W3C pada bulan April 1998 untuk masalah penulisan rumus matematika dalam bentuk XML. Versi 1.01 dirilis pada bulan Juli 1999 dan versi 2.0 pada bulan Februari 2011. Pada bulan Oktober 2003, edisi kedua dari MathML 2.0 dipublikasikan sebagai rilis resmi oleh W3C Math Working Group. Pada bulan Juni 2006, W3C membentuk kembali MathML Working Group untuk membuat Rekomendasi MathML 3 hingga Februari 2008, dan diperpanjang kembali pada bulan November 2008 menjadi hingga April 2010. Draft kerja keenam dari revisi MathML 3 dipublikasikan pada bulan Juni 2009. Pada 10 Agustus 2010, status MathML 3 dinaikkan menjadi Proposed Recommendation dari sebelumnya hanya berupa draf.
MathML 3.0 secara resmi dirilis sebagai rekomendasi dari W3C pada tanggal 21 Oktober 2010 sebagai revisi dari MathML 20.0
Contoh dan perbandingan dengan format lainnya
[sunting | sunting sumber]Rumus kuadrat berikut:
dapat ditampilkan dengan sintaks LaTeX sebagai berikut:
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
dalam troff/eqn sebagai berikut:
x = {-b +- sqrt{b sup 2 – 4ac}} over 2a
dalam Apache OpenOffice Math dan LibreOffice Math sebagai berikut: (ketiganya sah)
x = {-b plusminus sqrt {b^2 – 4 ac}} over {2 a} x = {-b +- sqrt {b^2 – 4ac}} over {2a} x = {-b ± sqrt {b^2 – 4ac}} over {2a}
dan dalam AsciiMath sebagai berikut:
x = (-b +- sqrt(b^2 - 4ac))/(2a)
Persamaan di atas dapat ditulis dalam MathML sebagai pohon kalimat dengan elemen tata letak seperti <mfrac>
dan <msqrt>
:
<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>
Contoh di atas menggunakan elemen <annotation>
yang dapat dipakai untuk menyematkan catatan dalam format non-XML, misalnya rumus dalam format yang dipakai oleh penyunting persamaan seperti StarMath atau dalam format LaTeX.
Meski tidak seringkas TeX, stuktur XML membuatnya dapat dipakai lebih luas untuk tampilan instan seperti peramban web dan dapat menyampaikan makna/tafsiran dalam perangkat lunak matematika. MathML tidak ditujukan untuk ditulis/disunting secara langsung oleh manusia.[2]
Dukungan peramban web
[sunting | sunting sumber]Peramban web | MathML |
---|---|
Avant | Tidak |
Basilisk | Ya |
Chrome | Tidak[3] |
Dooble | Ya |
Falkon | Tidak |
iCab | Tidak |
Internet Explorer | Tidak[catatan 1] |
K-Meleon | Ya |
Konqueror | Tidak |
Links | Tidak |
Lunascape | Ya[catatan 2] |
Lynx | Tidak |
Maxthon | Tidak |
Microsoft Edge | Tidak |
Midori | Tidak |
Mozilla Firefox | Ya |
NetSurf | Tidak |
OmniWeb | Tidak |
Opera | Ya |
Pale Moon | Ya |
Polarity | Tidak |
Safari | Tidak |
SeaMonkey | Ya |
Sleipnir | Tidak[catatan 1] |
surf | Tidak |
Torch | Tidak |
Web | Ya |
w3m | Tidak |
Di antara peramban web modern, peramban berbasis Gecko (seperti Firefox) memiliki dukungan asli untuk MathML.[4]
Meski mesin tata letak WebKit memiliki versi pengembangan MathML,[5][6] fitur ini hanya ada pada versi 5.1 ke atas untuk Safari[7] dan versi 24 untuk Chrome,[8][9] tetapi tidak ada pada Chrome versi di atasnya.[10] Google menghapus dukungan MathML dengan alasan masalah keamanan arsitektur dan penggunaan yang sedikit sehingga tidak sebanding dengan waktu pengerjaan perbaikan masalah tersebut.[3] Hingga Oktober 2018,[update] implementasi WebKit/Safari memiliki banyak kutu.[11]
Peramban web JavaFX/WebView tersemat, juga berbasis WebKit, mendukung MathML sejak versi JavaFX 8 Update 192 dan JavaFX 11. JavaFX 8 versi sebelumnya, JavaFX 9, dan JavaFX 10 tidak mendukung MathML.
Opera dari versi 9.5 sampai 12 mendukung MathML untuk gaya CSS,[12][13] tetapi tidak bisa meletakkan tanda diakritik dengan benar.[14] Sebelum versi 9.5, ia membutuhkan UserJS dan gaya khusus untuk meniru dukungan MathML.[15] Sejak versi 14, Opera menghapus dukungan MathML dengan mengganti ke mesin Chromium 25.[16]
Internet Explorer tidak mendukung MathML secara bawaan. Dukungan untuk IE6 dan IE9 dapat ditambahkan dengan memasang pengaya MathPlayer.[17] IE10 memiliki kutu yang membuat macet dengan MathPlayer sehingga Microsoft memutuskan untuk mematikan dukungan pengaya MathPlayer.[18]
Konqueror, peramban web berbasis KHTML, belum mendukung MathML.[19]
Kualitas hasil MathML dalam peramban web bergantung pada fon yang terpasang. Proyek STIX Fonts telah merilis set fon matematika yang disetujui dalam lisensi terbuka. Fon Cambria Math yang sepaket dengan Microsoft Windows memiliki dukungan yang lebih sedikit.[20]
Menurut anggota tim MathJax, tidak ada peramban web besar (utama) yang membayar pengembang mereka untuk pekerjaan terkait pembuatan dukungan MathML; segala dukungan yang ada merupakan hasil kerja sukarelawan yang tak terbayar.[21]
Pada tahun 2015, Perhimpunan MathML didirikan untuk mendukung adopsi standar MathML.[22]
Lihat pula
[sunting | sunting sumber]- Cascading Style Sheets (CSS)
- Daftar bahasa markah
- Perbandingan bahasa markah dokumen
- Penyunting rumus
- LaTeX
- LaTeXML
- KaTeX
- MathJax
Catatan kaki
[sunting | sunting sumber]- ^ a b Tersedia dengan pengaya MathPlayer.
- ^ Bergantung pada mesin tata letak yang dipilih: Trident, Gecko, atau WebKit.
Referensi
[sunting | sunting sumber]- ^ "The History of MathML". W3C.
- ^ Buswell, Steven; Devitt, Stan; Diaz, Angel; et al. (7 Juli 1999). "Mathematical Markup Language (MathML) 1.01 Specification (Abstract)". Diakses tanggal 26 September 2006.
While MathML is human-readable it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion programs, and other specialized software tools to generate MathML.
- ^ a b "Google subtracts MathML from Chrome, and anger multiplies". CNET. Diakses tanggal 22 November 2014.
- ^ Sidje, Roger B. "Authoring MathML for Mozilla". Mozilla.
- ^ "Bug 3251 – Implement MathML (master bug)". WebKit.
- ^ "MathML Status – WebKit".
- ^ "Safari 5.1 and math". 21 Juli 2011.
- ^ "MathML Support Coming To Chrome". BrowserFame. Diarsipkan dari versi asli tanggal 14 Oktober 2012. Diakses tanggal 16 Oktober 2012.
- ^ "Stable Chrome 24 supports MathML and closes security holes". The H Online. Diakses tanggal 11 Januari 2013.
- ^ "Stable Channel Update". Diakses tanggal 7 April 2013.
- ^ Frédéric Wang. "Funding MathML Developments in Gecko and WebKit - Blog de Frédéric". maths-informatique-jeux.com. Diarsipkan dari versi asli tanggal 14 December 2014. Diakses tanggal 22 November 2014.
- ^ McCathieNevile, Charles (27 September 2007). "Can Kestrels do Math? MathML support in Opera Kestrel". Opera.
- ^ Olsen, Tommy A. (16 November 2007). "Even more work". Opera. Diarsipkan dari versi asli tanggal 18 November 2007.
- ^ "MathML – The Opera MathML blog". my.opera.com. 1 November 2007. Diarsipkan dari versi asli tanggal 11 Desember 2008. Diakses tanggal 9 Mei 2012.
- ^ "UserJS for MathML 2.0". my.opera.com. Diarsipkan dari versi asli tanggal 28 September 2008. Diakses tanggal 9 Mei 2012.
- ^ "Opera 14 beta for Android is out". Diarsipkan dari versi asli tanggal 8 Maret 2013.
- ^ "MathPlayer – version history".
- ^ "Microsoft cripples the display of math in IE10 & 11". dessci.com. Diarsipkan dari versi asli tanggal 1 Juli 2014. Diakses tanggal 22 November 2014.
- ^ "Bug 30526 – MathML support for Konqi".
- ^ Vismor, Timothy. "Viewing Mathematics on the Internet". Diakses tanggal 13 April 2011.
- ^ Peter Krautzberger. "MathML forges on". oreilly.com. Diakses tanggal 22 November 2014.
- ^ Deyan Ginev; Michael Kohlhase; Moritz Schubotz; Raniere Silva; Frédéric Wang. "Mondial Association for Tools Handling MathML". Diarsipkan dari versi asli tanggal 2016-08-27. Diakses tanggal 20 Juni 2016.
Bacaan lebih lanjut
[sunting | sunting sumber]Spesifikasi
[sunting | sunting sumber]- W3C Recommendation: Mathematical Markup Language (MathML) 1.01 Specification
- W3C Recommendation: Mathematical Markup Language (MathML) Version 2.0 (Edisi Kedua)
- W3C Recommendation: Mathematical Markup Language (MathML) Version 3.0 (Edisi Ketiga)
Pranala luar
[sunting | sunting sumber]- W3C Math Home – berisi spesifikasi, tanya jawab, dan daftar perangkat lunak yang mendukung