# Add additional text (e.g. “a revised version appeared in”) to grouped bibliography entries with 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.

-
Just a note for completeness - the general issue with related entries like "a revised version appeared in" etc. will be addressed by biblatex probably around the Autumn this year. We already have very decent general functionality for this in biber and are working on the biblatex interface. – PLK Jul 31 '11 at 17:20
@PLK: Thanks for the info. It would have surprised me if no one else would have stumbled across this issue. I'm looking forward to see what this functionality will look like in biblatex. – Philipp Jul 31 '11 at 18:11
According to the biblatex developer, it's one of the most requested extensions, things like "reprinted as", or "included in" fields etc. So it was necessary to come up with a general way of dealing with such things without just adding a load of fields arbitrarily. The solution is a couple of generic fields which cause biber to auto-create some "data only" entries. This is rather nice and works because biber instantiates data source entries in an internal biblatex data model well before any bbl output. – PLK Jul 31 '11 at 20:10

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):

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.

-
Thank you very much. I was so fixated on \defbibentryset that I've never come across the "related entries" feature while searching for a solution. Do you think I should add the keyword "related entries" to the question title in order to make it more easy to find for other people searching for this feature? – Philipp Aug 27 '13 at 18:51
While trying out your solution another little question arose: When using the "related entries" feature the grouped bibliography entry only appears in the final document if the reference containing the related field is cited. If I cite the other reference it appears as a single entry. Is there a way to let the grouped entry appear irrespective of which reference is cited or is this impossible? – Philipp Aug 27 '13 at 21:13
I have updated the answer - you can certainly do this but you need to make sure your style uses the standard.bbx method of related loop detection which was added this year. – PLK Aug 28 '13 at 6:38
Thanks again. I actually tried cross-linking both entries with your method before but didn't think of trying it with a standard style and was discouraged afterwards by the LaTeX overflow. Your answer already gives me 99.99 % of what I could wish for, there is only one small point that I'd like to ask you about if you don't mind: Can this functionality be used in such a way that only one certain entry (namely the first one (revisedas) from your output: <ref1>, eine verwandte Version in <ref2>) appears in the bibliography irrespective of which article is cited (maybe even if both are cited)? – Philipp Aug 28 '13 at 16:15
It would also be ok, if I had to use \cite{<ref1>, <ref2>} to get this. I tried this out using the options field on the revisedfrom-entry together with options like skipbib or dataonly but then I get the wrong reference number appearence (using style=numeric) in the text, namely something like [1,] or [,1]. I'm sorry if I'm asking too many follow up questions but I try to get 100 % of the behavior I'm looking for while I have the chance to ask someone who is so knowledgable about the subject. I could also make a seperate question out of this comment if you'd think that's better. – Philipp Aug 28 '13 at 16:16

In your first example, "(E)" may simply be added by using the addendum field of the corresponding bibentry. For your second example, I suggest to also use the addendum field (in this case the one of the "Lieb 1982" bibentry) and to remove the closing semicolon by adding \nopunct at the end of the addendum field.

\documentclass{article}

\usepackage{biblatex}

\renewbibmacro{in:}{%
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@incollection{Lie82,
author = {Lieb, E. H.},
year = {1982},
title = {Density Functionals for Coulomb Systems},
booktitle = {Physics as Natural Philosophy: Essays in Honor of Laszlo Tisza on His 75th Birthday},
editor = {Shimony, A., and Feshbach, H.},
location = {Cambridge, \mkbibacro{MA}},
publisher = {\mkbibacro{MIT} Press},
pages = {111--149},
addendum = {A revised version appeared in\nopunct},
}
@article{Lie83,
author = {Lieb, E. H.},
year = {1983},
journaltitle = {Int. J. Quantum Chem.},
volume = {24},
pages = {243},
}
\end{filecontents}