Xuất ra những tài liệu tham khảo được trích dẫn trong một tài liệu tex từ file .bib chung nhất

Print Friendly, PDF & Email

Tối có một vấn đề: Trong quá trình viết bài (article, proposal, resume, etc.) tôi muốn lưu tất cả tài liệu tham khảo vào một file .bib duy nhất vì muốn dễ quản lý các entry dùng các tool như JabRef. Dùng đường dẫn tương đối để chỉ ra file .bib trong file .tex. Với cách này, chúng ta sẽ tránh tình trạng trùng nội dung các entry nhưng chỉ khác tên. Tuy nhiên, một vấn đề chạm đến: khi submit báo, một số hội thảo, tạp chí yêu cầu gởi cả file .tex và .bib. Thế thì trong trường hợp này, chúng ta không nên gởi cả tập tin dữ liệu bibtex mà chỉ nên lấy ra những entries nào tham khảo trong tài liệu. Đây chính là chức năng mà tôi cần.
Ban đầu, tôi có một vài ý tưởng để làm việc này.  Chẳng hạn như:

  • Viết một ít code với Python hoặc /C++ gì đó đê lấy tất cả các tên được cite trong tài liều, sau đó lấy tất cả entries trong .bib dựa vào các tên lấy được trong tài liệu.
  • Import .bib vào một tool quản lý tài liệu tham khảo mà sử dụng MySQL và PHP. Sau đó, dùng câu truy vấn trừ (hoặc nối) để lấy ra những entries được cite.
  • Có một tiện ích nào đó trong hệ thống tex

Thế là, tôi bắt đầu gooogle để xem các anh em đã xử lý vấn đề này như thế nào. May mắn, tôi tìm ra được bibexport nhưng không cài đặt được. Không hiểu lý do gì nhưng mỗi lần chạy pdflatex để biên dịch file đều bị báo lỗi. Tôi vẫn kiên trì tìm kiếm công cụ khác, và tôi cũng có thấy bibtool nhưng không nghĩ nó thể làm được tính năng như tôi mô tả trên.

Tình cờ chạy ngang qua trang này, tôi nắm được tính năng tương tự như yêu cầu của tôi  có trong bibtool. Thế là việc cài đặt bibtool bắt đâu thông qua terminal với lệnh sudo apt-get install bibtool.

Sau đó, chỉ cần chạy lệnh:

bibtool -x paper.aux -o paperrefs.bib

để xuất ra các entries được tham khảo trong paper ra một file paperrefs.bib. Để kiểm tra, chỉ cần dùng lênh diff:

diff myreferences.bib paperrefs.bib

so sánh nội dung của file tài liệu tham khảo toàn bộ (myreferrences.bib) với file tài liệu tham khảo của 1 bài báo cho trước.

One thought on “Xuất ra những tài liệu tham khảo được trích dẫn trong một tài liệu tex từ file .bib chung nhất

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.