Bước tới nội dung

MathML

Bách khoa toàn thư mở Wikipedia

MathML(viết tắt choMathematical Markup Language,Ngôn ngữ Đánh dấu Toán học) là một ứng dụngXMLnhằm viết ký hiệu và công thứctoán họctrên máy tính. Mục đích của ngôn ngữ lập trình này là trao đổi thông tin trên máy tính, từ đó hiển thị trên màn hình và tính toán. Tuy nhiên, MathML còn được dùng nhằm hiển thị thông tin toán học trênWorld Wide Web,màW3Ckhuyên sử dụng.

Phiên bản 1.01 được công bố vào tháng 7 năm1999và bản 2.0 xuất hiện vào tháng 2 năm2001.Tháng 10 năm2003,bản chỉnh sửa lần thứ hai của phiên bản 2.0 của MathML được công bố là bản cuối cùng của nhóm toánW3C.

MathML được thiết kế để không chỉhiển thịtốt công thức toán học mà còn, theo tùy chọn, chứaý nghĩacủa công thức, giúp các máy tính có thể trao đổi vàhiểunội dung toán học. Một chuẩn khác làOpenMathđược thiết kế đặc biệt cho lưu trữ ý nghĩa toán học có thể được dùng để bổ trợ cho MathML.

Đối với hiển thị trên trang mạng, cấu trúc XML không ngắn gọn nhưTeX,nhưng có thể được dễ dàng sử dụng bởi các trình duyệt, cho phép hiển thị ngay lập tức công thức toán học một cách đẹp mắt, đồng thời truyền tải ý nghĩa toán học cho các phần mềm tính toán. Khác vớiTeX,MathML không được thiết kế để viết hay sửa trực tiếp bởi con người. Cần có công cụ soạn thảo, hay chuyển đổi từ ngôn ngữ thân thiện với người khác (nhưTeX), để cho ra kết quả là biểu diễn MathML.

Công thức bậc hai:

Vốn được viết theo ngữ phápTeX:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

Sẽ có thể được viết bằng MathML:

<math>
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mrow>
<mo>-</mo>
<mi>b</mi>
</mrow>
<mo>±</mo>
<msqrt>
<mrow>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>-</mo>
<mrow>
<mn>4</mn>
<mo>⁢</mo>
<mi>a</mi>
<mo>⁢</mo>
<mi>c</mi>
</mrow>
</mrow>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>⁢</mo>
<mi>a</mi>
</mrow>
</mfrac>
</mrow>
</math>

Nếu muốn hiển thị đúng trong trình duyệtMozilla,cần thêm

<?xml version= "1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
[ <!ENTITY mathml "http://www.w3.org/1998/Math/MathML" > ] >

Và lưu giữ các mã này trongtập tincó đuôi.xml.

Như trong ví dụ trên:

<?xml version= "1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
[ <!ENTITY mathml "http://www.w3.org/1998/Math/MathML" > ] >
<body>
<math xmlns= "&mathml;" >
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mrow>
<mo>-</mo>
<mi>b</mi>
</mrow>
<mo>±</mo>
<msqrt>
<mrow>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>-</mo>
<mrow>
<mn>4</mn>
<mo>⁢</mo>
<mi>a</mi>
<mo>⁢</mo>
<mi>c</mi>
</mrow>
</mrow>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>⁢</mo>
<mi>a</mi>
</mrow>
</mfrac>
</mrow>
</math>
</body>

Có nhiều phần mềm chuyểnTeXthành MathML. Nhưitex2mmlLưu trữ2005-12-14 tạiWayback Machine.HãngWolfram Researchcung cấp một trang mạngchuyển mọi biểu thức toán học sang MathML.

Trong số cáctrình duyệtthông dụng,Mozillavà một số trình duyệt cùng họ như làMozilla Firefoxtrực tiếp hiển thị MathML.[1]Các trình duyệt khác có thể cần thêm phần mềm gắn vào; nhưInternet Explorercần gắn thêmMathPlayer.

MathML được hỗ trợ bởi các phần mềm văn phòng nhưMicrosoft Word,OpenOffice.orgKOfficevà các phần mềm tính toán kỹ thuật nhưMaple,Mathematica,vàMathCad.

Liên kết ngoài

[sửa|sửa mã nguồn]