Hướng dẫn cách cài đặt gói lệnh mới cho TeX Live

data-full-width-responsive="true"
NOTE: Chào mừng bạn đến với Blog Chia Sẻ Kiến Thức ! Nếu như trong quá trình sử dụng bạn gặp bất cứ lỗi gì, ví dụ như bị lỗi link download, blog load chậm, hay là không truy cập vào được một trang nào đó trên blog... thì bạn vui lòng thông báo với mình qua trang Liên Hệ nhé. Thanks !

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

#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).

cach-cai-dat-goi-lenh-moi-cho-tex-live (1)

#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.

cach-cai-dat-goi-lenh-moi-cho-tex-live (2)

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.

data-full-width-responsive="true"

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.

cach-cai-dat-goi-lenh-moi-cho-tex-live (3)

#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.

cach-cai-dat-goi-lenh-moi-cho-tex-live (4)

+ Bước 2: Sao chép tệp tin *.sty, trong trường hợp này là aeb-comment.sty.

cach-cai-dat-goi-lenh-moi-cho-tex-live (5)

+ 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..

cach-cai-dat-goi-lenh-moi-cho-tex-live (6)

+ Bước 4: Dán gói lệnh vào thư mục vừa tạo.

cach-cai-dat-goi-lenh-moi-cho-tex-live (7)

+ 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 sau C:\texlive\2019\bin\win32\texhash.exe

cach-cai-dat-goi-lenh-moi-cho-tex-live (8)

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

Note: Bài viết này hữu ích với bạn chứ ? Đừng quên đánh giá bài viết, like và chia sẻ cho bạn bè và người thân của bạn nhé !

Administrator: Kiên Nguyễn Blog

Có một câu nói của người Nhật mà mình rất thích đó là " Người khác làm được thì mình cũng làm được ". Chính vì thế mà hãy theo đuổi đam mê, thành công sẽ theo đuổi bạn ! Nếu như bạn đang gặp khó khăn và cần sự trợ giúp thì hãy comment phía bên dưới mỗi bài viết để nhận được sự hỗ trợ từ cộng đồng Blog Chia Sẻ Kiến Thức nhé.

Một vài lưu ý trước khi comment :

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Tất cả các comment của các bạn sẽ được giải đáp trong vòng 48h (thường vào buổi tối)!
Không được sử dụng từ khóa trong ô 'Name', bạn hãy dùng tên thật hoặc Nickname của bạn !
Không dẫn link sang trang web/blog khác. Xem quy định comment tại đây. Thank All!

Leave a Reply

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