[Tex/LaTex] ! Extra }, or forgotten \endgroup. in the bbl file

biberbiblatex

Here is my .tex file:

\documentclass[a4paper, oneside, 12pt]{article}

\usepackage[style=nature, url=true]{biblatex}
\usepackage{hyperref}
\addbibresource{C:/library.bib}

\begin{document}
\cite{Kaplan2005}

\printbibliography

\end{document}

and here is my .bbl file:

% $ 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{ver@biblatex.sty}
  {\@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

When I try to compile, it gives me the error

! Extra }, or forgotten \endgroup.` on line 41.

I think it's talking about line 41 of the .bbl file, which is the line just above \list{publisher}{1}{% in the above code.

So why is there an extra } there? My .bib file is generated automatically by the Mendeley app, and I see no extra } in the details of the reference in Mendeley. Then the .bbl file is generated by TeXmaker with the command biber %.

Best Answer

LaTeX reports the error in line 41, but that is only where the error becomes apparent. The real issue is in the line before that. Line 40 of the .bbl contains

giveni={R\bibinitperiod\bibinitdelim B\bibinitperiod\bibinitdelim \&}\bibinitperiod\bibinitdelim E\bibinitperiod\bibinitdelim F\bibinitperiod}}}%

If you count curly brackets, you'll find that the bracket after \& closes the opening bracket in giveni={. The following closing brackets in that line then close one group earlier than intended, which means that the closing brace in line 41 has no group left to close.

The contents of the .bbl file suggest that your .bib entry for Kaplan2005 contains an editor field similar to

editor = {{H. Gintis, S. Bowles}, R. Boyd {\&} E. Fehrs},

that is the wrong format to give multiple names in a name field. Names must be separated with and, so the correct input would be

editor = {H. Gintis and S. Bowles and R. Boyd and E. Fehrs},

see for example How to properly write multiple authors in bibtex file?.


I also note that the title field of the .bib entry looks roughly like

title = {{The Natural History of Human Food Sharing and Cooperation :
          A Review and a New Multi-Individual Approach to the Negotiation of Norms}}

Presumably the double curly braces are there to apply WYSIWYG case protection to the title. I believe that is bad practice. If you don't want the title to be converted to sentence case, use a style that does not apply sentence case or tell your style to stop it with

\DeclareFieldFormat{titlecase}{#1}

Only those words that must never be lowercased even in sentence case (proper names etc.) should be protected. See also BibTeX loses capitals when creating .bbl file and What is the proper casing to use when storing titles in the bibliography database?.

The space before the colon is also unusual in English typography (but not in French, but even there one should probably make sure the line breaking does not come out weird, currently you would allow a line break before the colon).

Related Question