Перейти к содержимому
Topos Uranos

Краткое содержание

Этот урок учит ссылаться на работы из библиографической базы и составлять из них список литературы. В нём показано, как подключить BibLaTeX с вспомогательной программой Biber и пакет csquotes, который BibLaTeX требует вместе с babel; объясняется цикл компиляции, в котором Biber запускается между двумя проходами движка, какой файл создаёт каждая программа и как latexmk проходит этот цикл сам; разбираются команды ссылок, \cite, \parencite, \textcite и \autocite, с их предпримечаниями и постпримечаниями, \citeauthor и \citeyear, а также ссылки сразу на несколько работ; один и тот же текст сравнивается в стилях «автор, год», числовом, сжатом числовом и буквенном; показано, как \printbibliography задаёт заголовок, вид заголовка, порядок и фильтры списка и какие слова вставляет в него русский язык; в конце рассматриваются самые частые предупреждения и их смысл.

Цели обучения

  1. Подключать BibLaTeX с Biber и csquotes и объявлять базу командой \addbibresource.
  2. Объяснять цикл компиляции с Biber и то, какой файл создаёт каждый шаг, и выполнять его вручную, с latexmk или в Texmaker.
  3. Выбирать между \cite, \parencite, \textcite и \autocite в зависимости от грамматической роли ссылки и писать к ним предпримечания и постпримечания.
  4. Предсказывать, что печатает одна и та же ссылка в стилях «автор, год», числовом, сжатом числовом и буквенном, включая номера, которые получают работы.
  5. Составлять список литературы с заголовком, видом заголовка, порядком и фильтрами по типу записи или ключевому слову.
  6. Понимать предупреждения о неопределённой ссылке, о необходимости запустить Biber и о пустом списке литературы и устранять их причину.

Подключение BibLaTeX

В уроке о библиографической базе мы видели, как каждая работа один раз записывается в файл .bib под ключом, который её обозначает. Этот урок исходит из такой базы и изучает вторую половину работы: ссылаться на работы в тексте по их ключам и поручить LaTeX набрать одновременно ссылки и список литературы. Инструментом для этого служит пакет BibLaTeX, который оформляет ссылки и список, с помощью внешней программы Biber, которая читает базу, сортирует работы и готовит их для движка. В примерах урока используется следующая база: статья по биологии, монография по истории науки, учебник по информатике с четырьмя авторами, эссе на испанском языке и философский сборник с его редактором.

Код LaTeX
@book{kuhn1962,  author    = {Kuhn, Thomas S.},  title     = {The Structure of Scientific Revolutions},  year      = {1962},  publisher = {University of Chicago Press},  location  = {Chicago},  keywords  = {науки},}@article{watson1953,  author   = {Watson, James D. and Crick, Francis H. C.},  title    = {Molecular Structure of Nucleic Acids: A Structure              for Deoxyribose Nucleic Acid},  journal  = {Nature},  volume   = {171},  number   = {4356},  pages    = {737--738},  year     = {1953},  keywords = {науки},}@book{cormen2009,  author    = {Cormen, Thomas H. and Leiserson, Charles E.               and Rivest, Ronald L. and Stein, Clifford},  title     = {Introduction to Algorithms},  edition   = {3},  year      = {2009},  publisher = {MIT Press},  location  = {Cambridge, Mass.},  keywords  = {науки},}@book{ortega1930,  author    = {Ortega y Gasset, José},  title     = {La rebelión de las masas},  year      = {1930},  publisher = {Revista de Occidente},  location  = {Madrid},  keywords  = {гуманитарные},}@book{barnes1995,  editor    = {Barnes, Jonathan},  title     = {The Cambridge Companion to Aristotle},  year      = {1995},  publisher = {Cambridge University Press},  location  = {Cambridge},  keywords  = {гуманитарные},}

Файл сохраняется как fuentes.bib в папке документа. В преамбуле достаточно трёх новых строк: csquotes, BibLaTeX с его параметрами и объявление базы. Параметр backend=biber указывает вспомогательную программу, а style выбирает стиль ссылок и списка. Команда \addbibresource объявляет базу и требует полного имени файла с расширением: при \addbibresource{fuentes} Biber ищет файл с именем ровно fuentes и останавливается с ошибкой «Cannot find 'fuentes'!». В теле документа \printbibliography набирает список там, где она написана.

ПримерМинимальный документ со списком литературы
Код LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[russian]{babel}\babelfont{rm}{Noto Serif}\usepackage{csquotes}\usepackage[backend=biber, style=authoryear]{biblatex}\addbibresource{fuentes.bib}​\begin{document}Согласно \textcite{kuhn1962}, нормальная наука опираетсяна прошлые достижения, которые сообщество принимает за образец.​\printbibliography\end{document}
Результат
Результат

Список содержит только процитированную работу: остальные четыре есть в базе, но текст на них не ссылается. Строки babel и шрифта те же, что были разобраны в первом разделе курса. Заголовок «Список литературы» берётся из русского языкового файла BibLaTeX, который он выбирает потому, что babel задаёт документу русский язык; в классах report и book заголовок тот же, тогда как, например, в испанском он меняется с «Referencias» на «Bibliografía».

Зачем csquotes? BibLaTeX заключает в кавычки названия статей и глав, а чтобы выбрать кавычки языка, в русском «ёлочки», он опирается на csquotes, тот же пакет, что изучался в уроке о сносках, цитатах и стихах. Если он обнаруживает babel и не находит csquotes, он сообщает об этом в журнале: «'babel/polyglossia' detected but 'csquotes' missing. Loading 'csquotes' recommended.» Рекомендуемый порядок тот, что в примере: babel, csquotes и затем BibLaTeX.