Trình biên dịch TeX Live có đến mấy nghìn gói lệnh phục vụ gần như đầy đủ cho tất cả các nhu cầu sử dụng của người dùng. Tuy nhiên, vẫn có một số ít gói lệnh bị thiếu và nguyên nhân chủ yếu là do:
- Chưa có giấy phép sử dụng, chẳng hạn gói lệnh
aeb-comment
chỉ có trong phần mềm Basic MiKTeX. - Các gói lệnh dành riêng cho một số phần mềm ứng dụng chẳng hạn Maple có một số gói lệnh như maple2e, mapleenv, mapleplots, maplestd2e, maplestyle, mapletab và mapleutil..
- Gói lệnh mới vừa phát hành chưa được phổ biến.
- Gói lệnh do bạn tự viết…
Trong quá trình biên dịch, nếu TeX Live không tìm thấy gói lệnh mà bạn đã khai báo trong phần lời tựa thì nó sẽ xuất hiện thông báo lỗi như sau LaTeX.tex error line … File'….sty' not found, \begin,
có thể thông báo lỗi sẽ khác nhau đôi chút do nó phụ thuộc vào trình biên soạn mà bạn đang sử dụng..
Và khi gặp thông báo lỗi này, đối với trình biên dịch Basic MiKTeX thì mình đã hướng dẫn cho các bạn cách khắc phục trong bài viết này rồi. Bạn có thể đọc lại cách xử lý để khi cần còn áp dụng được nhé.
Còn đối với trình biên dịch TeX Live thì chưa có, chính vì vậy mà mình đã viết thêm bài viết này để hướng dẫn cho các bạn cách khắc phục, đặc biệt là những bạn mới làm quen với LaTeX
Mục Lục Nội Dung
#1. Gói lệnh là gì?
Gói lệnh là một tệp tin có phần mở rộng là *.sty
. Tệp tin này là một tập hợp các lệnh khi nào cần thì sử dụng, còn khi không cần thì thôi, nó không ảnh hưởng gì đến kết quả sau khi biên dịch cả.
Để khai báo gói lệnh chúng ta sẽ sử dụng lệnh \usepackage[options]{package}
với options
là tùy chọn (không bắt buộc), còn package
là tên gói lệnh (bắt buộc).
#2. Tại sao chúng ta lại phải sử dụng gói lệnh?
LaTeX thuần túy không hỗ trợ bạn soạn thảo các công thức Toán học, chèn ảnh và tô màu … Đây quả là một hạn chế rất lớn nếu không tìm cách khắc phục thì LaTeX sẽ trở nên rất kém cỏi.
May mắn thay những vấn đề trên đã được khắc phục một cách hiệu quả nhờ vào việc sử các gói lệnh.
Chẳng hạn như bạn có thể sử dụng gói lệnh amsmath
để soạn thảo các công thức Toán học, sử dụng gói lệnh graphicx
để chèn ảnh, và sử dụng gói lệnh color
để tô màu …
#3. Sử dụng gói lệnh mà không cần cài đặt
TeX Live hay những trình biên dịch khác cũng vậy, khi bắt đầu biên dịch tài liệu nó sẽ biên dịch từ dòng đầu tiên đến dòng cuối cùng khi gặp các dòng lệnh \usepackage[options]{package}
… thì TeX Live sẽ ưu tiên tìm gói lệnh trong thư mục cùng cấp chứa tệp tin *.tex
đang biên dịch trước, rồi mới tìm trong thư mục C:\texlive\2019\texmf-dist\tex\latex
Vì vậy, trong trường hợp bạn chỉ sử dụng gói lệnh một lần, hoặc rất ít khi sử dụng thì bạn có thể sao chép tệp tin *.sty
vào cùng cấp thư mục với tệp tin *.tex
cần biên dịch là được.
#4. Các bước cài đặt gói lệnh mới cho TeX Live
Để cài đặt một gói lệnh mới vào TeX Live thì bạn lần lượt thực hiện theo các bên dưới. Chẳng hạn mình cần cài đặt gói lệnh aeb-comment
vào trình biên dịch TeX Live thì thực hiện như sau:
+ Bước 1: Tải gói lệnh aeb-comment về máy tính và giải nén nó. Nếu gói lệnh mới đã có trên máy tính thì không cần thực hiện bước này nha.
+ Bước 2: Sao chép tệp tin *.sty
, trong trường hợp này là aeb-comment.sty
.
+ Bước 3: Truy cập thư mục latex
theo đường dẫn C:\texlive\2019\texmf-dist\tex\latex
=> tạo một thư mục mới có tên trùng tên của gói lệnh mà bạn đang cài đặt.
Đây là đường dẫn mặc định của TeX Live, nếu trong quá trình cài đặt TeX Live bạn có thay đổi thì tại bước này bạn thay đổi tương ứng theo là được nhé.
Việc làm này là không bắt buộc, tuy nhiên chúng ta nên làm để sau này dễ dàng quản lí hơn..
+ Bước 4: Dán gói lệnh vào thư mục vừa tạo.
+ Bước 5: Chạy tệp tin texhash.exe
dưới quyền quản trị để thông báo cho TeX Live biết bạn vừa sao chép gói lệnh aeb-comment
vào hệ thống.
Tệp tin này mặc định nằm trong thư mục
win32
theo đường dẫn sauC:\texlive\2019\bin\win32\texhash.exe
Như vậy là hoàn thành rồi, từ nay về sau khi cần sử dụng gói lệnh này bạn cứ sử dụng nó như các gói lệnh gói lệnh thông thường là được.
#5. Lời kết
Gói lệnh mang lại cho chúng ta rất nhiều lợi ích, tuy nhiên không vì vậy mà bạn nạp thật nhiều gói lệnh vào phần lời tựa.
Làm như vậy sẽ chậm quá trình biên dịch và trong một số trường hợp có một số gói lệnh bị xung đột thì sẽ làm cho LaTeX báo lỗi.
Nói là nói như vậy, nhưng nếu bạn sử dụng những gói lệnh có giấy phép và được phân phối chính thức từ https://ctan.org/ thì khả năng xung đột là rất thấp.
Một Tips nhỏ dành cho bạn là khi bạn khai báo xong một gói lệnh mới thì ngay sau đó, bạn hãy biên dịch để xem gói lệnh có tương thích với những gói lệnh đã có hay không. Nếu có thì hãy xóa bỏ nó và thay thế bằng một gói lệnh có chức năng tương đương nhé.
Vào một buổi sáng đẹp trời nào đó khi bạn đã có đủ kiến thức và kinh nghiệm hãy nghiên cứu và viết một gói lệnh mới cho riêng mình. Những người sử dụng gói lệnh của bạn sẽ nhớ và thầm biết ơn đến bạn nhiều đấy 😀
Xin chào tạm biệt và hẹn gặp lại trong những bài viết tiếp theo !
CTV: Nhựt Nguyễn – Blogchiasekienthuc.com