
Biber와 LaTeX를 사용하는 데 버그가 있습니다.
내 MNWE는 다음과 같습니다.
테스트.턱받이:
@misc{citation1, title = {Any title}, author = {{{Foo} bar}}, },
테스트.tex:
\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와 texlive2011에 포함된 biblatex를 사용해 보았으나 동일한 문제가 발생했습니다.
답변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>
빈 교체 문자열을 처리하는 데 버그가 있었기 때문에 이 특정 수정 사항에는 SF의 biber 1.3/biblatex 2.3 dev 버전이 필요합니다.