Thứ Năm, 9 tháng 7, 2009

Triển khai Latex

Sử dụng Latex sẽ đá bay những vấn đề khó khăn gặp phải khi cần hiển thị những công thức toán học như căn bậc n, hàm số, tích phân... trên website.



Với những yêu cầu hiển thị thông thường trên website, blog, wiki thì định dạng text đã thỏa mãn được gần hết, khó khăn ở chỗ những bài viết chuyên ngành toán, lý... cần thể hiện những công thức tính toán phức tạp thì text hay thậm chí là ảnh cũng pó tay, hhuh? Vậy phải lèm seo?

Đồng thanh hô nèo

LaTeX


là gì? không phải word processor, mà là " document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as \LaTeX" (-wikipedia).

chào hàng thế thôi, thông tin đầy đủ có ở đây và ở đây :D

để làm gì? tất nhiên là để hỗ trợ gõ - chuyển đổi - hiển thị công thức toán học trên website.

  • gõ tức là phải ... tự gõ, cũng có nghĩa là có cú pháp & định dạng riêng, cũng có nghĩa là miễn gõ tùm lum, như vậy là phải học gõ ke ke.

  • chuyển đổi nôm na như là dịch, dịch đống ký tự mình gõ sang đống gì đó mà máy nó hiểu, mà phải làm cho máy nó hiểu thì nó mới chạy được.

  • hiển thị đơn giản là show hàng, hàng là cái cục (thường là ảnh) mà máy nó trả về sau khi nó 'chạy', nhớ là nó 'chạy' được thì nó phải hiểu, để nó hiểu thì mình phải ra lệnh, ra lệnh xong phải có thằng nó dịch lệnh mình cho máy :)) :))


ví dụ cái,

  1. gõ như này đây [code][tex]a^2 + b^2[/tex][/code]

  2. dịch dịch dịch dịch dịch .... bịch bịch bịch ...

  3. hiển thị cái này


eh, ai thèm xài cái này? thì thầy cô giáo, chuyên gia, guru viết bài giảng, blog kỹ thuật hay sinh viên thảo luận trên diễn đàn ... nghe pro^` vãi :)) :))

xài ra làm sao? có mới xài được chứ =)). Hiển nhiên là muốn có thì phải lao động :P

bỏ qua các dịch vụ sẵn có, mình đi mua đồ về tự nấu cho nó chủ động & ngon lành. bếp = server, đồ ăn = các gói cài đặt và đầu bếp = ai đang đọc :)) :))

thực hiện nấu nướng

đi chợ nhớ mua các gói sau

ubuntu server
[code]sudo apt-get install texlive texmaker[code]

centOS 5.x
[code]yum install tetex tetex-fonts tetex-dvips tetex-latex ghostscript

yum install ImageMagick[code]
(cài imageMagick nếu chưa có)

dung lượng kiếm về khoảng 60 - 200M, chế biến cài đặt xong khoảng 200M :)) :)) vãi hàng, nấu cho cả xóm ăn.

xong rùi thì chiến thôi, kiếm thêm gia vị & bày bàn. giả sử tại VPS này có thư mục tên latex trong /var/www/html. trong đó có 2 thư mục pictures & tmp, quan trọng nữa là 2 file php class.latexrender.php và latex.php. Như vậy là ngon rồi, viết them file demo.php nữa để test thôi, nhớ là phải refer đến 2 file trên.

[bonus]

trên đây là bộ latex render viết bằng code php, tác giả là Benzamin Mayer (http://www.mayer.dial.pipex.com/tex.htm), xài ngon, được làng xóm đánh giá cao. khi sử dụng chỉ cần để ý đến các tham số cơ bản sau trong file latex.php

  • $latexrender_path = "đường dẫn chứa bộ latex render (gồm file class.latexrender.php)";

  • $latexrender_path_http = "đường dẫn hiển thị website" - phải chính xác để có thể show ảnh công thức được render.

  • $imageformat = "định dạng ảnh - png hoặc gif" - có nghĩa là phải có thư viện render ảnh trên server, đang xài ImageMagick.


[/bonus]

tóm tắt hoạt động

để hình thành công thức, người dùng phải gõ nội dung theo quy tắc định trước của latex. khi dữ liệu gửi đi, regular expression sẽ được gọi để bóc tách các phần chính trong nội dung nhận được để render ra dưới dạng ảnh, lưu vào một vị trí trên server & đặt đường dẫn hiển thị trên website.

tham khảo thêm

  • trang chủ dự án latex: http://www.latex-project.org/guides/

  • trên wiki: http://en.wikipedia.org/wiki/LaTeX

  • thư viện của mayer: http://www.mayer.dial.pipex.com/tex.htm

  • một bài hướng dẫn hay: http://www.linuxjournal.com/article/7870

  • demo: http://khuvuc.com/demo.php (/var/www/html/latex)

Không có nhận xét nào:

Đăng nhận xét