Biber scheitert bei der Unterstützung von { } in Autorennamen

Biber scheitert bei der Unterstützung von { } in Autorennamen

Bei der Verwendung von Biber und LaTeX tritt ein Fehler auf:

Hier ist mein MNWE:

test.bib:

@misc{citation1, title = {Any title}, author = {{{Foo} bar}}, }, 

test.tex:

\documentclass{book}
\usepackage[backend=biber]{biblatex}
\addbibresource{test.bib}
\begin{document}
Minimal\cite{citation1}.
\end{document}

Das Ändern der Autorenzeile in der Bib-Datei behebt author = {{Foo} bar}das Problem.

Fehler:

(./test.bbl
Runaway argument?
{{{hash=caae7d4677b9798ddeb82790f6e3b20d}{{{Foo}\bibnamedelimb bar}}{\ETC.
! Paragraph ended before \name was complete.

Bei der Verwendung von BibTeX gibt es kein Problem (Änderung backend=bibtex).

Versucht mit Biber 1.2 und dem letzten Biblatex und Biber 0.99 und dem in Texlive2011 enthaltenen Biblatex, gleiches Problem.

Antwort1

Das ist ein ziemlich chaotisches Ausgabeformat, da nicht klar ist, ob es darum geht, „Foo“ oder den gesamten Namen zu schützen. Anstatt das Zotero-Team zu bitten, kein derart chaotisches Bibtex auszugeben, fügen Sie Folgendes zu Ihrer biber.conf hinzu, um Klammern innerhalb eines bereits vollständig geschützten Namens automatisch zu entfernen:

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <sourcemap>
    <maps datatype="bibtex" map_overwrite="1">
      <map>
        <map_step map_field_source="AUTHOR"
                  map_match="\A{.+}\z" final="1"/>
        <map_step map_field_source="AUTHOR"
                  map_match="(?:(?!\A){|}(?!\z))"
                  map_replace=""/>
      </map>
    </maps>
  </sourcemap>
</config>

Dieser spezielle Fix erfordert die Biber 1.3/Biblatex 2.3-Entwicklerversionen von SF, da bei der Verarbeitung leerer Ersetzungszeichenfolgen ein Fehler auftrat.

verwandte Informationen