HocThuatSo.comHọc Thuật Số
Gửi thư
LaTeX và Overleaf

BibLaTeX hay BibTeX: quản lý tài liệu tham khảo trong LaTeX

BibLaTeX với biber xử lý tốt tiếng Việt, đổi kiểu trích dẫn bằng tuỳ chọn và tuỳ biến bằng lệnh LaTeX; BibTeX với tệp .bst là thứ nhiều tạp chí vẫn bắt buộc. So sánh, mã mẫu và cách viết tên tác giả có dấu.

BibLaTeX hay BibTeX: quản lý tài liệu tham khảo trong LaTeX

Viết luận án hay tài liệu có nhiều tài liệu tiếng Việt thì chọn BibLaTeX với biber: đọc UTF-8 tốt, đổi kiểu trích dẫn bằng một tuỳ chọn, tuỳ biến bằng lệnh LaTeX. Nộp bài cho tạp chí có mẫu kèm tệp .bst thì dùng BibTeX theo đúng mẫu đó.

Cả hai đều đọc tệp .bib, nên dữ liệu tài liệu tham khảo của bạn dùng chung được. Khác biệt nằm ở chương trình xử lý, cách khai trong tệp .tex và cách tuỳ biến kiểu trình bày. Chọn sai không phải thảm hoạ, nhưng chuyển ở phút cuối thì tốn công.

BibLaTeX và BibTeX khác nhau ở đâu?

Tiêu chíBibLaTeX với biberBibTeX với tệp .bst
Chương trình xử lýbiberbibtex (hoặc bibtex8, bibtexu)
Ký tự có dấu, UTF-8Xử lý tốt, sắp xếp theo quy tắc ngôn ngữHạn chế; viết tắt tên và sắp xếp có thể sai với chữ nhiều byte
Đổi kiểu trích dẫnĐổi tuỳ chọn style khi nạp góiĐổi tệp .bst
Tuỳ biến kiểuBằng lệnh LaTeX trong phần đầu tệpSửa tệp .bst bằng ngôn ngữ riêng, khó
Lệnh trích dẫn\textcite, \parencite, \autocite…\cite; với natbib có \citet, \citep
Loại tài liệuNhiều loại và trường hơn (online, thesis, dataset…)Tập loại cũ, trường hạn chế
Mẫu nhà xuất bảnMột số nhà xuất bản hỗ trợPhần lớn mẫu tạp chí vẫn dùng

Mã mẫu cho từng cách

BibLaTeX

Phần đầu tệp và chỗ in danh mục:

\usepackage[backend=biber,style=authoryear]{biblatex}
\addbibresource{tailieu.bib}
...
Theo \textcite{nguyen2021}, ...
\printbibliography

Lệnh \addbibresource cần tên tệp đầy đủ kèm đuôi .bib. Đổi style=authoryear thành numeric, apa (cần gói biblatex-apa, có sẵn trong TeX Live) hoặc kiểu khác để đổi cách trình bày.

BibTeX với natbib

Phần đầu và cuối tệp:

\usepackage{natbib}
...
Theo \citet{nguyen2021}, ...
\bibliographystyle{plainnat}
\bibliography{tailieu}

Ở đây tên tệp trong \bibliography không ghi đuôi. Với mẫu của tạp chí, thay plainnat bằng tên tệp .bst đi kèm mẫu.

Chu trình biên dịch

Cả hai đều cần chạy LaTeX, rồi bibtex hoặc biber, rồi LaTeX thêm một đến hai lần. Overleaf và các công cụ như latexmk tự nhận ra cần chạy chương trình nào. Khi chạy tay, nhầm bibtex với biber sẽ sinh danh mục trống.

Tên tác giả có dấu và tài liệu tiếng Việt trong tệp .bib

Họ và tên người Việt

Trong tệp .bib, cách chắc chắn nhất là viết dạng có dấu phẩy: author = {Nguyễn, Văn An}. Phần trước dấu phẩy là họ, phần sau là tên. Viết không có dấu phẩy, BibTeX và biber coi chữ cuối là họ, tức “An” thành họ.

Tác giả là cơ quan

Bọc thêm một lớp ngoặc nhọn để tên không bị tách: author = {{Tổng cục Thống kê}}. Nếu không, chương trình sẽ coi “Kê” là họ và viết tắt phần còn lại.

Nhiều tác giả

Nối bằng chữ and, không dùng dấu phẩy hay chữ “và”: author = {Nguyễn, Văn An and Trần, Thị Bình}.

Giữ chữ hoa trong tiêu đề

Nhiều kiểu trình bày đổi tiêu đề sang chữ thường trừ chữ đầu. Tên riêng cần giữ hoa thì bọc ngoặc nhọn: title = {Nuôi ong ở {Đắk Lắk}}. Với BibLaTeX, thêm trường langid = {vietnamese} cho tài liệu tiếng Việt để kiểu trình bày không áp quy tắc chữ hoa của tiếng Anh và để ngắt dòng đúng ngôn ngữ.

Khi tạp chí bắt buộc BibTeX

Mẫu của nhiều nhà xuất bản dựa trên natbib và một tệp .bst riêng; hệ thống nộp bài của họ chỉ chạy bibtex, hoặc không chạy gì và đọc tệp .bbl bạn nộp kèm. Trong trường hợp này, dùng BibLaTeX trái với mẫu sẽ làm bản biên dịch của tạp chí hỏng hoặc trình bày sai kiểu.

Tin tốt là tệp .bib dùng chung được. Nếu viết bằng BibLaTeX rồi phải chuyển, phần lớn việc là đổi phần đầu tệp và đổi lệnh trích dẫn: \textcite thành \citet, \parencite thành \citep. Trường chỉ BibLaTeX hiểu (như date thay cho year, journaltitle thay cho journal) cần đổi lại; Better BibTeX trong Zotero xuất được cả hai dạng nên chỉ cần xuất lại.

Với arXiv: arXiv chấp nhận BibLaTeX nhưng tệp .bbl phải sinh từ phiên bản biblatex khớp với bản arXiv đang chạy; lệch phiên bản là lỗi quen thuộc. Đọc hướng dẫn nộp bài hiện hành của arXiv trước khi chọn.

Tài liệu tiếng Việt trong danh mục: những chỗ hay lệch

Sắp xếp. Biber sắp xếp theo quy tắc của ngôn ngữ đã khai, nên chữ có dấu xếp đúng chỗ hơn. BibTeX cổ điển có thể đẩy tên bắt đầu bằng chữ có dấu như Đặng, Đỗ xuống cuối danh mục.

Thuật ngữ. Với babel tiếng Việt, BibLaTeX dùng thuật ngữ tiếng Việt cho các chữ như “biên tập”, “và cộng sự” nếu có tệp ngôn ngữ tương ứng; nếu chưa vừa ý, đổi bằng lệnh \DefineBibliographyStrings.

Tách nhóm tài liệu tiếng Việt và nước ngoài. BibLaTeX làm được bằng từ khoá: gán keywords = {tiengviet} cho tài liệu Việt rồi in hai lần \printbibliography với tuỳ chọn keyword và notkeyword. BibTeX không làm được việc này một cách gọn.

Trích dẫn kèm số trang và nhiều nguồn một lúc

Số trang

Cả hai cách đều nhận phần ghi sau trong ngoặc vuông. Với BibLaTeX: \parencite[15]{nguyen2021} sẽ in số trang kèm thuật ngữ trang theo ngôn ngữ; viết \parencite[tr.~15--18]{nguyen2021} nếu muốn tự ghi. Với natbib: \citep[tr.~15]{nguyen2021}. Hai dấu gạch nối liền nhau in ra gạch ngang dùng cho khoảng trang.

Phần ghi trước

Muốn có chữ “xem” trước trích dẫn, dùng hai ngoặc vuông: \parencite[xem][15]{nguyen2021}. Ngoặc đầu là phần ghi trước, ngoặc sau là phần ghi sau.

Nhiều nguồn

Gộp khoá trong một lệnh, cách nhau dấu phẩy: \parencite{nguyen2021,tran2019}. Kiểu trình bày tự sắp và nối, kiểu số còn gộp thành khoảng như [3–5] nếu có tuỳ chọn nén.

Tình huống: luận án đang dùng BibTeX, muốn chuyển sang BibLaTeX

Một nghiên cứu sinh viết luận án ba năm bằng natbib với một tệp .bst tìm được trên mạng. Đến khi trường yêu cầu tách tài liệu tiếng Việt và tiếng nước ngoài thành hai nhóm, kiểu .bst không làm được. Chuyển sang BibLaTeX giải quyết việc tách nhóm, nhưng cần làm theo thứ tự: đổi phần đầu tệp, chạy thử với kiểu gần nhất, rồi mới thay lệnh trích dẫn.

Thay lệnh có thể làm bằng tìm và thay trong trình soạn: \citet thành \textcite, \citep thành \parencite. Thực ra BibLaTeX có tuỳ chọn natbib=true để chấp nhận luôn lệnh của natbib, nên có thể giữ nguyên lệnh trong thân bài nếu thời gian gấp. Sau khi chuyển, so danh mục cũ và mới, nhất là tài liệu có tác giả là cơ quan và tài liệu không có năm.

Một mục .bib mẫu cho tài liệu tiếng Việt

Luận án

Mục dưới dùng kiểu @phdthesis, hiểu được bởi cả BibTeX và BibLaTeX:

@phdthesis{tranbinh2020,
author = {Trần, Thị Bình},
title = {Tên đề tài luận án},
school = {Tên cơ sở đào tạo},
address = {Hà Nội},
year = {2020},
langid = {vietnamese}
}

Tên người, tên đề tài và năm ở đây là giả định để minh hoạ. Kiểu trình bày sẽ tự in loại luận án bằng thuật ngữ của ngôn ngữ; muốn ghi rõ “Luận án tiến sĩ”, BibLaTeX nhận trường type với giá trị tự ghi.

Văn bản của cơ quan

Báo cáo, văn bản quy phạm thường đưa vào kiểu @report (BibLaTeX) hoặc @techreport (BibTeX), tác giả là cơ quan bọc hai lớp ngoặc nhọn, số hiệu văn bản ghi vào trường number. Dù chọn cách nào, áp một cách cho mọi văn bản cùng loại trong danh mục.

Lỗi hay gặp và cách sửa

  • Danh mục trống: chạy nhầm bibtex khi đã khai backend=biber, hoặc ngược lại. Trên Overleaf, xoá tệp tạm (biểu tượng thùng rác cạnh nhật ký) rồi biên dịch lại.
  • Biber báo lỗi đọc tệp .bib: thường là một mục thiếu dấu phẩy hoặc ngoặc. Nhật ký biber ghi số dòng; mở tệp .bib tới dòng đó.
  • Tên cơ quan bị viết tắt kỳ lạ: thiếu lớp ngoặc nhọn thứ hai.
  • Trích dẫn ra dấu hỏi đậm: khoá không có trong tệp .bib, hoặc tệp .bib chưa được khai đúng tên.
  • Ký tự & trong tên tạp chí gây lỗi: viết thành dấu gạch chéo ngược trước ký tự đó trong tệp .bib.

Câu hỏi thường gặp

Overleaf có tự chọn biber hay bibtex không?

Có. Overleaf dùng latexmk, tự nhận ra tài liệu khai biblatex với backend biber để chạy biber, còn lại chạy bibtex. Nếu danh mục vẫn trống, xoá tệp tạm rồi biên dịch lại.

Có dùng được kiểu APA trong LaTeX không?

Có. Với BibLaTeX dùng style=apa từ gói biblatex-apa, bám sát quy định APA bản mới. Với BibTeX có tệp apalike hoặc gói apacite, nhưng mức bám quy định thấp hơn.

Tệp bib nên viết tay hay xuất từ phần mềm?

Nên xuất từ phần mềm quản lý tài liệu như Zotero với Better BibTeX hoặc JabRef. Viết tay dễ sai ngoặc, sai cách ghi tên, và khó dùng lại cho bài khác.

Có cần ghi DOI trong tệp bib không?

Nên ghi trường doi nếu tài liệu có DOI. Nhiều kiểu trình bày tự in DOI và tạp chí ngày càng yêu cầu. Nếu kiểu trình bày không in, trường này vẫn không gây hại.

Chuyển từ BibTeX sang BibLaTeX có phải sửa tệp bib không?

Thường không cần sửa, vì biber đọc được các trường kiểu cũ như journal và year. Bạn chỉ đổi phần đầu tệp, lệnh in danh mục và lệnh trích dẫn nếu muốn dùng các lệnh riêng của BibLaTeX.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

🧭
Bạn đang ở chặng nào của đường học vị?
Nhập chỗ bạn đang đứng và đích bạn nhắm — công cụ trả về số năm, chi phí và việc phải làm từng chặng.
Xem lộ trình của tôi →
Miễn phí, không cần tài khoản. Xem tất cả công cụ

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
[email protected]