I've just been revisiting bibliographies, and trying to manage them with Jabref.
I seem to have found something wrong with @strings (or my understanding of them).
In my pre-Jabref .bib file, I have:
@string{pok = "Poughkeepsie, NY"}
@Manual{dxcapa24,
...
location = pok,
...
}
which in my .bbl file becomes, by courtesy of biber and BibLaTeX,
\list{location}{1}{%
{Poughkeepsie, NY}%
}
Now, after Jabref, my .bib file looks like this:
@STRING{pok = {Poughkeepsie, NY}}
@MANUAL{dxcapa24,
...
location = {#pok#},
...
}
which fails to expand correctly in my .bbl file, causing a LaTeX error when it gets imbedded:
\list{location}{1}{%
{#pok#}%
}
My questions are:
- Am I doing something wrong and if so, how do I correct it?
- Where is the definitive
@stringsyntax and semantics reference for.bibfiles? - Is there a problem with Jabref and/or biber?
Note: I haven't provided a full MWE, as I believe the snippets fully illustrate the problem; but I'll be happy to provide one if the snippets are thought inadequate.
Update:
From the BibTeX website:
When quotation-marks are used, string concatenation using # is possible, but not when braces are used.
Which suggests that Jabref might be in error. A view has also been exposed in the SF Jabref forums that Jabref itself should convert @strings to their expanded values, with another, Jabref-specific, mechanism for handling abbreviations which removes the need for biber to do this. Not sure I'm entirely happy with that, though.
Thanks to @Fran for reminding me: in my case,
shorttitle is also messed up, while author, title, and publisher are handled correctly.
@Fran's answer solves the problem. I apologise for any premature aspersions on Jabref.
location=pok, AFAIK. If JabRef writes outlocation={#pok#}then it's doing an utterly wrong thing. BibTeX doesn't do string substitutions in braced (or doubly quoted) fields and I believe Biber is the same. – egreg Jan 26 at 14:01locationonly: inaddressoreditorfields the entry #pok# is saved correctly aspokwithout {}. – Fran Jan 26 at 18:03