2

My bibliography set-up relies extensively on BibTeX strings. Until very recently - just now, essentially - this worked fine. Now, however, it works hardly at all.

Here's a minimal example. I'm not entirely sure what the crucial elements are, but if I combine abbrv2.bib with abbrv3.bib, the problem disappears.

\begin{filecontents}{abbrv2.bib}
%:punctuation - but use Biblatex macros where possible!
@string{/                               =   {\addslash }}
@string{name-some   = {Name, Some}}
\end{filecontents}
\begin{filecontents}{abbrv3.bib}
@string{great-stuff = {Great } # / # { Stuff}}
\end{filecontents}


\begin{filecontents}{\jobname.bib}
@article{name-fascinate,
  author  = name-some,
  journal = great-stuff,
  pages   = {34--67},
  year    = 1765,
  volume  = 3,
  number  = 2,
  title   = {Fascinating Finds}}
\end{filecontents}


\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber]{biblatex}
\bibliography{abbrv2, abbrv3, \jobname}
\begin{document}

\autocite{name-fascinate}

\printbibliography

\end{document}

Note the lack of an author in the bibliography entry.

erroneous output

My real document has no authors, journals, publishers, addresses, joining words ....

What is the cause? (Please don't say this is a new feature!) How can I avoid the problem (Can I avoid the problem?) without reverting to BibTeX? Reverting to BibTeX would be a great deal of work, but probably significantly less than doing away with the use of @string.

cfr
  • 198,882
  • 1
    cfr, I can reproduce the problem. I've tried it with addbibresource (bibliography is deprecated), but to no avail. I can't fix it, but I noticed the result depends on the order in which the bib files are loaded. In particular, if I load it "abbrv2.bib", "abbrv3.bib", "\jobname.bib", biber issues a warning "undefined macro "name-some"". So it appears the strings are captured from the immediately previous file ("great stuff" captures the slash), but not if loaded "in chain". Thus, if you merge your abbrv files it works. I know it doesn't help much, but that's what I could find out so far. – gusbrs Dec 08 '17 at 02:56
  • @gusbrs Thanks for investigating. I think it may be linked to a bug report concerning disappearing months. If so, it is supposed to be fixed in the development version. However, I can't find the binaries on sourceforge for this version - only the source and the matching (I think) Biblatex. Merging the files isn't really an option for me in my actual use case, sadly :(. – cfr Dec 08 '17 at 03:13
  • Usually, I'd just revert to TL2016. But I'm on a new machine, so I don't have that option :(. – cfr Dec 08 '17 at 03:14
  • Let's see what others more knowledgeable have to say. Curiously, @string, as far as I searched, is not documented in biblatex's manual. There's xdata though... – gusbrs Dec 08 '17 at 03:38
  • 4
    Looks like a clear bug to me, but it is not resolved in the development version and I added a issue to the bug tracker https://github.com/plk/biber/issues/204. If you are in pressing need I can tell you how to fall back to an older biblatex/biber combo. Unrelated: (advertisement ;-)): Thinking of you we put some welsh elements in our video: https://tex.stackexchange.com/a/405060/2388 – Ulrike Fischer Dec 08 '17 at 08:37
  • 3
    The issue should be resolved with the latest biber version. – Ulrike Fischer Dec 08 '17 at 14:48
  • 1
    @gusbrs @string is from BibTeX and has been recognised in the .bib format for ... well, ever since I've been using it. Suddenly not supporting it would be a pretty major non-backwards-compatible change. – cfr Dec 08 '17 at 17:22
  • @UlrikeFischer Thanks for investigating & reporting. May I ask, where are you downloading the latest versions from? Do I need to build the sources? That's what I got trying to download the development version from sourceforge, but I was hoping to find a binary. – cfr Dec 08 '17 at 17:24
  • 1
    The biber binaries are here https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/, the biblatex.tds https://sourceforge.net/projects/biblatex/files/?source=navbar. I normally rename the biber.exe to biberdev.exe and put the biblatex development files in a texmf tree of their own so that they can be easily enabled and disabled. – Ulrike Fischer Dec 08 '17 at 17:59

1 Answers1

3

This was a temporary Biber issue. It was solved in version 2.10 of Biber. See https://github.com/plk/biber/issues/204

moewe
  • 175,683