
我最近在家裡升級了我的 texlive 軟體包,由於參考文獻,我無法再編譯我的文件。我已經用谷歌搜尋了好幾天了,但我找不到任何關於這個問題的最新資訊(顯然它確實時不時地出現)。我的大部分條目都是從 ADS 中提取的(尤其是那些給我帶來麻煩的條目)。
這是一個最小的條目,其中包含這樣麻煩的條目之一。
\documentclass[11pt]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{2013APh....50...26A,
author = {{Abeysekara}, A.~U. and {Alfaro}, R. and {Alvarez}, C. and {{\'A}lvarez}, J.~D. and
{Tollefson}, K. and {Torres}, I. and {Ukwatta}, T.~N. and {Villase{\~n}or}, L. and
{Weisgarber}, T. and {Westerhoff}, S. and {Wisher}, I.~G. and
{Wood}, J. and {Yodh}, G.~B. and {Younk}, P.~W. and {Zaborov}, D. and
{Zepeda}, A. and {Zhou}, H.},
title = "{Sensitivity of the high altitude water Cherenkov detector to sources of multi-TeV gamma rays}",
journal = {Astroparticle Physics},
archivePrefix = "arXiv",
eprint = {1306.5800},
primaryClass = "astro-ph.HE",
keywords = {TeV gamma-ray astronomy, Water cherenkov, Cosmic ray},
year = 2013,
month = dec,
volume = 50,
pages = {26-32},
doi = {10.1016/j.astropartphys.2013.08.002},
adsurl = {http://adsabs.harvard.edu/abs/2013APh....50...26A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
\end{filecontents}
\usepackage[language=english, style=numeric-comp, sorting=none, backend=biber, natbib=true, doi=false, bibencoding=utf8, isbn=false]{biblatex}
\addbibresource{\jobname}
\begin{document}
This is a simple document\cite{2013APh....50...26A}
\end{document}
我得到的錯誤是
Runaway argument?
{{{hash=8b556f9238232cff536971111edddb4b}{family={{Abeysekara}}, fami\ETC.
! Paragraph ended before \name was complete.
<to be read again>
\par
l.140
?
我猜問題出在大括號+重音符號和其他「奇怪的字」的組合。
我正在使用 biber 2.10 和 texlive 2017.45XXX (目前的 archlinux 版本)。
在工作中,工作正常,我使用 texlive 2017.44XXX 和 biber 2.7
除了嘗試降級我的 texlive(這是一個醜陋的解決方案)之外,我還能做些什麼嗎?
答案1
有同樣的問題,現在解決了:你應該不是嵌套大括號 3+ 層深。
@gusbrs 注意到它與名稱有關 - 但這只是因為注意到大括號中的重音字母需要另一層嵌套。
所以,
author = {{ÖKO} Friendly Company},
會起作用,但
author = {{{\"O}KO} Friendly Company},
不再起作用了。
即使支架是平衡的,也會有誤差。所以author = {{{a}}},
會起作用,但author = {{{a} {b}}},
不會。
最後一個符號將引發! Paragraph ended before \name was complete.
錯誤。
嘗試刪除盡可能多的大括號,使用已經提到的 utf8 編碼,對於您的條目來說應該足夠了。
註:biber --tool -V *.bib
將不是警告你這一點。
答案2
egreg的建議很好,而且很容易理解你的情況。我試圖縮小導致問題的範圍,事實證明,它是名稱之一{{\'A}lvarez}
。不知何故,這會導致 .bbl 檔案帶有不平衡的大括號,這會為您的編譯帶來問題。一旦您使用,bibencoding=utf8
您可以將其更改為{Álvarez}
並消除錯誤。我手頭上沒有其他有問題的案例,但我的猜測是開始時的雙大括號導致了問題(儘管我根本不明白為什麼它們會導致問題)。如果是這種情況,您需要修復的實例數量就會少得多。
\documentclass[11pt]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{2013APh....50...26A,
author = {{Abeysekara}, A.~U. and {Alfaro}, R. and {Alvarez}, C. and {Álvarez}, J.~D. and {Tollefson}, K. and {Torres}, I. and {Ukwatta}, T.~N. and {Villase{\~n}or}, L. and {Weisgarber}, T. and {Westerhoff}, S. and {Wisher}, I.~G. and {Wood}, J. and {Yodh}, G.~B. and {Younk}, P.~W. and {Zaborov}, D. and {Zepeda}, A. and {Zhou}, H.},
title = "{Sensitivity of the high altitude water Cherenkov detector to sources of multi-TeV gamma rays}",
journal = {Astroparticle Physics},
archivePrefix = "arXiv",
eprint = {1306.5800},
primaryClass = "astro-ph.HE",
keywords = {TeV gamma-ray astronomy, Water cherenkov, Cosmic ray},
year = 2013,
month = dec,
volume = 50,
pages = {26-32},
doi = {10.1016/j.astropartphys.2013.08.002},
adsurl = {http://adsabs.harvard.edu/abs/2013APh....50...26A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
\end{filecontents}
\usepackage[language=english, style=numeric-comp, sorting=none, backend=biber, natbib=true, bibencoding=utf8, doi=false, isbn=false]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
This is a simple document\cite{2013APh....50...26A}
\end{document}
答案3
如果我刪除姓氏周圍的所有(錯誤的)大括號,就沒有問題。
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{2013APh....50...26A,
author = {Abeysekara, A. U. and Alfaro, R. and Alvarez, C. and
{\'A}lvarez, J. D. and Tollefson, K. and Torres, I. and
Ukwatta, T. N. and Villase{\ n}or, L. and Weisgarber, T. and
Westerhoff, S. and Wisher, I. G. and
Wood, J. and Yodh, G. B. and Younk, P. W. and Zaborov, D. and
Zepeda, A. and Zhou, H.},
title = {Sensitivity of the high altitude water {Cherenkov} detector to
sources of multi-{TeV} gamma rays},
journal = {Astroparticle Physics},
archivePrefix = {arXiv},
eprint = {1306.5800},
primaryClass = {astro-ph.HE},
keywords = {TeV gamma-ray astronomy, Water cherenkov, Cosmic ray},
year = 2013,
month = dec,
volume = 50,
pages = {26-32},
doi = {10.1016/j.astropartphys.2013.08.002},
adsurl = {http://adsabs.harvard.edu/abs/2013APh....50...26A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
\end{filecontents}
\usepackage[
language=english,
style=numeric-comp,
sorting=none,
% backend=biber,
natbib=true,
doi=false,
% bibencoding=utf8,
isbn=false
]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
This is a simple document~\cite{2013APh....50...26A}
\printbibliography
\end{document}
縮寫之間的縮寫也是錯誤的~
。的參數應該\addbibresource
包含.bib
擴展名。
答案4
只是對我有幫助的更新(因為之前的答案都沒有):有必需的字段,當您定義bibliography.bib
文件(或另一個文件)時,特別是我volume=
在其中一個中丟失了@article
,這導致 biber 生成一些不適當的結構。
TLDR:請注意定義參考書目中的所有必填字段,即使您不需要它們(您始終可以編寫volume=""
)。