Привычки natbib против команд biblatex
Круглые и текстовые цитаты, а также названия, которые их заменяют.
привычки natbib против команд biblatex
Для цитирования за год автора требуются два варианта команды cite. Иногда авторы являются частью вашего предложения, как в «Кнут (1984) ввел грамотное программирование». Иногда цитата приводится в скобках, например: «Грамотное программирование сочетает в себе код и прозу (Knuth, 1984)». Обычный \cite не может провести такое различие, поэтому существует пакет natbib и почему biblatex предоставляет свой собственный набор имен для тех же идей. Если вы изучили один и получили шаблон, используя другой, эта страница является таблицей перевода.
Команды natbib
\usepackage{natbib}\citet{knuth84} % Knuth (1984)\citep{knuth84} % (Knuth, 1984)\citep*{knuth84} % (Knuth, Lamport, and Mittelbach, 1984): full author listМнемоника заключается в том, что \citet — это текстовая цитата, которая читается как часть предложения, а \citep — это цитата в скобках, заключенная в квадратные скобки. В вариантах, отмеченных звездочкой, печатается полный список авторов вместо «и др.», который иногда требуется при первом цитировании работы. natbib также предлагает \citeauthor только для имен, \citeyear только для года и необязательный аргумент для номеров страниц, как в \citep[p.~42]{knuth84}. natbib — это пакет эпохи препроцессора: он работает с классическим BibTeX и совместимым стилем .bst, таким как plainnat или apalike.
Библетексные эквиваленты
biblatex охватывает одну и ту же тему под разными названиями. \textcite{knuth84} создает текстовую форму “Knuth (1984)”, \parencite{knuth84} создает скобки “(Knuth, 1984)”, а простой \cite{knuth84} создает пустую цитату, точный вид которой зависит от загруженного стиля. Для остального также есть прямые аналоги: \citeauthor, \citeyear, а также примечания и постноты для таких вещей, как номера страниц, записанные \parencite[see][p.~42]{knuth84}. Если проблема в мышечной памяти, у biblatex даже есть опция пакета natbib=true, которая определяет \citet и \citep как псевдонимы, что делает миграцию практически безболезненной.
Перенос документа из natbib в biblatex
Ваш файл .bib вообще не нуждается в изменениях. Обе системы читают одну и ту же базу данных. Миграция затрагивает только преамбулу и сборку. Удалите \usepackage{natbib} и строку \bibliographystyle, затем загрузите \usepackage[backend=biber,style=authoryear]{biblatex} и укажите его в своей базе данных с помощью \addbibresource{refs.bib}. Замените \bibliography{refs} в конце документа на \printbibliography. Наконец, убедитесь, что при сборке используется «biber» вместо «bibtex», поскольку biblatex хранит свои данные в другом формате, и старый бэкэнд ничего не производит. Если вы не хотите трогать основной текст, сохраните имена команд natbib с помощью параметра совместимости, и изменится только преамбула.
Какой выбрать
Если шаблон журнала уже загружает natbib, оставайтесь с ним. Борьба с классовым файлом редко того стоит. Для новых документов, которые вы выберете, biblatex более гибок и лучше обрабатывает Unicode. Более широкое сравнение находится в Classic BibTeX или biblatex, а последующее переключение стилей описано в Числовой, год автора, журнальный стили.