1. Trang chủ
  2. » Thể loại khác

NGHIÊN CỨU ỨNG DỤNGMATHML ĐỂ QUẢN LÝ CÁC CÔNGTHỨC TOÁN HỌC TRÊN VĂN BẢN

95 25 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 95
Dung lượng 2,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu chính mà đề tài hướng đến là ứng dụng MathML, các phần mềm mãnguồn mở để soạn thảo, quản lý, tìm kiếm công thức toán học trên văn bản và saochép công thức toán học từ hai phần m

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC ĐÀ NẴNG

PHAN THỊ LỆ THUYỀN

NGHIÊN CỨU ỨNG DỤNG MATHML

ĐỂ QUẢN LÝ CÁC CÔNG THỨC TOÁN HỌC TRÊN VĂN BẢN

Chuyên ngành: KHOA HỌC MÁY

TÍNH Mã số: 60.48.01

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: PGS.TS VÕ TRUNG

HÙNG

Đà Nẵng - Năm 2011

Trang 3

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn các Thầy của Khoa Công nghệ Thông tin, Trường Đại học Bách khoa, Đại học Đà Nẵng đã truyền đạt cho em những kiến thức về chuyên ngành cũng như xã hội Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Võ Trung Hùng – Đại học Đà Nẵng, đã trực tiếp hướng dẫn và giúp đỡ em hoàn thành luận văn Trong quá trình làm luận văn, em đã gặp nhiều khó khăn nhưng thầy luôn động viên và đưa ra định hướng giúp em hoàn thành đúng tiến độ Thầy chính là tấm gương cho em trong công tác giảng dạy, nghiên cứu khoa học, cũng như trong cuộc sống Em xin cảm ơn thầy.

Em xin chân thành cảm ơn!

Đà Nẵng, tháng 06 năm 2011

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan:

- Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của PGS.TS Võ Trung Hùng.

- Những nội dung tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.

Tác giả

Phan Thị Lệ Thuyền

Trang 5

MỤC LỤC

Trang 6

LỜI CẢM ƠN ii

LỜI CAM ĐOAN iii

MỤC LỤC iv

DANH MỤC CÁC T VI T T T vi

DANH MỤC BẢNG vii

DANH MỤC HÌNH ẢNH viii

DANH MỤC HÌNH ẢNH viii

MỞ ĐẦU 1

CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 3

1.1 SOẠN THẢO, LƯU TRỮ VÀ TÌM KIẾM CÁC CÔNG THỨC TOÁN HỌC TRÊN VĂN BẢN 3

1.1.1.Khái niệm văn bản 3

1.1.2.Hệ soạn thảo văn bản 4

1.1.3.Quá trình nhập công thức 4

1.1.4.Tình trạng sử dụng phần mềm gõ công thức toán học hiện nay 6

1.1.5.Biểu diễn công thức toán học trên máy tính 7

1.1.6.Thực trạng tìm kiếm công thức toán học 10

1.1.7.Các phần mềm hỗ trợ soạn thảo công thức toán học 10

1.2 GIỚI THIỆU MỘT SỐ NGÔN NGỮ ĐÁNH DẤU TOÁN HỌC 12

1.2.1.Ngôn ngữ đánh dấu LaTex 12

1.2.2.Ngôn ngữ đánh dấu AMS-Latex 15

1.2.3.Ngôn ngữ đánh dấu HTML 16

1.3 NGÔN NGỮ ĐÁNH DẤU MATHML 18

1.3.1.Lịch sử của MathML 19

Trang 7

1.3.2.Tính năng của MathML 19

1.3.3.Cách thức hiển thị của MathML 19

1.3.4.Cấu trúc của MathML 20

1.3.5.Tạo công thức toán học 21

Tiểu kết chương 1 28

CHƯƠNG 2 ĐỀ XUẤT GIẢI PHÁP 29

2.1.MÔ TẢ ỨNG DỤNG 29

2.2.MÔ HÌNH TỔNG QUÁT 29

2.3 ĐỀ XUẤT GIẢI P H Á P 30 2.3.1.Tiêu chuẩn lưu trữ nội dung 31

2.3.2.Hệ thống soạn thảo 33

2.3.3.Giải pháp quản lý, tìm kiếm công thức toán học 34

2.3.4.Giải pháp sử dụng ClipBoard sao chép công thức toán học 45

Tiểu kết chương 2 56

CHƯƠNG 3 TRIỂN KHAI ỨNG DỤNG 57

3.1.XÂY DỰNG MÔI TRƯỜNG SOẠN THẢO 57

3.2.SỬ DỤNG TRÌNH DUYỆT AMAYA 62

3.3.TÍCH HỢP PHẦN MỀM GÕ CÔNG THỨC TOÁN HỌC 63

3.4.THỬ NGHIỆM 64

Tiểu kết chương 3 70

K T LUẬN 71

DANH MỤC TÀI LIỆU THAM KHẢO 72

Trang 8

5

Trang 9

DANH MỤC CÁC T VI T T T

CSS Cascading Style Sheets Các bảng định kiểu theo tầngHTML HyperText Markup Language Ngôn ngữ Đánh dấu Siêu văn

bảnMathML Mathematical Markup Language Ngôn ngữ Đánh dấu Toán họcOLE Object Linking and Embedding Liên kết và nhúng đối tượng

SVG Scalable Vector Graphics

Một ngôn ngữ đánh dấu của XML, dùng để miêu tả các hình ảnh đồ họa véc tơ hai chiều, tĩnh và động

W3C The World Wide WebConsortium Hiệp hội Web thế giới

WYSIWYG What You See Is What You Get Thấy gì thì nhận được như vậyXHTML Extensible HyperText MarkupLanguage Ngôn ngữ Đánh dấu Siêu văn bản Mở rộngXML eXtensible Markup Language Ngôn ngữ Đánh dấu Mở rộng

Trang 10

DANH MỤC BẢNG

Bảng 1 1 So sánh các phần mềm soạn thảo 10

Bảng 1 2 So sánh các công cụ soạn thảo 12

Bảng 1 3 So sánh các ngôn ngữ đánh dấu 18

Bảng 1 4 Một số thẻ đặc trưng của MathML 21

Bảng 2 1 Các định dạng ClipBoard phổ biến của OpenOffice 46

Bảng 2 2 So sánh mã MathML ghi trên tập tin mml và trình duyệt Amaya 50

Bảng 2 3 So sánh hai ngôn ngữ đánh dấu trên hai trình soạn thảo 53

Trang 11

DANH MỤC HÌNH ẢNH

Hình 1 1 Nhập công thức bằng bảng hoặc menu ngữ cảnh 5

Hình 1 2 Hiển thị công thức trên màn hình soạn thảo 5

Hình 1 3 Cửa sổ soạn thảo trên TeXworks 6

Hình 1 4 Cửa sổ sau khi biên dịch sang .pdf 6

Hình 1 5 Cửa sổ soạn thảo của Equation 11

Hình 1 6 Cửa sổ của MathType 11

Hình 1 7 Công cụ MyEqText soạn thảo trực tiếp trong cửa sổ Word 12

Hình 1 8 Quá trình soạn thảo bằng Latex 14

Hình 1 9 Gói Amsmath cung cấp môi trường subequations đánh số tự động 16

Hình 1 10 Biểu diễn công thức bậc hai theo từng phần tử 22

Hình 1 11 Mô tả tính cấu trúc trong bình bày công thức 24

Hình 1 12 MathML biểu diễn theo cấu trúc câu 27

Hình 2 1 Mô hình tổng quát của hệ thống 30

Hình 2 2 Hệ thống lưu trữ nội dung 33

Hình 2 3 Mỗi công thức bắt đầu thẻ <math xmlns …> và kết thúc </math> 36

Hình 2 4 Cấu trúc các thẻ lồng vào nhau 37

Hình 2 5 Tìm kiếm ký tự a và tìm kiếm ký hiệu căn bậc hai 41

Hình 2 6 Hình ảnh được định dạng bởi các thẻ SVG 49

Hình 2 7 Sơ đồ quá trình chuyển đổi dữ liệu trong ClipBoard 51

Hình 2 8 Thuật toán chuyển công thức từ OpenOffice.Org Math sang cấu trúc

MathML trong Amaya 52

Hình 3 1 Kiến trúc Amaya 57

Trang 12

Hình 3 2 Lược đồ cấu trúc trình biên dịch của cây nhị phân 59

Hình 3 3 Chức năng gõ công thức được tích hợp trên phần mềm 63

Hình 3 4 Sử dụng thanh trình đơn để nhập công thức 64

Hình 3 5 Giao diện màn hình soạn thảo văn bản 64

Hình 3 6 Thanh trình đơn chứa các menu chức năng 65

Hình 3 7 Cửa sổ hiển thị nội dung và mã nguồn 65

Hình 3 8 Tìm kiếm công thức x   y 66

Hình 3 9 Tìm kiếm ký hiệu toán học 67

Hình 3 10 Tìm kiếm chỉ số trong toán học 68

Hình 3 11 Duyệt trang:http://www.mathjax.org/demos/mathml-samples/ 68

Hình 3 12 Duyệt tranghttp://www.w3.org/Math/XSL/pmathml2.xml 69

Hình 3 13 Kết quả của chương trình chuyển đổi Math Clipboard Converted 69

Trang 13

1

-MỞ ĐẦU

Hiện nay, có rất nhiều công cụ cho phép soạn thảo các công thức toán học trênvăn bản như Winword, OpenOffice.org Writer, Acrobat, WebEditor,… Mỗi phầnmềm soạn thảo văn bản có một chuẩn lưu trữ và được quản lý khác nhau Điều nàylàm cho người sử dụng gặp nhiều khó khăn khi sao chép nội dung các công thứctoán học giữa các ứng dụng và không thể thực hiện yêu cầu tìm kiếm một công thứctoán học trên một ứng dụng soạn thảo

Xuất phát từ nhu cầu thực tế đó, việc nghiên cứu về cách thức lưu trữ, soạnthảo, tìm kiếm các công thức toán học và đặc biệt nghiên cứu tiêu chuẩn MathMLtrong việc quản lý các công thức toán học trên văn bản có ý nghĩa khoa học và thựctiễn rất cao Để có điều kiện nghiên cứu sâu hơn về MathML và ứng dụng, tôi đã

chọn đề tài tốt nghiệp “Nghiên cứu ứng dụng MathML để quản lý các công thức toán học trên văn bản”.

Mục tiêu chính mà đề tài hướng đến là ứng dụng MathML, các phần mềm mãnguồn mở để soạn thảo, quản lý, tìm kiếm công thức toán học trên văn bản và saochép công thức toán học từ hai phần mềm soạn thảo với hai ngôn ngữ đánh dấu khácnhau Để đáp ứng mục tiêu đã nêu, đề tài cần giải quyết những vấn đề chính sau:Nghiên cứu tổng quan về tiêu chuẩn lưu trữ, soạn thảo và hiển thị các công thức toánhọc trên các văn bản; Nghiên cứu một số công cụ hỗ trợ soạn thảo công thức toánhọc và thực trạng tìm kiếm công thức toán học hiện nay; Nghiên cứu một phần mềm

mã nguồn mở để mô phỏng ứng dụng soạn thảo công thức, lưu trữ và hỗ trợ tìmkiếm trên văn bản; Xây dựng phần mềm thực hiện chức năng sao chép công thứctoán học từ hai trình soạn thảo

Đối tượng nghiên cứu khi thực hiện đề tài là công cụ hỗ trợ soạn thảo, các tiêuchuẩn lưu trữ, phương pháp hiển thị và tìm kiếm công thức toán học Trong đề tàinày, tôi chọn mã nguồn mở Amaya để triển khai ứng dụng

Việc xây dựng một môi trường soạn thảo và tìm kiếm công thức toán học trênchuẩn MathML trong môi trường Web có ý nghĩa hết sức thiết thực đối với việc trao

Trang 14

2 đổi tài liệu khoa học trong thời đại công nghệ thông tin như hiện nay Kết quả của đềtài sẽ góp phần quan trọng trong việc xử lý các công thức toán học trong các hệthống hỗ trợ dạy và học qua mạng Internet (E-Learning), diễn đàn khoa học,…Báo cáo của luận văn được tổ chức thành 3 chương Trong chương 1, chúng tôitrình bày kết quả nghiên cứu về các ứng dụng soạn thảo văn bản, các công cụ hỗ trợsoạn thảo công thức toán học và ngôn ngữ đánh dấu MathML Chương 2 được dành

-để mô tả ứng dụng, xây dựng mô hình tổng quát, đề xuất giải pháp xây dựng môitrường soạn thảo công thức, tiêu chuẩn lưu trữ và tìm kiếm công thức toán học, giảipháp sao chép công thức từ OpenOffice.Org writer sang WebBrowser Amaya Nộidung chương 3 trình bày việc lựa chọn môi trường triển khai ứng dụng, quá trìnhxây dựng môi trường soạn thảo, tìm kiếm công thức toán học và sao chép công thứcgiữa hai trình soạn thảo

Trang 15

3

-CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN

Trong thời đại ngày nay, máy tính đã trở thành công cụ không thể thiếu đểphục vụ công tác soạn thảo văn bản Hiện nay các công cụ hỗ trợ việc soạn thảo vănbản khoa học khá đa dạng, tuy nhiên các công cụ này không đồng nhất về một chuẩnsoạn thảo Vì vậy, việc chuyển đổi tài liệu qua lại giữa các phần mềm này rất khókhăn do đó cần phải có một chuẩn thống nhất để lưu trữ, quản lý Trong chương này,tôi trình bày cơ sở lý thuyết và thực tiễn về soạn thảo, lưu trữ và tìm kiếm công thứctoán trên văn bản

1.1 SOẠN THẢO, LƯU TRỮ VÀ TÌM KI M CÁC CÔNG THỨC TOÁN HỌC TRÊN VĂN BẢN

1.1.1 Khái niệm văn bản

Theo nghĩa rộng, văn bản là vật mang tin (Các vật liệu dùng để viết như:xương thú vật, đồng, đá, gỗ, da, tre, giấy,…) được ghi bằng ký hiệu ngôn ngữ nhấtđịnh (Các loại chữ viết như: chữ Hán, chữ Nôm, chữ Quốc ngữ,…) Theo định nghĩanày thì mọi vật có ghi ký hiệu ngôn ngữ như: bia đá, gia phả, câu đối, các tác phẩmvăn học, các công trình nghiên cứu khoa học, các công văn, giấy tờ của các cơ quan

… đều là văn bản Khái niệm này được dùng phổ biến trong nghiên cứu về ngôn ngữhọc, sử học và văn bản học

Theo nghĩa hẹp, văn bản là các công văn, giấy tờ, hồ sơ được hình thành trongquá trình hoạt động của các cơ quan, doanh nghiệp, đoàn thể như: nghị định, chỉ thị,thông tư, nghị quyết, báo cáo, biên bản, tờ trình, thông báo… Khái niệm này được

sử dụng rộng rãi trong hoạt động quản lý của các cơ quan

Cùng với phát triển của công nghệ thông tin, nhu cầu ứng dụng công nghệthông tin trong thực tiễn đã sản sinh ra một loại hình đó là văn bản điện tử Văn bảnđiện tử được tạo ra và đọc trong môi trường điện tử Đó là môi trường của các thiết

bị kỹ thuật (phương tiện máy móc), hoạt động trên cở sở các quy luật vật lý và được

sử dụng vào công nghệ thông tin để xử lý, lưu giữ và truyền tải các dữ liệu

Trang 16

4 Nói một cách khái quát, văn bản là phương tiện ghi tin và truyền đạt thông tinbằng một ngôn ngữ hay kí hiệu nhất định Ở mỗi lĩnh vực văn bản có những hìnhthức và nội dung khác nhau Chẳng hạn, văn bản nghệ thuật khác với văn bản quản

-lí Nhà nước; văn bản lập pháp khác với văn bản lập quy; văn bản báo cáo khác vớivăn bản kế hoạch [13]

1.1.2 Hệ soạn thảo văn bản

Hệ soạn thảo văn bản là một phần mềm ứng dụng cho phép thực hiện cácthao tác liên quan đến công việc soạn thảo văn bản như: nhập văn bản, sửa đổi vănbản, trình bày, lưu trữ, tìm kiếm và in văn bản với sự trợ giúp của máy tính Ví dụ:Microsoft Word, Notepad, WordPad, …

1.1.3 Quá t ình nhập công thức

Có ba cách nhập công thức bằng công cụ soạn thảo văn bản Cách thứ nhất lànhập công thức bằng các ký tự có sẵn trong bảng lựa chọn(seclection) hiện ra Cáchthứ hai là nhấp chuột phải lên trình soạn thảo công thức và chọn ký tự từ menu ngữcảnh Cách thứ ba là nhập công thức bằng ngôn ngữ đánh dấu Nhưng thực chất việc

sử dụng menu ngữ cảnh hay sử dụng bảng lựa chọn tức là cũng đã nhập vào đoạn

mã (code) tương ứng với ký tự

1.1.3.1 Sử dụng bảng lựa chọn

Phương pháp thứ nhất và thứ hai thì đơn giản, trực quan và dễ sử dụng Ví dụqua phần mềm OpenOffice.Org, quá trình soạn thảo công thức chúng ta có thể chọncác thành phần để tạo công thức qua bảng hoặc qua menu ngữ cảnh sau đó nhập cácgiá trị tương ứng vào công thức:

Trang 17

5

-Hình 1 1 Nhập công thức bằng bảng hoặc menu ngữ cảnh

Hình 1 2 Hiển thị công thức trên màn hình soạn thảo

1.1.3.2 Sử dụng ngôn ngữ đánh dấu

Trong cách này, chúng ta có thể gõ trực tiếp thông qua ngôn ngữ đánh dấu(Markup Language) vào vùng soạn thảo công thức toán Với phương pháp này thìđòi hỏi người soạn thảo phải học cách soạn thảo dựa trên các dòng lệnh hoặc thẻ Vìvậy đây không phải là một phương pháp thân thiện cho người sử dụng

Trang 18

trên TeXworks, chúng ta phải nhớ đoạn

mã lệnh khai báo cần thiết cho tài liệu và mã lệnh tạo công thức Sau khi hoàn thànhquá trình soạn thảo, người sử dụng tiến hành biên dịch sang tập tin pdf khi đó mớixem kết quả soạn thảo

Trang 19

Hình 1 3 Cửa sổ soạn thảo trên TeXworks

Hình 1 4 Cửa sổ sau khi biên dịch sang pdf

1.1.4 Tình t ạng sử dụng phần mềm g công thức toán học hiện nay

Hiện nay, trên thế giới có rất nhiều phần mềm hỗ trợ quá trình gõ công thứctoán học trên văn bản Ngoài những phần mềm thương mại như: Mathtype,Microsoft Equation trong bộ Microsoft Office,… hoặc những phần mềm mã nguồn

mở như: MathCast, Math trong OpenOffice.Org, hoặc phần mềm phi thương mạicủa Việt Nam như MyeqText,…

Nhưng mỗi công cụ chỉ hỗ trợ phù hợp cho từng phần mềm soạn thảo cụ thể

Do đó, khi sử dụng phần mềm soạn thảo nào thì người sử dụng dùng công cụ hỗ trợ

gõ công thức tương ứng với nó Nhưng việc sử dụng công cụ hỗ trợ gõ công thứctoán học của người dùng lại không nhất quán, nghĩa là không theo một phần mềm

Trang 20

nhất định Mặc khác, với mỗi trình soạn thảo văn bản có một chuẩn lưu trữ khácnhau vì vậy sẽ gặp rất nhiều khó khăn trong việc hợp nhất các văn bản được tạo ra từnhiều ứng dụng khác nhau.

1.1.5 Biểu diễn công thức toán học t ên máy tính

Ký hiệu toán học là một loại văn bản định dạng đặc biệt Nó dựa trên các bảngchữ cái khác nhau (tiếng Hy Lạp, tiếng Do Thái,…), các quy tắc và các bit của kýhiệu Để biểu diễn các ký hiệu này phải dựa vào các chuẩn trong văn bản, các phôngchữ được cài đặt sẵn

Trong quá trình soạn thảo công thức toán học trong văn bản, các ký tự toán học

mà chúng ta nhìn thấy đó chỉ là hình ảnh của công thức Vậy thật sự các công thứcnày lưu trong văn bản ở dạng mã như thế nào và mỗi trình soạn thảo văn bản thìdạng thức lưu có khác nhau không Ở đây chúng ta chỉ tìm hiểu ở ba loại văn bảnthường sử dụng nhất

1.1.5.1 Biểu diễn công thức toán học trên Microsoft Word

Ví dụ trong Microsoft word 2003, để hiển thị công thức 3 x , soạn thảo bằng

phương trình Editor thì phải sử dụng đoạn mã sau:

{ EQ \r(3,x) }

Trang 21

Hoặc 2 được biểu diễn bằng đoạn mã sau:

5

{ EQ \f(2,5) }

Equation Editor (Soạn thảo phương trình) là một trình soạn thảo công thứcphát triển bởi Design Science Cho phép người dùng xây dựng các phương trìnhtoán học và khoa học trong một môi trường WYSIWYG (What You See Is WhatYou Get), được tích hợp trong tất cả các phiên bản Microsoft Office và nhiều ứngdụng thương mại khác Equation có thể được sử dụng như là một chương trình độclập hoặc nó cũng có thể được sử dụng từ bên trong ứng dụng hỗ trợ OLE như mộtđối tượng nhúng

Trang 22

Giống như những phiên bản trước, Microsoft Word chứa chuẩn định dạng dữliệu nhị phân Nhưng hiện nay chuẩn Office Open XML (OOXML) hay làopenXML được phát triển bởi Microsoft, hỗ trợ định dạng văn bản được đề xuất sửdụng các phiên bản mới từ năm 2006 Microsoft Office 2003 có thể cập nhật kiểuđịnh dạng văn bản này và phiên bản mới chẳng những hỗ trợ OOXML mà còn hỗtrợ chuẩn Open Document Format (ODF).

1.1.5.2 Biểu diễn công thức toán học trên WebSite

Các ngôn ngữ và các định dạng khác nhau tạo nên các trang web hiện đại(HTML, XHTML, CSS, …) đáp ứng hầu hết các mục đích, nhưng có một vấn đềkhó khăn là trong việc trình bày phương trình toán học và sơ đồ Do đó các côngthức toán học được tạo là sự nhúng hỉnh ảnh vào HTML

Ví dụ sử dụng website của Casiovn chạy trên Firefox tại địa chỉhttp://www.casiovn.com/web/gotoanhoc.aspx, để tạo công thức toán học chúng taphải nhập vào đoạn mã của Latex tương ứng Sau đây là ví dụ minh hoạ:

Trang 23

1.1.5.3 Biểu diễn công thức toán học trên OpenOffice.Org

Đối với bộ OpenOffice.Org, việc tạo ra một công thức toán học trên trình soạnthảo là rất đơn giản thông qua OpenOffice.org Math Ta chỉ việc sử dụng bảng lựachọn các ký hiệu cần chèn và công thức tạo ra sẽ tương ứng với đoạn mã được sinh

ra Sau đây là ví dụ minh họa:

Trang 24

Hoặc hiển thị công thức 3 x thì chúng ta có đoạn mã tương ứng sau:

nroot{3}{x}

Open Document Format (ODF) là chuẩn định dạng văn bản trênOpenOffice.org ODF đây là một chuẩn định dạng mở, miễn phí được hậu thuẫn bởi

2 tên tuổi rất lớn là IBM và Sun Microsystem

Năm 2006, định dạng văn bản mở Open Document Format (ODF) được Tổchức tiêu chuẩn quốc tế (ISO) thông qua Chuẩn này được thiết kế để đại diện chochức năng của sản phẩm OpenOffice.org, với tên ban đầu là “Open Office XMLFormat”, hỗ trợ cho cả OOXML và hỗ trợ luôn chuẩn công thức toán học cho việcsoạn thảo văn bản báo cáo khoa học

So sánh các phần mềm soạn thảo

- Chuẩn định dạng tập tin ở

dạng nhị phân-chuẩn độc

quyền của hãng Microsoft

Nhưng sau năm 2006 thì

Microsoft hỗ trợ thêm

chuẩn định dạng văn bản là

XML

- Mozilla Firefox tích hợp nhiều tiêu chuẩnweb, bao gồm HTML, XML, XHTML,… Đây

là phần mềm mã nguồn mở

- Chuẩn định dạng văn bản là chuẩn định dạng

mã nguồn mở ODF, đây

- Tổng công ty Oracle vànhiều tổ chức, cá nhânkhác

- Sở hữu độc quyền EULA

(End User License

Agreement – Thỏa thuận

giấy phép người sử dụng

- Được viết bằng C++, JavaScript,…

- Sử dụng ngôn ngữ C++, Java

Trang 25

MS Word 2003 Firefox [19] OpenOffice.Org

cuối)

- Dùng soạn thảo và hiển thị

nội dung văn bản

1.1.6 Thực t ạng tìm kiếm công thức toán học

Hàng ngày, chúng ta thường sử dụng chức năng tìm kiếm tài liệu trong côngviệc, nhưng thực tế đó chỉ là tìm kiếm văn bản dưới dạng chuỗi Vậy tìm kiếm vănbản dưới dạng công thức thì sao? Đây là một vấn đề mà chúng ta ít quan tâm nhưngrất quan trọng

Công thức được định dạng như một tập tin hình ảnh Vì lý do đó, chúng takhông thể thực hiện quá trình tìm kiếm giống như tìm kiếm chuỗi trong văn bảnthông thường mà chúng ta thường sử dụng

Các trình ứng dụng soạn thảo văn bản thông dụng hiện nay chưa có công cụtrợ giúp cho việc tìm kiếm công thức toán học Trên Internet, Website LatexSearch

có hỗ trợ tìm kiếm các công thức toán học được soạn thảo bằng ngôn ngữ đánh dấuLatex Đây là bản quyền của MPS Technologies (Mathematical ProgrammingSystem) Nhưng những kết quả tìm thấy chỉ giới hạn trên những tài liệu điện tử trênmáy chủ SpringerLink

1.1.7 Các phần mềm hỗ t ợ soạn thảo công thức toán học

Hiện nay có rất nhiều phần mềm hỗ trợ soạn thảo công thức toán học trong đó

có cả phần mềm thương mại và phần mềm mã nguồn mở Chúng tôi giới thiệu ở đây

3 ứng dụng hỗ trợ cho quá trình nhập công thức toán học vào văn bản

1.1.7.1 Ứng dụng Microsoft Equation 3.0 trong bộ Office

Microsoft Equation là 1 ứng dụng trong bộ Office mà hãng Microsoft bán kèmtheo Microsoft Equation là công cụ dùng để tạo các biểu thức, đẳng thức toán học

Trang 26

trong văn bản Trong cửa sổ soạn thảo Equation, công thức được chèn vào dưới dạng lựa chọn bằng bảng.

Hình 1 5 Cửa sổ soạn thảo của Equation

1.1.7.2 Phần mềm MathType

Mathtype là một phần mềm thương mại của Design Science cho phép tạo các

ký hiệu toán học để xứ lý văn bản như Microsoft word, OpenOffice, E-Learning, …Trong cửa sổ soạn thảo của Mathtype các công thức được tạo dưới dạng lựa chọnbằng bảng Với Mathtype, chúng ta có thể chuyển công thức sang các dạng chuẩn khác nhau như: Latex, MathML, …

Hình 1 6 Cửa sổ của MathType

1.1.7.3 Phần mềm MyEqText

Tiện ích Microsoft Equation 3.0 có sẵn trong MS Word, tuy dễ sử dụng nhưngrất mất thời gian, làm giảm tiến độ công việc cũng như gây khó chịu cho ngườidùng Nắm bắt được nhu cầu đó, MyEqText của Mỵ Duy Thọ [8][9] ra đời như một

Trang 27

yêu cầu tất yếu, một phần mềm Việt cho người Việt Không như một số công cụ hỗtrợ soạn thảo công thức toán học khác, MyEqText được tích hợp ngay vào MS Wordnhư một thanh công cụ trong Word bạn hoàn toàn có thể soạn thảo trực tiếp ngaytrong Word.

Hình 1 7 Công cụ MyEqText soạn thảo trực tiếp trong cửa sổ Word

So sánh các công cụ soạn thảo

- Phần mềm thương mại -Phần mềm thương mại - Đang dùng thử

- Độc quyền của Microsoft - Sở hữu bởi Design

- Là một chương trìnhtạo các ký hiệu toán học trong Microsoft Office thay thế cho Equation của

Bảng 1 2 So sánh các công cụ soạn thảo

1.2.1 Ngôn ngữ đánh dấu LaTex

Trang 28

Tex là một hệ thống sắp chữ được viết bởi Donald E.Knuth ở Đại học Stanfordvào năm 1977 Nó phổ biến trong môi trường hàn lâm , đặc biệt là trong cộng đồngtoán học , vật lí và khoa học máy tính Tex được xem là cách tốt nhất để gõ côngthức toán học phức tạp nhằm phục vụ nhu cầu soạn thảo các tài liệu toán học vớichất lượng bản in cao Với Tex, người sử dụng có thể tạo ra các ký hiệu khác màTex không có, điều này làm tăng sức mạnh của Tex so với các công cụ khác chỉdùng các ký hiệu đã có sẵn Tex như chúng ta thấy ngày nay được phát hành vàonăm 1982 cùng với một số nâng cấp được bổ sung vào năm 1989 để hỗ trợ tốt hơncho các ký tự 8 bit và đa ngôn ngữ Tex được cải tiến và trở nên ổn định, có thể chạytrên các hệ thống máy tính khác nhau và gần như không có lỗi [17].

Bắt đầu từ năm 1980, Leslie Lamport bắt đầu tạo ra hệ thống soạn thảo vănbản ngày nay gọi là LaTex dựa trên định dạng của Tex Hệ thống LaTex thêm vàonhững lệnh tổng quát cho Tex và hướng người dùng vào cấu trúc văn bản hơn làđịnh dạng chi tiết Một số lệnh bậc cao cho phép người dùng dễ dàng soạn ra hầu hếtcác loại tài liệu Người dùng LaTex và Tex càng ngày càng nhiều, để đáp ứng vớiđòi hỏi đó và ứng dụng các công nghệ thông tin hiện đại, từ năm 1989 có một dự ánxem xét lại LaTex và mở rộng nó MikTex là một phần mềm miễn phí chế bảnLaTex tốt nhất hiện nay [26] Mặc dù từ MikTex 2.8 có bổ sung thêm trình soạnthảo TexWorks để soạn thảo văn bản Tex nhưng quá đơn giản nên rất khó cho ngườimới học Tex

Với MS Word thì người soạn thảo có thể tương tác trực tiếp với văn bản đangsoạn thảo và họ thấy ngay kết quả định dạng tuy nhiên họ lại không thể đảm bảo sựthống nhất trong việc trình bày văn bản Latex khắc phục yếu điểm này bằng cáchyêu cầu người soạn thảo định nghĩa cấu trúc lô-gic của văn bản thông qua một loạtlệnh được cài lẫn trong văn bản Sau đó sẽ biên dịch tập tin văn bản dạng tex thànhtập tin pdf với cách trình bày tốt nhất Việc tạo ra tập tin PDF từ tập nguồn LaTex

đã trở nên rất dễ dàng nhờ vào công cụ chuyển đổi

 Có nhiều lý do để sử dụng Latex

Trang 29

- Hỗ trợ tối đa cho việc soạn thảo các tài liệu toán học hay rộng

hơn là các tài liệu kỹ thuật

- Chất lượng bản in bằng Latex rất cao.

- Có thể đọc được các tài liệu bằng Latex trên nền tảng nhiều hệ

điều hành khác nhau với các định dạng không thay đổi

- Cấu trúc và môi trường trong Latex rất sáng sủa, dễ hiểu và

người dùng có thể tạo ra những dòng lệnh cho riêng mình

- Được sử dụng phổ biến trong các tài liệu khoa học.

 Bên cạnh những điểm mạnh trên thì LaTeX cũng có một số điểm yếunhư:

- Người soạn thảo phải học cách soạn thảo dựa trên các dòng lệnh.

Việc ghi nhớ đối với những người mới bắt đầu là khó khăn

- Việc thiết kế một kiểu trình bày mới mất nhiều thời gian.

- Biên soạn các tài liệu không có cấu trúc, hoặc cấu trúc lộn xộn rất

khó khăn

- Không hình dung ra hình dáng của tài liệu trước khi biên dịch.

- Phải chuyển sang một dạng tập tin khác để hiển thị vì vậy phải sử

dụng một công cụ để chuyển đổi

Hình 1 8 Quá trình soạn thảo bằng Latex

 Biểu diễn toán học trên văn bản [11]

Tạo/Soạn

thảo

Xem/Inấn

B1Biêndịch

Vănbản

Tex

Vănbản

pdfB2

Trang 30

Latex định nghĩa một chế độ đặc biệt để soạn thảo công thức toán học Cáccông thức này có thể được đưa vào ngay trong môi trường văn bản hay ta có thể táchrời chúng khỏi các đoạn văn bản Phần nội dung toán học trong đoạn văn bản có thểđược soạn thảo ở giữa dấu \(và \) hay $ và $ hay \begin{math} và \end{math}.

Ví dụ nội dung soạn thảo và hiển thị bằng Latex:

Cộng $a$ bình phương với $b$ bình phương được $c$ bình phương Ta

có thể viết dưới dạng công thức là: $c^{2} = a^{2}+b^{2}$

Cộng a bình phương với b bình phương được c bình phương Ta

có thể viết dưới dạng công thức là: c2

a2

b2

1.2.2 Ngôn ngữ đánh dấu AMS-Latex

AMS-LaTeX (American Mathematical Society–LaTex) được phát triển bởi

Hội Toán học Mỹ (AMS) Tên gọi AMS-LaTex có nghĩa là sử dụng Latex với phần

mở rộng AMS AMS-LaTex ban đầu được viết bởi Michael Spivak và gần như chỉphổ biến ở Mỹ

ASM-LaTex cũng là phần mềm biên dịch ra tập tin pdf giống như LaTex.Trong ASM-LaTex có 2 gói là: Amsmath – gói mở rộng cho Latex tạo thuận lợi choquá trình tạo công thức, nâng cao chất lượng in ấn và Amscls bao gồm lớp các tàiliệu và thuật toán hỗ trợ trong quá trình soạn thảo

Gói amsmath dành cho LaTex cung cấp nhiều tiện ích để typeset các tài liệutoán học phứt tạp [12][18] Với gói amsmath chúng ta có thể tìm thấy những giảipháp thường gặp khi soạn thảo LaTex Ví dụ như: Dễ dàng định nghĩa toán tử, hàmtoán học mới (tương tự như \sin, \cos); các toán tử mới sẽ tự động canh chỉnh kíchthước, kiểu phông, và khoảng cách tương quan với các phần tử khác trong biểu thức

Dễ dàng đánh số các phương trình con dạng (1.3a) (1.3b) (1.3c) từ một nhóm cácphương trình và việc đánh số này là tự động Ví dụ:

Trang 31

\end{subequations}

Hình 1 9 Gói Amsmath cung cấp môi trường subequations đánh số tự động

 Biểu diễn toán học trên văn bản

Gói amsmath cung cấp thêm các môi trường biểu diễn phương trình sau đây, bên cạnh các môi trường chuẩn của LaTex: equation, align, split,…

Ví dụ nội dung soạn thảo và hiển thị bằng AMS-LaTex:

Trang 32

1

e2

Việc đưa các công thức toán học vào tài liệu HTML không được hỗ trợ Mặc

dù chúng ta đã có chuẩn để thực hiện điều này nhưng hầu hết các trình duyệt chưa

hỗ trợ hay thiếu các phông chữ cần thiết Tuy nhiên, ta nhìn thấy công thức biểudiễn không rõ ràng, rất khó khăn trong việc thể hiện ý nghĩa toán học

Trang 33

Ví dụ soạn thảo và hiển thị trên Microsoft Office FrontPage 2003:

&radic; 1- e<sup>2</sup>

√ 1- e 2

Việc in ấn các tài liệu HTML thật đơn giản nhưng kết quả xuất ra lại phụ thuộcrất nhiều vào hệ điều hành và trình duyệt Điều này có nghĩa là các bản in của cùngmột tài liệu có thể trông rất khác nhau Bên cạnh đó, chất lượng của bản in sẽ kém

xa so với LaTex

Hiện nay, người ta đã có rất nhiều cố gắng để tạo ra các chương trình chuyển

từ tập tin LaTex sang tập tin HTML Trong số đó có một số chương trình thực hiệntương đối thành công việc tạo ra các trang web rõ ràng, dễ đọc từ một tài liệu đượcsoạn thảo bằng Latex như bản TeX4ht trong TeXLive2005 của VNTex là một ví dụ.Tuy nhiên, hầu hết các phần mềm đều không làm tốt vì chúng không thể giữ nguyênđịnh dạng ban đầu Đối với các tài liệu sử dụng các tính năng phức tạp của LaTex vàcác gói mở rộng thì các chương trình chuyển từ LaTex sang HTML không thể thựchiện tốt việc chuyển đổi Do đó, nếu chúng ta muốn đưa tài liệu của mình lên Webnhưng muốn giữ nguyên cách trình bày bản in với chất lượng cao đã lựa chọn PDF

- HTML giờ đây đã trở thành một chuẩn Internet

do tổ chức World WideWeb Consortium (W3C)

Trang 34

LaTex AMS-Latex HTML

duy trì

- Đề xuất bởi Leslie

Lamport vào những năm

1980 Được sử dụng chủ

yếu ở Châu Âu

- AMS-TeX ban đầu đượcviết bởi Michael Spivak,

và được sử dụng vào những năm 1983 AMS- LaTex được sử dụng phổbiến ở Châu Mỹ

- World Wide Weblần đầu tiên được đề cập trên mạng Internet của Berners-Lee vào cuối năm 1991

- LaTex là phần mềm

miễn phí

- AMS- LaTex là phần mềm miễn phí

- HTML dựa trên chuẩn SGML (Standard

Generalized Markup Language), được phát triểncho việc định cấu trúc và nội dung tài liệu điện vàCSS

- Tạo ra bản in rất tốt - Tạo ra bản in tốt - Không đáp ứng bản in

đối với tài liệu khoa học

Bảng 1 3 So sánh các ngôn ngữ đánh dấu

Việc lập trang web cho mọi cá nhân, đặc biệt là cho mỗi giáo viên, ngày càngtrở nên bình thường và phổ biến Đặc biệt với những giáo viên các môn tự nhiên,vấn đề đặt ra là làm thế nào để biểu diễn công thức toán học trên trang Web? Trongkhi đó ngôn ngữ HTML nguyên thuỷ không đủ khả năng biểu diễn công thức toán,

Trang 35

in ấn tài liệu khoa học Vì vậy, thực tiễn đặt ra yêu cầu phải có một ngôn ngữ đánh dấu có thể khắc phục nhược điểm trên.

Có rất nhiều ngôn ngữ đánh dấu giúp cho quá trình hiển thị công thức trên vănbản Nhưng chúng ta đều biết rằng, việc hiển thị công thức trên văn bản không phảichỉ đơn giản là hiển thị mà nó còn làm sáng rõ ý kiến và mục đích của công thứctrên đó Ví dụ như ngôn ngữ HTML, việc hiển thị công thức trên web rất mờ nhạt và

bị đứt khúc nên làm cho người dùng khó đọc và thể hiện hết đặc điểm quan trọngcủa công thức cần thể hiện

1.3.1 Lịch sử của MathML

MathML (Mathematical Markup Language - Ngôn ngữ Đánh dấu Toán học)[1][2][15] là một ứng dụng của XML để thể hiện ký hiệu và công thức toán học vớimục đích rộng là phương cách trao đổi thông tin toán học trên máy tính (để hiển thịcũng như để tính toán) và mục đích hẹp là hiển thị tài liệu toán học trên World WideWeb Nhóm toán học của W3C đề xuất mọi người nên dần sử dụng ngôn ngữ nàytrên mạng Phiên bản 1.01 được công bố vào tháng 7 năm 1999 và bản 2.0 xuất hiệnvào tháng 2 năm 2001 Tháng 10 năm 2003, bản chỉnh sửa lần thứ hai của phiên bản2.0 và 21 tháng 10 năm 2010 bản 3.0

Đố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ậptứ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 chocác phần mềm tính toán

1.3.2 Tính năng của MathML

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

và MathCad trên các nền nhiều hệ điều hành khác nhau như Linux, Windows,…

1.3.3 Cách thức hiển thị của MathML

 Ưu điểm

Trang 36

- Không chỉ hiển thị tốt mà còn chứa ý nghĩa nội dung công thức

toán học

- Dễ dàng sử dụng trên các trình duyệt.

- Cho phép hiển thị ngay công thức một cách đẹp mắt.

- Truyền tải ý nghĩa toán học cho các phần mềm tính toán.

 Nhược điểm

- Cấu trúc không ngắn gọn như Tex.

- Cần có công cụ soạn thảo thân thiện với người dùng.

 Hiển thị trên browser

- Trong số các trình duyệt thân thiện như Mozilla Firefox, Amaya thì

hiển thị trực tiếp MathML

- Các trình duyệt khác cần phần mềm hỗ trợ như: các phiên bản

trước Internet Explore cài thêm MathPlayer, từ Internet Explore 6 càiJavaScript MathJax

1.3.4 Cấu t úc của MathML

Tất cả các ký hiệu toán học muốn thể hiện phải được đặt trong các cặp tab như

T T

1.2.3

T h ẻ

G i ả i t h í c h

Thẻ

hằng

số

Thẻ

tựThẻ

tạo

số

trên

<

mn

>

<

/mn

>

<

mi

>

<

/mi

>

<

msup

>

<

/msup

>

Trang 37

11 Text <mtext> </mtext> Thẻ nội dung văn bản

12 <mrow> </mrow> Thẻ biểu thức

13 <mtable> </mtable> Thẻ ma trận

14

<mtr> </mtr> Thẻ hàng trong một bảnghoặc ma trận

15 <mspace> </mspace> Thẻ khoảng trắng

16 <apply> </apply> Thẻ khai báo ứng dụng hàm

23 <root/

<degree> <ci type = ‘ integer’>n</ci> </degree> Thẻ dùng căn bậc cao thì viết

theo cú pháp và n là số cănbậc

25 <csymbol></csymbol> Thẻ định nghĩa hằng

Bảng 1 4 Một số thẻ đặc trưng của MathML

1.3.5 Tạo công thức toán học

Chúng ta soạn một tài liệu bằng ngôn ngữ đánh dấu MathML bằng cách dùng

một phần mềm soạn thảo hỗ trợ chuẩn MathML nhưng phải tuân thủ theo các tab

được quy định sẵn MathML cung cấp 2 cách thức trình bày ngôn ngữ đánh dấu toán

học Một là nhằm nhấn mạnh cách trình bày của công thức và hai là nhấn mạnh nội

dung của toán học

S ố

T T

1.2.3

G i ả i t h í c h

Thẻ

hằng

số

Thẻ

tựThẻ

tạo

số

trên

<

mn

>

<

/mn

>

<

mi

>

<

/mi

>

<

msup

>

<

/msup

>

Trang 38

4

a c

Trang 40

m r o w

>

<

m i

>

x

<

/ m i

>

<

m o

>

=

<

/ m o

>

<

m f r a c

>

<

m r o w

>

<

m r o w

>

<

m o

>

-<

/ m o

>

<

m i

>

B

<

/ m i

>

<

m s u p

>

<

m o

>

-<

/ m o

>

<

m i

>

b

<

/ m i

>

<

m n

>

2

<

/ m n

>

<

/ m r o w

>

<

/ m r o w

>

<

m r o w

>

<

m n

>

4

<

/ m n

>

<

m o

>

$ I n v i s i b l e T

i m e s

;

<

/ m o

>

<

m n

>

a

<

/ m n

>

<

m o

>

$ I n v i s i b l e T

i m e s

;

<

/ m o

>

<

m n

>

c

<

/ m n

>

<

/ m s u p

>

<

/ m r o w

>

<

/ m r o w

>

<

/ m f r a c

>

<

/ m r o w

>

 Mô tả tính cấu trúc trong trình bày công thức

Ngày đăng: 22/06/2020, 01:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w