
Вот мой .tex
файл:
\documentclass[a4paper, oneside, 12pt]{article}
\usepackage[style=nature, url=true]{biblatex}
\usepackage{hyperref}
\addbibresource{C:/library.bib}
\begin{document}
\cite{Kaplan2005}
\printbibliography
\end{document}
а вот мой .bbl
файл:
% $ biblatex auxiliary file $
% $ biblatex bbl format version 3.0 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{[email protected]}
{\@latex@error
{Missing 'biblatex' package}
{The bibliography requires the 'biblatex' package.}
\aftergroup\endinput}
{}
\endgroup
\refsection{0}
\datalist[entry]{none/global//global/global}
\entry{Kaplan2005}{incollection}{}
\name{author}{2}{}{%
{{hash=d7aa6cd4dd81f6a39f9e4ed67f086e5b}{%
family={Kaplan},
familyi={K\bibinitperiod},
given={H.},
giveni={H\bibinitperiod}}}%
{{hash=5b840a8b71b2be7ce05d995becdf0667}{%
family={Gurven},
familyi={G\bibinitperiod},
given={M.},
giveni={M\bibinitperiod}}}%
}
\name{editor}{1}{}{%
{{hash=7a12290827e9d3657d5103137b676795}{%
family={{H. Gintis, S. Bowles}},
familyi={H\bibinitperiod},
given={R.\bibnamedelimi Boyd\bibnamedelimb {\&}\bibnamedelimb E.\bibnamedelimi Fehrs},
giveni={R\bibinitperiod\bibinitdelim B\bibinitperiod\bibinitdelim \&}\bibinitperiod\bibinitdelim E\bibinitperiod\bibinitdelim F\bibinitperiod}}}%
}
\list{publisher}{1}{%
{MIT Press}%
}
\strng{namehash}{481ebb51e63e034bd84329e6d6525632}
\strng{fullhash}{481ebb51e63e034bd84329e6d6525632}
\strng{bibnamehash}{481ebb51e63e034bd84329e6d6525632}
\strng{authorbibnamehash}{481ebb51e63e034bd84329e6d6525632}
\strng{authornamehash}{481ebb51e63e034bd84329e6d6525632}
\strng{authorfullhash}{481ebb51e63e034bd84329e6d6525632}
\strng{editorbibnamehash}{7a12290827e9d3657d5103137b676795}
\strng{editornamehash}{7a12290827e9d3657d5103137b676795}
\strng{editorfullhash}{7a12290827e9d3657d5103137b676795}
\field{sortinit}{1}
\field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29}
\field{labelnamesource}{author}
\field{labeltitlesource}{shorttitle}
\field{annotation}{From Duplicate 2 ( The natural history of human food sharing and cooperation: a review and a new multi-individual approach to the negotiation of norms - Kaplan, H.; Gurven, M. )}
\field{booktitle}{Moral sentiments and material interests: The foundations of cooperation in economic life}
\field{shorttitle}{The natural history of human food sharing and coop}
\field{title}{{The Natural History of Human Food Sharing and Cooperation : A Review and a New Multi-Individual Approach to the Negotiation of Norms}}
\field{year}{2005}
\field{pages}{75\bibrangedash 113}
\range{pages}{39}
\verb{file}
\verb :C$\backslash$:/Users/Kaplan, Gurven - 2005 - The Natural History of Human Food Sharing and Cooperation A Review and a New Multi-Individual Approach to the N.pdf:pdf
\endverb
\verb{urlraw}
\verb http://www.anth.ucsb.edu/faculty/gurven/papers/kaplangurven.pdf
\endverb
\verb{url}
\verb http://www.anth.ucsb.edu/faculty/gurven/papers/kaplangurven.pdf
\endverb
\endentry
\enddatalist
\endrefsection
\endinput
При попытке компиляции выдает ошибку
! Extra }, or forgotten \endgroup.` on line 41.
Я думаю, речь идет о строке 41 файла .bbl
, которая находится чуть выше \list{publisher}{1}{%
в приведенном выше коде.
Так почему там есть лишний }
? Мой .bib
файл автоматически генерируется приложением Mendeley, и я не вижу ничего лишнего }
в деталях ссылки в Mendeley. Затем .bbl
файл генерируется TeXmaker с помощью команды biber %
.
решение1
LaTeX сообщает об ошибке в строке 41, но только там ошибка становится очевидной. Реальная проблема в строке перед ней. Строка 40 .bbl
содержит
giveni={R\bibinitperiod\bibinitdelim B\bibinitperiod\bibinitdelim \&}\bibinitperiod\bibinitdelim E\bibinitperiod\bibinitdelim F\bibinitperiod}}}%
Если посчитать фигурные скобки, то можно обнаружить, что скобка после \&
закрывает открывающую скобку в giveni={
. Следующие закрывающие скобки в этой строке закрывают одну группу раньше, чем предполагалось, что означает, что закрывающей скобке в строке 41 не осталось группы для закрытия.
Содержимое файла .bbl
предполагает, что ваша .bib
запись Kaplan2005
содержит editor
поле, похожее на
editor = {{H. Gintis, S. Bowles}, R. Boyd {\&} E. Fehrs},
это неправильный формат для указания нескольких имен в поле имени. Имена должны быть разделены and
, поэтому правильный ввод будет
editor = {H. Gintis and S. Bowles and R. Boyd and E. Fehrs},
см. напримерКак правильно указать нескольких авторов в файле bibtex?.
Я также отмечаю, что title
поле записи .bib
выглядит примерно так:
title = {{The Natural History of Human Food Sharing and Cooperation :
A Review and a New Multi-Individual Approach to the Negotiation of Norms}}
Предположительно, двойные фигурные скобки нужны для того, чтобы применить защиту регистра WYSIWYG к заголовку. Я считаю, что это плохая практика. Если вы не хотите, чтобы заголовок был преобразован в предложение, используйте стиль, который не применяет предложение, или укажите своему стилю остановить это с помощью
\DeclareFieldFormat{titlecase}{#1}
Только те слова, которые никогда не должны быть строчными даже в предложении (имена собственные и т. д.), должны быть защищены. Смотрите такжеBibTeX теряет заглавные буквы при создании файла .bblиКакой регистр следует использовать при сохранении названий в библиографической базе данных?.
Пробел перед двоеточием также нетипичен для английской типографики (но не для французской, но даже там, вероятно, следует убедиться, что перенос строки не выглядит странным; в настоящее время допускается перенос строки перед двоеточием).