! Extra } ou esquecido \endgroup. no meu arquivo bbl

! Extra } ou esquecido \endgroup. no meu arquivo bbl

Aqui está meu .texarquivo:

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

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

\begin{document}
\cite{Kaplan2005}

\printbibliography

\end{document}

e aqui está meu .bblarquivo:

% $ 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

Quando tento compilar, me dá o erro

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

Acho que está falando da linha 41 do .bblarquivo, que é a linha logo acima \list{publisher}{1}{%no código acima.

Então, por que há um extra }aí? Meu .bibarquivo é gerado automaticamente pelo aplicativo Mendeley e não vejo nenhum extra }nos detalhes da referência no Mendeley. Em seguida o .bblarquivo é gerado pelo TeXmaker com o comando biber %.

Responder1

O LaTeX relata o erro na linha 41, mas é somente aí que o erro se torna aparente. A verdadeira questão está na linha anterior. A linha 40 do .bblcontém

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

Se você contar colchetes, descobrirá que o colchete depois \&fecha o colchete de abertura em giveni={. Os colchetes de fechamento seguintes nessa linha fecham um grupo antes do pretendido, o que significa que a chave de fechamento na linha 41 não tem mais nenhum grupo para fechar.

O conteúdo do .bblarquivo sugere que sua .bibentrada Kaplan2005contém um editorcampo semelhante a

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

esse é o formato errado para fornecer vários nomes em um campo de nome. Os nomes devem ser separados por and, então a entrada correta seria

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

veja por exemploComo escrever corretamente vários autores no arquivo bibtex?.


Observo também que o titlecampo da .bibentrada se parece aproximadamente com

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

Presumivelmente, as chaves duplas existem para aplicar a proteção de caso WYSIWYG ao título. Eu acredito que isso é uma má prática. Se você não deseja que o título seja convertido para maiúsculas e minúsculas, use um estilo que não aplique maiúsculas e minúsculas ou diga ao seu estilo para interrompê-lo.

\DeclareFieldFormat{titlecase}{#1}

Somente aquelas palavras que nunca devem ser minúsculas, mesmo em maiúsculas e minúsculas (nomes próprios, etc.) devem ser protegidas. Veja tambémBibTeX perde letras maiúsculas ao criar arquivo .bbleQual é a caixa adequada a ser usada ao armazenar títulos no banco de dados bibliográfico?.

O espaço antes dos dois pontos também é incomum na tipografia inglesa (mas não em francês, mas mesmo aí deve-se provavelmente ter certeza de que a quebra de linha não saia estranha, atualmente você permitiria uma quebra de linha antes dos dois pontos).

informação relacionada