[Tex/LaTex] Add additional text (e.g. “a revised version appeared in”) to grouped bibliography entries with biblatex

biblatex

Update

Quite some time has gone by since I asked this question and since @PLK informed me in the comments that an upcoming version of biblatex (which would be out by now) would provide a solution to my problem I would like to ask for an answer that makes use of such a new biblatex feature. I tried finding out how to do it right, but my knowledge of biblatex was not good enough to find what I was searching for. If possible I would like to get a language sensitive solution (I have to write german and english documents) that does not include changing the contents of the .bib files in a way that prevents me from using them with bibtex styles. A possibility I could think of might be to create a new command that works like the \defbibentryset command but takes additional arguments which tell it how to relate the given entries to each other, e.g. what text to add and where to add it (append or prepend).
Here is an MWE containing the bibliography entries:

\documentclass{article}

\usepackage{filecontents}

\begin{filecontents}{testbibfile.bib}
@article {Lieb_1983_Int.J.Quantum.Chem._24_p.243,
author = {Lieb, Elliott H.},
title = {Density Functionals for Coulomb Systems},
journal = {Int. J. Quantum Chem.},
volume = {24},
number = {3},
publisher = {John Wiley & Sons, Inc.},
issn = {1097-461X},
url = {http://dx.doi.org/10.1002/qua.560240302},
doi = {10.1002/qua.560240302},
pages = {243--277},
year = {1983}
}

@incollection{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,
author      = {Lieb, Elliott H.},
editor      = {Shimony, Abner and Feshbach, Herman},
booktitle   = {Physics as Natural Philosophy: Essays in Honor of Laszlo Tisza on His Seventy-Fifth Birthday},
title       = {Density Functionals for Coulomb Systems},
year        = {1982},
publisher   = {MIT Press},
address     = {Cambridge, MA},
pages       = {111--149}
}
\end{filecontents}

\usepackage[
backend=biber,
language=german,
style=chem-angew,
pageranges=false,
articletitle=true
]{biblatex}

\bibliography{testbibfile.bib}

\defbibentryset{Lieb_constrained_search}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}

\begin{document}

Die ``constrained search'' Formulierung der Dichtefunktionaltheorie stammt von Levy und Lieb\cite{Lieb_constrained_search}.

\printbibliography

\end{document}

Original Question

In my bachelor thesis I have a few references that consist of several bibliography entries that are grouped via biblatex's command \defbibentryset (using biber as backend). Now I wonder if it is possible to add some text within these grouped entries, for example to indicate an erratum paper by adding something like "(E)" after the entry:

[1] J. P. Perdew, K. Burke, M. Ernzerhof, Phys. Rev. Lett. 1996, 77, 3865; J. P. Perdew, K. Burke, M. Ernzerhof, Phys. Rev. Lett. 1997, 78, 1396 (E).

Another example would be the creation of a reference with grouped entries that should look like this:

[2] E. H. Lieb, „Density Functionals for Coulomb Systems“ in Physics as Natural
Philosophy: Essays in Honor of Laszlo Tisza on His 75th Birthday
(Eds.: A.
Shimony, H. Feshbach), MIT Press, Cambridge, MA, 1982, pp. 111–149; a revised version appeared in E. H. Lieb, Int. J. Quantum Chem. 1983, 24, 243.

In the last example the phrase "a revised version appeared in" is the part that should be added to biblatex's standard output.
My question is: Can this be achieved with biblatex (or another package) or do I have to make these changes manually in the *.bbl file.

Best Answer

Using sets for this isn't the best way. With the newer "related entries" functionality, simply add these fields to the original entry:

related = {Lieb_1983_Int.J.Quantum.Chem._24_p.243},
relatedstring = {a revised version appeared in}

and then just cite only the original entry.

If you would like language-specific strings so that the string introducing the "related entry" is localisable, you should use the RELATEDTYPE field. To have the relationship be bi-directional, put this in the INCOLLECTION entry:

related = {Lieb_1983_Int.J.Quantum.Chem._24_p.243},
relatedtype = {revisedas}

and this in the ARTICLE entry:

related = {Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111},
relatedtype = {revisedfrom}

and then define the localisation strings in your preamble (normally a style will do this):

\NewBibliographyString{revisedas}%
\NewBibliographyString{revisedfrom}%
\DefineBibliographyStrings{german}{%
  revisedas = {eine verwandte Version in},
  revisedfrom = {eine verwandte Version von}
}

With this I get (using authoryear style for reasons given below):

enter image description here

I have used the authoryear style for the example because the built-in biblatex styles have the ability to detect related entry loops (which this example has). It seems that the chem-angew style doesn't have this and so you get a LaTeX overflow. It should be easy to add this to chem-angew - see how the related macro is called at the end of all entrytypes in standard.bbx using the related:init macro which is what does the loop detection.

There are also some macros to control the formatting of the related string and data, see section 3.4 of the biblatex manual. Bibtex (the program) shouldn't care about these new fields and will ignore them.