LaTeX

Phân biệt phần hồn và phần xác trong soạn thảo LaTeX

RRất nhiều bạn nhầm lẫn giữa trình soạn thảo văn bản TeX và TeXLive/MikTeX. Có bạn bảo rằng đã cài TeXMaker rồi thì cần gì cài TeXLive nữa? Thật ra hai cái ấy là khác nhau hoàn toàn và phải đi chung với nhau, bài viết sẽ nói rõ hơn về điều này.

Bài này cũng là lời giải đáp cho câu hỏi có cùng nội dung của bạn An Tran 

Thầy cho em hỏi là em thấy biên dịch text có mấy cái TeXnicCenter, … em thấy nó dung lượng nhỏ hơn TeXLive rất nhiều. Vậy TeXLive cung cấp nhiều hơn các công cụ khác những tính năng gì ạ?

Chào bạn, có lẽ bạn đã có hiểu lầm ở đây, về bản chất thì TeXnicCenter và TeXLive là hoàn toàn khác nhau. Như trong bài viết Hướng dẫn cài đặt LaTeX ở mục “Cài LaTeX là cài gì?“, tôi đã nói rõ là cần phân biệt 2 cái:

  1. Cái thân : cái dùng để soạn thảo LaTeX, cái này là thứ bạn dùng để gõ LaTeX, có rất nhiều phần mềm hỗ trợ gõ cái này, như TeXMaker, VieTeX,…và TeXnicCenter là một trong số đó. Chức năng của các cái này là khác nhau, có cái hỗ trợ gợi ý từ, có cái hỗ trợ bổ sung thêm từ gợi ý, có cái rất dễ tuỳ chỉnh, giao diện dễ gần, có cái tô màu cho câu lệnh,…
  2. Cái hồn : cái dùng để tụi ở trên dựa vào để chuyển thành 1 file văn bản hoàn hảo. Hiện giờ đa phần chỉ có 2 sự lựa chọn cho cái hồn này, đó là TeXLiveMikTeX

Do đó, hai cái TeXnicCenterTeXLive – một cái thuộc thể loại “xác”, một cái thuộc thể loại “hồn”, hai cái vốn không cùng thể loại thì không thể so sánh với nhau chứ chưa nói đến chuyện có thể thay thế nhau được.

Do là trình soạn thảo nên dễ hiểu TeXnicCenter có dung lượng nhỏ hơn rất nhiều so với TeXLive. Có thể nói nôm na, tâm hồn là thứ vô tận, khó có thể đong, đo, đếm trong khi cái vẻ bề ngoài là hữu hạn, có thể nhìn được tất tần tật chỉ bằng hai con mắt 😀

Còn ý “Tại sao TeXLive lại nặng như vậy, nó có chức năng gì nổi trội?” :  Để trả lời cho câu hỏi này, bạn cần phải hiểu TeXLive là một cái thùng chưa rất nhiều gói lệnh. Mỗi khi bạn cần biên dịch một file .tex, trong file ấy sẽ có nhiều phần, mỗi phần cần một gói lệnh khác nhau, khi ấy trình biên dịch (cụ thể ở đây là TeXnicCenter) sẽ yêu cầu TeXLive “Ê, cái file này nó cần gói lệnh này nè, mày có không?”.

Vậy gói lệnh là gì? Ví dụ, văn bản của bạn cần chia cột, khi ấy phải cần gói “columns”. Bạn muốn tô màu cho chữ, khi ấy cần gói “xcolor”. Bạn muốn nhập công thức toán, khi ấy cần gói “amsmath”,… Cấu trúc nhập gói lệnh thường có dạng

Thằng TeXLive được cái là nó thích sưu tập, có hầu như tất cả các gói lệnh trên đời này. Do đó sau khi cài nó, bạn sẽ yên tâm rằng ta sẽ không sợ thiếu gói lệnh. Và chính vì chứa nhiều gói lệnh như vậy, nên nó rất “mập” (lên đến cả GB). Tất nhiên có những gói lệnh bạn sẽ không cần dùng đến, cũng có cái rất cần. Nhưng làm sao mà bạn biết được trong tương lai nhu cầu của bạn cần gì? Chính vì thế nên “thà giết lầm còn hơn bỏ sót”, ta gôm hết tất cả về 1 lần cho tiện.

Có những thằng khác nhẹ hơn TeXLive, ví dụ như MikTeX, nó chỉ chứa những gói lệnh mà nhiều người dùng hay dùng nhất. Nhược điểm của nó là sẽ thiếu đi những gói lệnh đặc biệt, khi ấy bạn biên dịch sẽ bị lỗi, khi đó bạn cần có kết nối internet để download gói lệnh thiếu về.

Nói chung, nếu bạn không sợ thiếu internet thì có thể download MikTeX về cho đỡ nặng máy. Còn nếu bạn muốn không phụ thuộc vào internet, hãy download TeXLive về.

Hy vọng cách giải thích “dài dòng” của tôi đã làm bạn hài lòng.

Đinh Anh Thi

Đinh Anh Thi

Sáng lập Math2IT. Hiện Thi đang là nghiên cứu sinh tại Pháp về chuyên ngành Toán Ứng Dụng. Anh mong muốn tổng hợp và chia sẻ kiến thức Toán thực tế, Khoa học ứng dụng và Tin học thường thức đến tất cả mọi người dưới dạng dễ tiếp cận và tự nhiên nhất.