Tải bản đầy đủ (.doc) (88 trang)

LUẬN VĂN THẠC SĨ KỸ THUẬT 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.91 MB, 88 trang )

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

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

Đà Nẵng - Năm 2011


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


2

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


iii

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


4

MỤC LỤC
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


iii
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 PHÁ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


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

Từ viết tắt

Tên đầy đủ

Diễn giải

CSS

Cascading Style Sheets

Các bảng định kiểu theo tầng

HTML

HyperText Markup Language

Ngôn ngữ Đánh dấu Siêu văn
bản


MathML

Mathematical Markup Language

Ngôn ngữ Đánh dấu Toán học

OLE

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 Web
Consortium

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ậy

XHTML

Extensible HyperText Markup
Language

Ngôn ngữ Đánh dấu Siêu văn
bản Mở rộng

XML

eXtensible Markup Language

Ngôn ngữ Đánh dấu Mở rộng


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



8

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


viii
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: />Hình 3. 12. Duyệt trang />Hình 3. 13. Kết quả của chương trình chuyển đổi Math Clipboard Converted........69


-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ên
văn bản như Winword, OpenOffice.org Writer, Acrobat, WebEditor,… Mỗi phần
mề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ày
là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ức
toá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ức
toá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ạn
thả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 MathML
trong 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ực
tiễ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à sao

ché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ác
nhau. Để đá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án
họ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án
họ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ìm
kiế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ức
toá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êu
chuẩ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ài
nà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ên
chuẩ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


-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ôi
trì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ôi
trườ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ải
pháp sao chép công thức từ OpenOffice.Org writer sang WebBrowser Amaya. Nội
dung 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ình
xâ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ức
giữa hai trình soạn thảo.


-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ăn
bả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ẩn
soạ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ức
toá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ĩa
nà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ẩm
vă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 trong
quá 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.



-4Nó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 tin
bằ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ình
thứ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ới
vă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ác
thao 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ăn
bả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ách
thứ 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ọn
cá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ác
giá trị tương ứng vào công thức:


-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.
Ví dụ để tạo công thức :

2

c
=
+

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

2

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ành
quá 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ới
xem kết quả soạn thảo.


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ức

toá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ại
củ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ức
toá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


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ác
nhau 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ảng
chữ 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ông
chữ đượ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ức
nà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ản
thườ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) }

Hoặc

2
5

được biểu diễn bằng đoạn mã sau:
{ 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ức
phát triển bởi Design Science. Cho phép người dùng xây dựng các phương trình
toán học và khoa học trong một môi trường WYSIWYG (What You See Is What
You Get), được tích hợp trong tất cả các phiên bản Microsoft Office và nhiều ứng
dụng thương mại khác. Equation có thể được sử dụng như là một chương trình độc
lậ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.


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ông

thứ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ỉ

để tạo công thức toán học chúng ta
phải nhập vào đoạn mã của Latex tương ứng. Sau đây là ví dụ minh hoạ:
Để hiển thị hình ảnh

x+
2007
x+
2008

thì chúng ta phải nhập đoạn mã sau:

$\frac{x+2007}{x+2008}$

Hoặc hiển thị hình ảnh

3

x thì chúng ta phải nhập đoạn mã sau:
$\sqrt[3]{2}$

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ạn
thảo là rất đơn giản thông qua OpenOffice.org Math. Ta chỉ việc sử dụng bảng lựa
chọ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:

Để hiển thị công
thức

x+
2007
x+
2008

thì chúng ta có đoạn mã tương ứng sau:


{x+2007} over {x+2008}


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ên
OpenOffice.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 cho
chức năng của sản phẩm OpenOffice.org, với tên ban đầu là “Open Office XML
Format”, hỗ trợ cho cả OOXML và hỗ trợ luôn chuẩn công thức toán học cho việc
soạ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

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

Firefox [19]
- Mozilla Firefox tích

OpenOffice.Org
- Chuẩn định dạng văn

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

hợp nhiều tiêu chuẩn

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

quyền của hãng Microsoft.

web, bao gồm HTML,

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

Nhưng sau năm 2006 thì

XML, XHTML,… Đây

là một chuẩn mở.

Microsoft hỗ trợ thêm

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


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

mở.

XML.
- MS Word 2003 chính thức - Phiên bản đầu tiên là

- Phiên bản đầu tiên

ra thị trường năm 2003.

1.0 tháng 11 năm 2004.

tháng 4 năm 2002.

- Do tập đoàn Microsoft

- Do tập đoàn Mozilla

- Tổng công ty Oracle và

quản lý.

quản lý.

nhiều tổ chức, cá nhân
khác.

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


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

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

(End User License

JavaScript,…

, Java.

Agreement – Thỏa thuận
giấy phép người sử dụng


MS Word 2003

Firefox [19]

OpenOffice.Org

cuối).
- Dùng soạn thảo và hiển thị - Dùng hiển thị văn bản

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

nội dung văn bản.

thị nội dung văn bản.


và hình ảnh.

Bảng 1. 1. So sánh các phần mềm soạn thảo
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ông
việ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ăn
bả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ưng
rấ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 ta
khô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ản
thô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ấu
Latex. Đây là bản quyền của MPS Technologies (Mathematical Programming
System). 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ên
má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èm
theo. Microsoft Equation là công cụ dùng để tạo các biểu thức, đẳng thức toán học


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ọn
bằ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ưng
rấ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ười
dùng. Nắm bắt được nhu cầu đó, MyEqText của Mỵ Duy Thọ [8][9] ra đời như một


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 Word
như một thanh công cụ trong Word bạn hoàn toàn có thể soạn thảo trực tiếp ngay
trong 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
Microsoft Equation 3.0
- Phần mềm thương mại.

MathType
-Phần mềm thương mại.

MyEqText
- Đang dùng thử


- Độc quyền của Microsoft.

- Sở hữu bởi Design

- Được tạo bởi Mỵ Duy

Science.

Thọ.

- Một ứng dụng nhỏ hoạt

- Cho phép tạo ra các ký

- Là một chương trình

động như một đối tượng

hiệu toán học để xử lý văn

tạo các ký hiệu toán

nhúng OLE Microsoft

bản (Microsoft Word,

học trong Microsoft

Office để tạo các ký hiệu


OpenOffice,... Hỗ trợ các

Office thay thế cho

toán học.

ngôn ngữ đánh dấu TeX ,

Equation của

LaTeX và MathML.

Microsoft.

- Đi kèm với bộ Microsoft

- Phiên bản đầu tiên tháng

- Phiên bản đầu tiên

Office.

6 năm 1987.

năm 2007.

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

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

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


Tex là một hệ thống sắp chữ được viết bởi Donald E.Knuth ở Đại học Stanford
vào năm 1977. Nó phổ biến trong môi trường hàn lâm, đặc biệt là trong cộng đồng
toá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ông
thứ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ới
chấ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ào
nă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ơn
cho 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ạy
trê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ăn
bả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ào
nhữ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ết
cá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ự án
xem xét lại LaTex và mở rộng nó. MikTex là một phần mềm miễn phí chế bản
LaTex tốt nhất hiện nay [26]. Mặc dù từ MikTex 2.8 có bổ sung thêm trình soạn
thảo TexWorks để soạn thảo văn bản Tex nhưng quá đơn giản nên rất khó cho người
mớ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 đang
soạ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ách
yê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ạt
lệ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ành
tậ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


-

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ếu
như:
-


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.

TX
ạBe
o1B
m
V
V
iB
ăă
/ê2/

nnn
Hình 1. 8. Quá trình soạn thảo bằng Latex
SI
bdb
on
ảả
 Biểu diễn toán học trên văn bản [11]
ạị
ncn
nấ
..
hn
t
Tp
h
ed



×