Phân số và căn trong MathML

Dựa trên các vùng chứa văn bản, bài viết này mô tả cách xây dựng các biểu thức MathML phức tạp hơn bằng cách lồng phân số và căn.

Cây con của <mfrac>, <msqrt> và <mroot>

Trong bài bắt đầu với MathML, chúng ta đã gặp phần tử <mfrac> để mô tả một phân số. Hãy xem một ví dụ cơ bản, thêm các phần tử mới cho căn (<msqrt><mroot>):

html
<math>
  <mfrac>
    <mtext>child1</mtext>
    <mtext>child2</mtext>
  </mfrac>
</math>
<br />
<math>
  <msqrt>
    <mtext>child1</mtext>
    <mtext>child2</mtext>
    <mtext>...</mtext>
    <mtext>childN</mtext>
  </msqrt>
</math>
<br />
<math>
  <mroot>
    <mtext>child1</mtext>
    <mtext>child2</mtext>
  </mroot>
</math>

Bên dưới là ảnh chụp cách trình duyệt hiển thị:

Ảnh chụp mfrac, msqrt, mroot

  • Chúng ta đã biết phần tử <mfrac> được hiển thị như một phân số: phần tử con đầu tiên (tử số) nằm phía trên phần tử con thứ hai (mẫu số), được ngăn cách bởi một đường ngang.
  • Phần tử <msqrt> được hiển thị như căn bậc hai: các phần tử con của nó được bố trí giống như một <mrow>, đứng sau ký hiệu căn √ và được phủ hoàn toàn bởi một gạch ngang phía trên.
  • Cuối cùng, phần tử <mroot> được hiển thị như căn bậc n: phần tử đầu tiên được bao bởi ký hiệu căn, còn phần tử thứ hai được dùng làm số mũ của căn và hiển thị dưới dạng chỉ số trên ở phía trước.

Lồng các phần tử khác nhau

Đây là một bài tập để kiểm tra xem bạn đã hiểu mối quan hệ giữa cây con MathML và cách nó được hiển thị trực quan hay chưa. Tài liệu chứa một công thức MathML và bạn phải kiểm tra mọi cây con tương ứng với một cây con trong công thức đó. Khi xong, bạn có thể xem mã nguồn của công thức MathML và kiểm tra xem nó có khớp với dự đoán của bạn không.

Ký hiệu căn co giãn

Như đã thấy trước đó, gạch ngang của các phần tử <msqrt><mroot> kéo dài theo chiều ngang để bao phủ nội dung của chúng. Nhưng thực ra ký hiệu căn √ cũng co giãn để cao bằng nội dung.

html
<math display="block">
  <mroot>
    <msqrt>
      <mfrac>
        <mn>1</mn>
        <mn>2</mn>
      </mfrac>
    </msqrt>
    <mn>3</mn>
  </mroot>
</math>

Warning: Các phông toán học đặc biệt thường được yêu cầu để việc co giãn này hoạt động; ví dụ trước dựa vào web fonts.

Phân số không có vạch

Một số khái niệm toán học đôi khi được viết bằng ký hiệu giống phân số như hệ số nhị thức hoặc ký hiệu Legendre. Việc dùng phần tử <mfrac> để đánh dấu những ký hiệu như vậy là phù hợp. Với các ký hiệu giống phân số không vẽ đường ngang, hãy gắn thuộc tính linethickness="0" vào phần tử <mfrac>:

html
<math display="block">
  <mrow>
    <mo>(</mo>
    <mfrac linethickness="0">
      <mn>3</mn>
      <mn>2</mn>
    </mfrac>
    <mo>)</mo>
  </mrow>
  <mo>=</mo>
  <mn>3</mn>
  <mo>≠</mo>
  <mfrac>
    <mn>3</mn>
    <mn>2</mn>
  </mfrac>
</math>

Note: Dù thuộc tính linethickness có thể được dùng để chỉ định độ dày tùy ý, tốt hơn là nên giữ giá trị mặc định, vì giá trị này được tính từ các tham số được chỉ định trong phông toán học.

Tóm tắt

Trong bài học này, chúng ta đã xem cách xây dựng phân số và căn bằng các phần tử <mfrac>, <msqrt><mroot>. Chúng ta đã nhận ra một vài đặc tính đặc biệt của các phần tử này, cụ thể là ký hiệu phân số và ký hiệu căn. Chúng ta cũng đã xem cách dùng thuộc tính linethickness để vẽ phân số không có vạch. Trong bài tiếp theo, chúng ta sẽ tiếp tục với các ký hiệu toán cơ bản và xem xét chỉ số.

Xem thêm