LaTeX có phải là một ngôn ngữ xấu không?

Đúng. Nó là một ngôn ngữ xấu xí, sinh ra những tài liệu xinh đẹp, đặc biệt là các bài báo khoa học với các công thức. Tôi dùng cả LaTeX và Word và vô cùng thích các tài liệu sinh ra từ LaTeX. Word cũng có công cụ chỉnh sửa công thức LaTeX nhưng tệ lắm.

> Hugh Myers

Là người lập trình LaTeX một thời gian dài và thỉnh thoảng dùng TeX, tôi phải nói rằng đây là ngôn ngữ duy nhất (TeX) mà code Perl trông dễ đọc nhất. Và tôi thích cả hai nữa chứ. Ai quan tâm trông nó như thế nào đâu? Vấn đề là bạn làm gì được với nó chứ…

> Mike Wingrove

Trong suốt sự nghiệp học tập và làm việc, tôi đã học cách sử dụng ba “ngôn ngữ đánh dấu” [markup languages] (LaTeX là một ngôn ngữ đánh dấu), một công cụ xuất bản dành cho máy tính để bàn WYSIWG (FrameMaker), và MS-Word trên cả Mac lẫn PC. Word rất ổn cho việc viết tài liệu nhưng không cung cấp khả năng sinh ra một file xuất bản một cách chuyên nghiệp như một ngôn ngữ đánh dấu và dù các công cụ xuất bản thực sự trên máy tính để bàn tốt hơn đi chăng nữa, chúng chỉ tốt khi mà có người tạo kiểu và mẫu cho để sử dụng.

Quan trọng là việc sắp chữ sao cho trông giống như một cuốn sách thực sự là công việc phức tạp, chưa được tối giản hoá bằng vài cú click chuột và có lẽ chẳng bao giờ được như thế.

Điều khác biệt là ngày nay ta mong mọi người đều trở thành người sắp chữ, nghệ sĩ đồ hoạ, biểu diễn dữ liệu, v.v. của riêng mình. Trước đây chúng đều là những công việc chuyên môn – chúng vẫn như vậy với một số kiểu xuất bản.

Ngày nay có LaTeX WYSIWG rồi. Tôi không thể nói cái gì tốt nếu chưa thử cả.

Trả lời bởi Umesh P Narendran, làm việc vào các ngày làm việc

Là một ngôn ngữ lập trình, LaTeX còn xa mới có thể được gọi là tốt. Nó như GWBASIC hồi còn DOS ấy.

Tất cả các biến đều là biến toàn cục. Vì vậy, các gói lệnh (packages) thường xuyên xung đột với nhau. Bạn phải biết gói nào cần phải nằm trong gói nào.

Các gói lệnh cũng có thể được tải với các tuỳ chọn khác nhau. Nếu một gói được tải theo một tuỳ chọn nào đó, gói đó sẽ không thể tải theo một tuỳ chọn khác. Đương nhiên là vẫn có cách lách (như là định nghĩa @ là một kí tự rồi định nghĩa lại, ví dụ thế). Trong nhiều trường hợp, bạn cần xem vào sâu bên trong gói lệnh bạn dùng để tuỳ chỉnh vài thứ. Khi gói lệnh này được cập nhật thì có nguy cơ là code cũ hỏng rồi.

Nó cũng không hướng đối tượng. Bất cứ thứ gì vượt quá logic thông thường đều rất khó để hiểu và cần rất nhiều code mẫu.

Tuy nhiên, nếu đấy là bạn so sánh chúng với những ngôn ngữ lập trình bậc cao. So với những công cụ/ngôn ngữ cho các tài liệu xếp chữ như nroff, troff, MS Word, Framemaker, v.v., LaTeX thực sự tốt hơn và cung cấp nhiều tính năng mà những ngôn ngữ, công cụ khác không có.

Nếu cái đẹp nằm ở mắt người xem tài liệu, LaTeX vô cùng đẹp.

Leave a Reply

Your email address will not be published. Required fields are marked *