Управление библиографией LaTeX с BibTeX и biblatex

ПомощьEasyLaTeX OfficialОпубликовано

Отделяйте библиографические данные от представления. Прежде всего следуйте шаблону издательства или университета, затем выбирайте ручные записи, традиционный BibTeX или biblatex. В полных примерах ниже используются согласованные ключи цитирования и реальные книги, а не выдуманные записи DOI.

Выберите способ работы

СпособПодходящее применениеОсновные команды
thebibliographyНебольшой список без повторного использования\bibitem и \cite
BibTeXШаблон, требующий стиль .bst\bibliographystyle и \bibliography
biblatexГибкие стили при отсутствии противоречащих требований шаблона\addbibresource и \printbibliography

Ручному примеру не нужен .bib. Номера ссылок всё же могут потребовать повторных проходов LaTeX, которыми управляет платформа. Русские примеры компилируются XeLaTeX:

LaTeX
\documentclass[a4paper,11pt]{article}\usepackage{fontspec}\setmainfont{CMU Serif}\setsansfont{CMU Sans Serif}\setmonofont{CMU Typewriter Text}\usepackage[russian]{babel}​\begin{document}Об основах вёрстки см.~\cite{knuth1984}.\begin{thebibliography}{9}\bibitem{knuth1984} Donald E. Knuth. \emph{The TeXbook}. Addison-Wesley, 1984.\end{thebibliography}\end{document}

Создайте refs.bib

Создайте в дереве файлов refs.bib с этими двумя опубликованными книгами. Их ключи — knuth1984 и lamport1994:

bibtex
@book{knuth1984,  author = {Donald E. Knuth},  title = {The TeXbook},  publisher = {Addison-Wesley},  year = {1984}}@book{lamport1994,  author = {Leslie Lamport},  title = {LaTeX: A Document Preparation System},  edition = {2},  publisher = {Addison-Wesley},  year = {1994}}

Используйте базу повторно в разных проектах, но при смене библиографических систем проверяйте совместимость полей и стилей, особенно специальных полей.

Используйте biblatex и Biber

Оставьте базу в корне проекта и используйте такой основной файл:

LaTeX
\documentclass[a4paper,11pt]{article}\usepackage{fontspec}\setmainfont{CMU Serif}\setsansfont{CMU Sans Serif}\setmonofont{CMU Typewriter Text}\usepackage[russian]{babel}\usepackage[backend=biber,style=authoryear,maxcitenames=2]{biblatex}\addbibresource{refs.bib}\usepackage{hyperref}\begin{document}Основы вёрстки изложены в~\parencite{knuth1984}.\textcite{lamport1994} описывает подготовку документов в LaTeX.\printbibliography\end{document}
  • backend=biber выбирает библиографический процессор.
  • style=authoryear выбирает представление «автор — год».
  • maxcitenames=2 управляет отображением имён авторов в цитатах.
  • \addbibresource{refs.bib} использует полное имя файла базы.
  • \parencite, \textcite и \printbibliography дают ссылки в скобках, ссылки в тексте и список литературы.

Выберите XeLaTeX в настройках редактора и запустите компиляцию. EasyLaTeX выполняет зависимые проходы LaTeX/Biber. Если после завершения задания остаётся [?], проверьте текущий журнал, ключи и пути.

Используйте BibTeX для шаблона .bst

В примере используется plainnat. Для предоставленного .bst укажите имя без расширения и сохраните настройки пакетов шаблона:

LaTeX
\documentclass[a4paper,11pt]{article}\usepackage{fontspec}\setmainfont{CMU Serif}\setsansfont{CMU Sans Serif}\setmonofont{CMU Typewriter Text}\usepackage[russian]{babel}\usepackage{natbib}\begin{document}Об основах вёрстки см.~\citep{knuth1984}.\bibliographystyle{plainnat}\bibliography{refs}\end{document}

\bibliography{refs} — традиционная команда базы BibTeX. Не смешивайте её настройки и команды вывода с biblatex в одной конфигурации.

Измените стиль

Эти варианты заменяют существующую строку подключения biblatex; выбирайте один, не оба:

LaTeX
\usepackage[backend=biber,style=numeric]{biblatex}
LaTeX
\usepackage[backend=biber,style=authoryear]{biblatex}

Используйте специальный издательский стиль, например IEEE или APA, только при соответствии реальным требованиям и доступной конфигурации шаблона. Стиль определяет представление, а поля базы — доступную для вывода информацию. После изменения проверяйте имена, даты, порядок, том, страницы и DOI. Для русскоязычной статьи также следуйте конкретным требованиям организации или журнала, не предполагая единого стиля для всех изданий.

Частые проблемы

СимптомГде искатьДействие
[?] или неразрешённый ключТекущее задание и библиографический журналДождитесь обработки, затем изучите настройки и ключи
Citation 'xxx' undefinedТекст и базаСогласуйте написание и регистр
Пустая библиографияКоманды цитирования и выводаСошлитесь на запись и поставьте вывод до \end{document}
Нет файлаДерево файлов и путиПроверьте расположение .bib или .bst шаблона

Дополнительные действия

Короткий список можно оставить ручным; не переносите рабочий издательский шаблон только ради смены инструментов. \printbibliography[type=book] фильтрует по типу; refsection позволяет организовать отдельные списки. Сначала получите рабочий минимальный проект и лишь затем добавляйте эти возможности.

Проверка полноты описана в двусторонней проверке цитирования.