Thiếu packages MikTeX – Hướng dẫn sửa nhanh

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.

Xem thêm LaTeX 6 – Đôi điều về gói lệnh (package) 

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ề 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
  • 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ề.

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
Xem thêm Những khái niệm cơ bản – Chìa khóa để tự học LaTeX hiệu quả

Phạm Nhật Thiện

Phạm Nhật Thiện

Nhật Thiện là bạn trẻ yêu thích Toán học, mong muốn tổng hợp và chia sẻ kiến thức đến tất cả mọi người.