Nếu khi biên dịch LaTeX mà xuất hiện hộp thoại tương tự như hình bên cạnh thì bạn đang bị thiếu Package. Ví dụ trường hợp này là thiếu package có tên fancyhrd. Mình xin giới thiệu 3 cách để sửa lỗi này. Bạn có thể áp dụng để cài thêm bất kỳ package nào bạn cần.
Cách 1 – Dùng Miktex Package Manager
Bạn đến thư mục
C:\Program Files (x86)\MikTeX\miktex\bin
Tìm file mpm_mfc.exe Nhấp chuột phải và chọn Run as administrator
Trong cửa sổ Miktex Package Manager, bạn nhập tên package bạn cần vào ô Name rồi bấm Filter Khi đó Miktex Package Manager sẽ tìm tất cả các packages có chữ “fancyhdr” trên kho.
Trong kết quả tìm kiếm, bạn chọn đúng tên package đang thiếu và bấm cài đặt nó (Hình 2) Bây giờ biên dịch lại. Chắc chắn sẽ không bị thiếu package đó nữa. Nhưng có thể sẽ thiếu package khác, khi đó bạn làm tương tự nhé.
Cách 2 – Tải trực tiếp từ kho package
Truy cập vào kho package chính thống của CTAN tại địa chỉ https://www.ctan.org/pkg Trong ô tìm kiếm, bạn search tên package mà bạn đang thiếu rồi tải về và giải nén ra. Bây giờ có 2 trường hợp:
- Nếu trong thư mục mới giải nén có sẵn file
.sty
thì OK. Không cần làm gì thêm
- Nếu không có sẵn file
.sty
mà chỉ có .ins (Hình 3) thì bạn thực hiện thêm bước cài đặt như sau: - Nhấp vào thanh địa chỉ của folder đó, gõ cmd để mở của sổ Command Prompt
- Gõ lệnh latex
<tên package>.ins
để cài đặt (Hình 4). Khi đó trong thu mục sẽ xuất hiện thêm một số file, trong đó có file .sty
Tiếp theo bạn copy các file trong thư mục này và dán vào thư mục chứa file
.tex
mà bạn đang biên soạn. Như vậy là OK, mặc dù thư mục trông lộn xộn với nhiều file, nhưng không sao, bạn đã có đủ package để biên dịch. Lưu ý: Khi bạn biên dịch file .tex khác (ở folder khác), bạn sẽ phải sao chép lại các file
.sty
vào cùng folder đó. Như vậy hơi mất công. Cách 3 sẽ khắc phục điểm yếu này.Cách 3 - Tự quản lý các packages
Bạn làm giống Cách 2 đến bước tạo ra các file .sty. Bây giờ thay vì copy vào thư mục chứa file .tex , bạn hãy tổ chức một thư mục riêng chứa những gói mà bạn tải về. [adinserter block="6"] Ví dụ mình tạo ra folder D:\Packages of me\tex\latex để lưu tất cả các package mà mình sưu tầm (lưu ý là phải có tex\latex).
Như vậy lúc này trong thư mục D:\Packages of me\tex\latex của mình sẽ chứa các folder như: fancyhdr, tikz, colorx, hyperref,.... (Trong các folders đó chứa file .sty của package đó)
Bây giờ bạn mở file
mo_admin
ở đường dẫn C:\Program Files (x86)\MikTeX\miktex\bin
Ở tab Roots, bạn Add thư mục vừa tạo ở trên vào, nhưng chừa phần tex\latex ra.
Ví dụ, mình sẽ add vào thư mục D:\Packages of me (Hình 5) Bạn bấm Apply rồi chuyển qua tab General và bấm Refresh FNDB. Bây giờ bạn biên dịch được rồi. Từ nay khi cần package nào, bạn chỉ việc lên CTAN tải về rồi giải nén vô thư mục D:\Packaage of me.
Kết
- Bạn nên ưu tiên sử dụng cách 1
- Khi sử dụng cách 2 thì package đó sẽ không có tác dụng ở những file
.tex
khác (không cùng trong thư mục)
- Cách 3 thuận tiện để chủ động quản lí và chia sẻ những package bạn đã tải (phân biệt với package mặc định LaTeX)
Xem thêm Những lỗi LaTeX thường gặp nhất