plk / biber

Backend processor for BibLaTeX
Artistic License 2.0
334 stars 37 forks source link

Curly characters #210

Closed mireianievas closed 6 years ago

mireianievas commented 6 years ago

I recently upgraded my texlive packages at home and I cannot compile my document anymore due to the references. I googled for it for several days already and I cannot find anything recent about this issue (it does pop up from time to time apparently). Most of my entries are extracted from ADS (particularly the ones that give me troubles).

Here is a minimal entry with one of such troublesome entries.

\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}

The error I get is

Runaway argument?
{{{hash=8b556f9238232cff536971111edddb4b}{family={{Abeysekara}}, fami\ETC.
! Paragraph ended before \name was complete.
<to be read again> 
               \par 
l.140   
?

I guess the issue comes from the combination of curly braces + accents in the first character and other 'weird characters' ({{\v}Cerenkov} also gives troubles .

I am using biber 2.10 and texlive 2017.45XXX (current archlinux's version).

At work, where it works fine, I'm using texlive 2017.44XXX and biber 2.7

Anything I can do about it apart from trying to downgrade my texlive (which is an ugly solution)?

I know the file is not correctly formatted, it was automatically generated from ADS (SAO/NASA's Astrophysics Data System), but it was processing it correctly up to now.

u-fischer commented 6 years ago

A shorter example is


\documentclass[11pt]{article}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{testaccent,
  author = {{{\'A}lvarez}, Jose},
  title ={Test accent},
}
\end{filecontents}
\usepackage{biblatex}
\addbibresource{\jobname.bib}

\begin{document}
This is a simple document\cite{testaccent}
\end{document}

It leads to an faulty entry for familyi:

     familyi={{\'{A}\bibinitperiod},

I can not confirm that it worked earlier. In texlive 2016 I get an error too.

gusbrs commented 6 years ago

From: https://tex.stackexchange.com/q/414685/105447

Ulrike's example does work in Overleaf (the only other installation I had at hand), which is running "biblatex 2016/05/14 v3.4".

plk commented 6 years ago

Please try biber 2.11 which is in the development folder on Sourceforge - this should be fixed.

gusbrs commented 6 years ago

I don't have plenty of cases to test, but I tested both examples, and as far as I can tell they are working fine (with biber 2.11 + biblatex 3.11). I noticed though that the character is wrapped differently in braces in family and familyi parts (double set of braces vs single set of braces, respectively).

family={{{\'{A}}lvarez}},
familyi={\'{A}\bibinitperiod},

But I don't know if this is relevant and, as far as I can see, gives expected results.

plk commented 6 years ago

No, that's not relevant. Ideally all such braces would be stripped but this is hard to do in general. I would recommend not using macros in the .bib and switching to a UTF8 workflow as such problems don't occur with such a setup.