Бибер не поддерживает { } в именах авторов

Бибер не поддерживает { } в именах авторов

У меня возникла ошибка при использовании Biber и LaTeX:

Вот мой MNWE:

тест.bib:

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

тест.текс:

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

Где изменение строки автора в bib-файле author = {{Foo} bar}исправляет проблему.

Ошибки:

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

При использовании BibTeX проблем не возникает (изменение backend=bibtex).

Пробовал с biber 1.2 и последним biblatex, а также biber 0.99 и biblatex, включенным в texlive2011, та же проблема.

решение1

Это немного беспорядочный формат вывода, поскольку неясно, является ли целью защитить "Foo" или все имя. Если не просить команду Zotero не выводить такой беспорядочный bibtex, добавьте это в свой biber.conf, чтобы автоматически удалить скобки внутри уже полностью защищенного имени:

<?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>

Для этого конкретного исправления требуются версии biber 1.3/biblatex 2.3 dev из SF, поскольку при обработке пустых строк замены возникла ошибка.

Связанный контент