aboutsummaryrefslogtreecommitdiff
path: root/files/th/mozilla_mathml_project/start/index.html
blob: 74db3b2237ee6636d817e13cd8e51acdacbc162c (plain)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
title: MathML In Action
slug: Mozilla_MathML_Project/Start
translation_of: Mozilla/MathML_Project/Start
---
<h2 id="MathML_in_Action" style="text-align: center;">MathML in Action</h2>
<p>คุณเห็นสมการที่สวยงามตลอดหน้านี้รึเปล่า? ไม่เหรอ? ว้า.. แย่หน่อยนะ. นี่คือ <a href="https://developer.mozilla.org/@api/deki/files/5690/=start.png">ภาพจับหน้าจอ</a> แสดงสิ่งที่คุณพลาดไป. <a href="./">ดาวน์โหลด</a> Mozilla ที่ใช้ MathML ได้ (MathML-enabled build) เสียตั้งแต่ตอนนี้ เพื่ออะไรๆ จะได้ดีขึ้น.</p>
<p>หรือว่าคุณมี build ที่ใช้ MathML ได้แล้ว แต่สิ่งที่คุณได้เห็นนั้น ไม่เหมือนกับในภาพจับหน้าจอ? ถ้าเป็นอย่างนั้น บางทีคุณอาจจะยังไม่มี <a href="fonts/">ฟอนต์ MathML</a> บางตัวก็ได้.</p>
<p>เอาละ ตกลงว่า ตอนนี้คุณมีทุกอย่างพร้อมแล้ว, คุณน่าจะเห็นสมการนี้ ในรูปแบบต่างๆ : <math> <mrow> <mover> <mi>x</mi> <mo>^</mo> </mover> <mo>+</mo> <mover> <mi>xy</mi> <mo>^</mo> </mover> <mo>+</mo> <mover> <mi>xyz</mi> <mo>^</mo> </mover> <mo>.</mo> </mrow> </math> ลองสมการเล็กๆ ดู, <math> <mrow> <mo>det</mo> <mo lspace="0" rspace="0" symmetric="false">|</mo> <mfrac linethickness="0"> <mi>a</mi> <mi>c</mi> </mfrac> <mfrac linethickness="0"> <mi>b</mi> <mi>d</mi> </mfrac> <mo lspace="0" rspace="0" symmetric="false">|</mo> <mo>=</mo> <mi>a</mi> <mi>d</mi> <mo>-</mo> <mi>b</mi> <mi>c</mi> <mo>,</mo> </mrow> </math> ซึ่งก็สามารถที่จะแสดงในแบบ displaystyle เป็น <math display="block"> <mrow> <mo>det</mo> <mo>|</mo> <mtable> <mtr> <mtd> <mi>a</mi> </mtd> <mtd> <mi>b</mi> </mtd> </mtr> <mtr> <mtd> <mi>c</mi> </mtd> <mtd> <mi>d</mi> </mtd> </mtr> </mtable> <mo>|</mo> <mo>=</mo> <mi>a</mi> <mi>d</mi> <mo>-</mo> <mi>b</mi> <mi>c</mi> <mo>.</mo> </mrow> </math></p>
<p>การจัดตัวพิมพ์สำหรับสมการคณิตศาสตร์นั้นเป็นเรื่องละเอียดอ่อน <a href="./">MathML ใน Mozilla</a> มุ่งหวังที่จะทำตาม <a href="http://www.w3.org/Math/">ข้อกำหนด MathML</a> เพื่อให้ <i>สิ่งที่คุณเห็นคือสิ่งที่คุณได้มาร์คอัพไว้ (What You See Is What You Markup)</i>, หรือจะเรียกอีกแบบ <i>สิ่งที่คุณเห็นคือสิ่งที่คุณได้ทำ (What You See Is What You Made)</i>, หรือเอาสั้นๆ "WYSIWYM". ความแตกต่างระหว่างสมการสองอันข้างล่างนี้ คือ การมาร์คอัพ! <math display="block"> <msup> <mrow> <mo minsize="3" symmetric="false">(</mo> <mo>...</mo> <msup> <mrow> <mo minsize="2" symmetric="false">(</mo> <msup> <mrow> <mo symmetric="false">(</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <mo symmetric="false">)</mo> </mrow> <msub> <mi>n</mi> <mn>1</mn> </msub> </msup> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mo minsize="2" symmetric="false">)</mo> </mrow> <msub> <mi>n</mi> <mn>2</mn> </msub> </msup> <mo>+</mo> <mo>...</mo> <mo>+</mo> <msub> <mi>a</mi> <mi>p</mi> </msub> <mo minsize="3" symmetric="false">)</mo> </mrow> <msub> <mi>n</mi> <mi>p</mi> </msub> </msup> </math> <math display="block"> <msup> <mrow> <mo>(</mo> <mo>...</mo> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>n</mi> <mn>1</mn> </msub> </msup> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <msub> <mi>n</mi> <mn>2</mn> </msub> </msup> <mo>+</mo> <mo>...</mo> <mo>+</mo> <msub> <mi>a</mi> <mi>p</mi> </msub> <mo>)</mo> </mrow> <msub> <mi>n</mi> <mi>p</mi> </msub> </msup> </math></p>
<p>สัญลักษณ์ "ราก" ของสมการที่เป็นตัวหนาอันนี้ <math> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> ก็เป็นตัวหนาเช่นเดียวกัน <math display="block"> <mstyle mathvariant="bold"> <mi>y</mi> <mo>=</mo> <mroot> <mrow> <mo>-</mo> <mfrac> <mi>q</mi> <mn>2</mn> </mfrac> <mo>+</mo> <mroot> <mrow> <mfrac> <msup> <mi>q</mi> <mn>2</mn> </msup> <mn>4</mn> </mfrac> <mo>+</mo> <mfrac> <msup> <mi>p</mi> <mn>3</mn> </msup> <mn>27</mn> </mfrac> </mrow> <mn>2</mn> </mroot> </mrow> <mn>3</mn> </mroot> <mo>+</mo> <mroot> <mrow> <mo>-</mo> <mfrac> <mi>q</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mroot> <mrow> <mfrac> <msup> <mi>q</mi> <mn>2</mn> </msup> <mn>4</mn> </mfrac> <mo>+</mo> <mfrac> <msup> <mi>p</mi> <mn>3</mn> </msup> <mn>27</mn> </mfrac> </mrow> <mn>2</mn> </mroot> </mrow> <mn>3</mn> </mroot> <mo>.</mo> </mstyle> </math></p>
<p>เหมือนๆ กับสัญลักษณ์ "ราก" ของสมการนี้ <math> <mrow> <mi>a</mi> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mi>b</mi> <mi>x</mi> <mo>+</mo> <mi>c</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> </mrow> </math> คลิกตรงไหนก็ได้ในพื้นที่สีเหลือง เพื่อ ย่อ/ขยาย :</p>
<div style="display: none;">
  <h2 id="Zoomable_Math" name="Zoomable_Math">Zoomable Math</h2>
  <h3 id="HTML_Content">HTML Content</h3>
  <pre class="brush: html">    &lt;p&gt;
      &lt;math display="block"&gt;
        &lt;mstyle id="zoomableMath" mathbackground="yellow"&gt;
          &lt;mrow&gt;
            &lt;mi&gt;x&lt;/mi&gt;
            &lt;mo&gt;=&lt;/mo&gt;
            &lt;mfrac&gt;
              &lt;mrow&gt;
                &lt;mrow&gt;
                  &lt;mo&gt;-&lt;/mo&gt;
                  &lt;mi&gt;b&lt;/mi&gt;
                &lt;/mrow&gt;
                &lt;mo&gt;&amp;#xB1;&lt;/mo&gt;
                &lt;msqrt&gt;
                  &lt;mrow&gt;
                    &lt;msup&gt;
                      &lt;mi&gt;b&lt;/mi&gt;
                      &lt;mn&gt;2&lt;/mn&gt;
                    &lt;/msup&gt;
                    &lt;mo&gt;-&lt;/mo&gt;
                    &lt;mrow&gt;
                      &lt;mn&gt;4&lt;/mn&gt;
                      &lt;mi&gt;a&lt;/mi&gt;
                      &lt;mi&gt;c&lt;/mi&gt;
                    &lt;/mrow&gt;
                  &lt;/mrow&gt;
                &lt;/msqrt&gt;
              &lt;/mrow&gt;
              &lt;mrow&gt;
                &lt;mn&gt;2&lt;/mn&gt;
                &lt;mi&gt;a&lt;/mi&gt;
              &lt;/mrow&gt;
            &lt;/mfrac&gt;
          &lt;/mrow&gt;
        &lt;/mstyle&gt;
      &lt;/math&gt;
    &lt;/p&gt;

</pre>
  <h3 id="JavaScript_Content">JavaScript Content</h3>
  <pre class="brush: js">      function zoomToggle()
      {
      if (this.hasAttribute("mathsize")) {
      this.removeAttribute("mathsize");
      } else {
      this.setAttribute("mathsize", "200%");
      }
      }

      function load()
      {
      document.getElementById("zoomableMath").
      addEventListener("click", zoomToggle, false);
      }

      window.addEventListener("load", load, false);</pre>
</div>
<p style="text-align: center;">{{ EmbedLiveSample('Zoomable_Math') }}</p>
<p>ลองพิจารณาการมาร์คอัพที่น่าสนใจอันนี้ <math display="block"> <mrow> <mo>{</mo> <mtable> <mtr> <mtd columnalign="center"> <mrow> <msub> <mi>u</mi> <mi>t</mi> </msub> <mo>+</mo> <msub> <mrow> <mi>f</mi> <mo>(</mo> <mi>u</mi> <mo>)</mo> </mrow> <mi>x</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd columnalign="center"> <mrow> <mi>u</mi> <mo stretchy="false">(</mo> <mn>0</mn> <mo>,</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mrow> <mo>{</mo> <mtable> <mtr> <mtd> <mrow> <msup> <mi>u</mi> <mo>-</mo> </msup> </mrow> </mtd> <mtd> <mrow> <mtext>if </mtext> <mi>x</mi> <mo>&lt;</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <mi>u</mi> <mo>+</mo> </msup> </mrow> </mtd> <mtd> <mrow> <mtext>if </mtext> <mi>x</mi> <mo>&gt;</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> </mrow> </mrow> </mtd> </mtr> </mtable> </mrow> </math> หรือการมาร์คอัพที่ซับซ้อนอย่าง <math display="block"> <mrow> <msub> <mover> <mi>Ell</mi> <mo>^</mo> </mover> <mi>Y</mi> </msub> <mo stretchy="false">(</mo> <mi>Z</mi> <mo>;</mo> <mi>z</mi> <mo>,</mo> <mi>τ</mi> <mo stretchy="false">)</mo> <mo>:=</mo> <msub> <mo></mo> <mi>Y</mi> </msub> <mo>(</mo> <munder> <mo></mo> <mi>l</mi> </munder> <mfrac> <mrow> <mrow> <mo>(</mo> <mfrac> <msub> <mi>y</mi> <mi>l</mi> </msub> <mrow> <mn>2</mn> <mi>π</mi> <mi mathvariant="normal">i</mi> </mrow> </mfrac> <mo>)</mo> </mrow> <mrow> <mi>θ</mi> <mo>(</mo> <mfrac> <msub> <mi>y</mi> <mi>l</mi> </msub> <mrow> <mn>2</mn> <mi>π</mi> <mi mathvariant="normal">i</mi> </mrow> </mfrac> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <msup><mi>θ</mi> <mo></mo></msup> <mo stretchy="false">(</mo> <mn>0</mn> <mo stretchy="false">)</mo> </mrow> <mrow> <mi>θ</mi> <mo stretchy="false">(</mo> <mo>-</mo> <mi>z</mi> <mo stretchy="false">)</mo> <mrow> <mi>θ</mi> <mo>(</mo> <mfrac> <msub> <mi>y</mi> <mi>l</mi> </msub> <mrow> <mn>2</mn> <mi>π</mi> <mi mathvariant="normal">i</mi> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> <mo>×</mo> <mo>(</mo> <munder> <mo></mo> <mi>k</mi> </munder> <mfrac> <mrow> <mrow> <mi>θ</mi> <mo>(</mo> <mfrac> <msub> <mi>e</mi> <mi>k</mi> </msub> <mrow> <mn>2</mn> <mi>π</mi> <mi mathvariant="normal">i</mi> </mrow> </mfrac> <mo>-</mo> <mo stretchy="false">(</mo> <msub> <mi>α</mi> <mi>k</mi> </msub> <mo>+</mo> <mn>1</mn> <mo stretchy="false">)</mo> <mi>z</mi> <mo>)</mo> </mrow> <mi>θ</mi> <mo stretchy="false">(</mo> <mo>-</mo> <mi>z</mi> <mo stretchy="false">)</mo> </mrow> <mrow> <mrow> <mi>θ</mi> <mo>(</mo> <mfrac> <msub> <mi>e</mi> <mi>k</mi> </msub> <mrow> <mn>2</mn> <mi>π</mi> <mi mathvariant="normal">i</mi> </mrow> </mfrac> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mi>θ</mi> <mo stretchy="false">(</mo> <mo>-</mo> <mo stretchy="false">(</mo> <msub> <mi>α</mi> <mi>k</mi> </msub> <mo>+</mo> <mn>1</mn> <mo stretchy="false">)</mo> <mi>z</mi> <mo stretchy="false">)</mo> </mrow> </mfrac> <mo>)</mo> </mrow> </math> <math display="block"> <mrow> <mi>π</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> <mo>=</mo> <munderover> <mo></mo> <mrow> <mi>m</mi> <mo>=</mo> <mn>2</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo></mo> <msup> <mrow> <mo>(</mo> <mrow> <munderover> <mo></mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo minsize="1.5"></mo> <mo>(</mo> <mi>m</mi> <mo>/</mo> <mi>k</mi> <mo>)</mo> <mo minsize="2">/</mo> <mo></mo> <mi>m</mi> <mo>/</mo> <mi>k</mi> <mo></mo> <mo minsize="1.5"></mo> </mrow> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo></mo> </mrow> </mrow> </math> <math display="block"> <mrow> <msub> <mrow> <mo></mo> <mi>ϕ</mi> <mo></mo> </mrow> <mrow> <msubsup> <mi>W</mi> <mi>s</mi> <mi>k</mi> </msubsup> <mo stretchy="false">(</mo> <msub> <mi>Ω</mi> <mi>g</mi> </msub> <mo stretchy="false">)</mo> </mrow> </msub> <mo></mo> <msup> <mrow> <mo>(</mo> <munder> <mo></mo> <mrow> <mo>|</mo> <mi>α</mi> <mo>|</mo> <mo></mo> <mi>k</mi> </mrow> </munder> <msubsup> <mfenced close="∥" open="∥"> <mfrac> <mrow> <msup> <mo></mo> <mi>α</mi> </msup> <mi>ϕ</mi> </mrow> <mrow> <mo></mo> <msup> <mi>ξ</mi> <mi>α</mi> </msup> </mrow> </mfrac> </mfenced> <mrow> <msup> <mi>L</mi> <mi>s</mi> </msup> <mo stretchy="false">(</mo> <msub> <mi>Ω</mi> <mi>g</mi> </msub> <mo stretchy="false">)</mo> </mrow> <mi>s</mi> </msubsup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mi>s</mi> </mrow> </msup> </mrow> </math></p>
<p>ตัวอย่างอื่นๆ, ให้ดูที่ลิงก์ในหน้าของ <a href="./">โครงการ MathML</a>, และถ้าคุณ <a href="build.html">สร้าง</a> ตัวโปรแกรม Mozilla ใช้เอง, กรุณาดูที่ไดเรกทอรี <i>mozilla/layout/mathml/tests</i>.</p>
<p>เอาละ, แล้วยังไงต่อไปล่ะ? หลังจากที่คุณได้ลอง MathML ใน Mozilla แล้ว คุณได้เห็นอะไรบ้าง? จะทำยังไงกับบางสิ่งบางอย่างที่คุณคิดว่า มันดูจะไม่ตรงตามข้อกำหนด MathML ซะเท่าไหร่? หรือบางอย่างที่มันดูน่ารำคาญ ไม่น่าดู, และคุณคิดว่าคุณสามารถทำมันได้ดีกว่าซะอีก? หรือบางอย่างที่มันเคยใช้ได้ก่อนหน้านี้ แต่ว่าตอนนี้มันใช้ไม่ได้แล้ว (เรียกอีกอย่างว่า regressions)? ไม่ว่าจะเป็นกรณีไหน, ให้ตรงไปที่ <a href="../../quality/bug-writing-guidelines.html">Bugzilla</a> เพื่อรายงานปัญหาที่พบ. Bugzilla มีเนื้อที่จำนวนมากสำหรับจัดเก็บปัญหาเหล่านี้, และแน่นอน, ปัญหาของคุณคงจะไม่ได้รับการแก้ไขแน่ ถ้ามันไม่เคยถูกรายงาน!</p>
<p><a href="../../get-involved.html">มาช่วยกัน</a> ต่อเติม เสริม <a href="../../newlayout/">Gecko</a> ด้วยตัววาด MathML ที่มีความสามารถสูง และทำตามมาตรฐาน. คุณสามารถทำได้เดี๋ยวนี้ ตอนนี้ โดย <a href="authoring.html">ใส่เนื้อหา MathML ลงในเวบของคุณ</a>, แจ้งข้อผิดพลาดที่ <a href="../../quality/bug-writing-guidelines.html">Bugzilla</a>, และถ้าคุณสามารถช่วยเรื่องเขียนโปรแกรมได้, มาช่วย <a href="http://lxr.mozilla.org/seamonkey/source/layout/mathml/">ตรวจสอบ/ปรับปรุง โค้ดปัจจุบัน</a>, และ/หรือ เลือกอะไรสักอย่างนึงจาก <a href="update.html">รายการสิ่งที่ต้องทำ (ToDo)</a>.</p>