BibLaTeX — менеджер библиографии для XeLaTeX документов, заменяющий собой BibTeX. Как и BibTeX, BibLaTeX состоит из утилиты для работы с .bib файлами biber и пакета biblatex. Алгоритм работы аналогичен BibTeX:

  1. Программа xelatex обнаруживает ссылки (команды \cite и т.п.) и подключенные источники в формате BibTeX в документе и (по результатам) формирует запрос;
  2. Программа biber формирует (в ответ на запрос) LaTeX-файл с нужными библиографическими данными;
  3. Программа xelatex выполняет проход для расстановки ссылок и добавления списка литературы в документ;
  4. Программа xelatex выполняет (дополнительный) проход для (пере-)расстановки номеров страниц и внутренних ссылок в документе.

Для осуществления перечисленных действий надо последовательно выполнить 4 команды. Для файла-параметра article.tex это команды:

xelatex article.tex
biber article
xelatex article.tex
xelatex article.tex

Преимущества BibLaTeX+biber по сравнению с BibTeX:

  • Описание стиля библиографической записи выполняется с начала до конца на языке LaTeX без использования .bst файлов;
  • Библиографические записи можно разбить на категории и выводить отдельно - с различными правилами оформления (например, на русском и английском);
  • Поддержка Unicode в .tex и .bib файлах;
  • Наличие в CTAN пакета biblatex-gost, содержащего стили, соответствующие ГОСТ.

Для использования BibLaTeX+biber необходимо задействовать пакеты csquotes и biblatex:

\usepackage{csquotes}

\usepackage[
    backend=biber, 
    sorting=nyt,
    bibstyle=gost-authoryear,
    citestyle=gost-authoryear
]{biblatex}

В данном примере пакет biblatex используется со следующими опциями:

  • Использовать biber для работы с .bib файлами;
  • Использовать порядок сортировки: "фамилия, год, заголовок";
  • Использовать для списка литературы и цитат в тексте стили пакета biblatex-gost;

Также полезными могут быть следующие опции:

  • defernumbers=true — не использовать сквозную нумерацию;
  • movenames=false — не менять местами заголовок и список авторов, если авторов больше четырех;
  • maxbibnames=99 — не использовать сокращение списка авторов.

Рассмотрим пример создания двуязчного списка литературы с использованием механизма категорий:

\DeclareBibliographyCategory{SourcesRu}

\addtocategory{SourcesRu}{src1,src2,src3,src4}

\addbibresource{sources.bib}

...

\selectlanguage{russian}
\printbibliography[category=SourcesRu]

\selectlanguage{english}
\printbibliography[notcategory=SourcesRu]

В новую категория SourcesRu будут добавлены ссылки, перечисленные в команде \addtocategory. В качестве источника библиографических данных будет использован файл sources.bib. В нужном месте документа будут добавлена библиография, в которой сначала будут расположены все источники из категории SourcesRu, а затем - остальные. При этом будет выполнено переключение терминов с помощью команды \selectlanguage пакета polyglossia.