# Workaround for reprinted items in bibliography

I am trying to find a way to indicate that a chapter is a reprint (in the following MWE, test1 is a reprint of test2). I had a look at this but I would like a solution that does not require adding fields such as Reprintedin and Reprintpages to the .bib file, since my .bib is produced by Zotero and the type of fields are given (although I could add a note field).

Is there a way to cross cite (or any other workaround)?

\RequirePackage{filecontents}

\begin{filecontents*}{mybib.bib}
@incollection{test1,
title = {Deliberation and democratic legitimacy},
isbn = {0415302102},
lccn = {JA71 .D36 2003},
booktitle = {Debates in contemporary political philosophy: {An} anthology},
publisher = {Routledge},
author = {Cohen, Joshua},
editor = {Matravers, Derek and Pike, Jonathan E.},
year = {2003 [1989]},
pages = {342--360},
}
@book{test2,
title = {The {Good} polity: {Normative} analysis of the state},
isbn = {0631158049},
lccn = {JC325 .G59 1989},
shorttitle = {The {Good} polity},
publisher = {Blackwell},
editor = {Hamlin, Alan P. and Pettit, Philip},
year = {1989}
}
}
\end{filecontents*}

\documentclass[a4paper]{article}

% Set the values for the bibliography
\usepackage[
style=apa,
backend=biber,
isbn=false,
url=false,
doi=false,
eprint=false,
hyperref=true,
backref=false,
firstinits=false,
]{biblatex}

% Recommended by biblatex
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage{xpatch}

% Set language
\usepackage[british]{babel}
\DeclareLanguageMapping{british}{british-apa}

\begin{document}

\cite{test1}

\printbibliography
\end{document}


Ideally, what I would like to obtain is the following in-text citation:

(Cohen, 2003 [1989])

and the following full citation in the Reference list:

Cohen, J. (2003). Deliberation and democratic legitimacy. In D. Matravers & J. E. Pike (Eds.), Debates in contemporary political philosophy: An anthology (pp. 342–360). (Reprinted from The Good polity: Normative analysis of the state, pp. 17-34, by A. P. Hamlin & P. Pettit, Eds., 1989, Oxford: Blackwell). London: Routledge.

There is no need to alter the bib file. It is possible to add the information about the original publication using \DeclareSourcemap

\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=entrykey, match=\regexp{test1},
fieldset=related, fieldvalue={test2}]
\step[fieldsource=entrykey, match=\regexp{test1},
fieldset=relatedtype, fieldvalue={reprintfrom}]
}
}
}


The apa biblatex style does not include the date of the reprint in the bibliographic info. Thus we can patch it using the xpatch package (i.e., use \usepackage{xpatch} to load it) and the following code

\xpatchbibmacro{related:reprintfrom}
{\usebibmacro{location+publisher}}
{}
{}


Similarly apa does not specify the that the editors of a work from which the reprint originates are editors. Thus we can add the string ed/eds by patching again the bibmacro used for related work of type reprintfrom (related:reprintfrom)

\xpatchbibmacro{related:reprintfrom}
{\printnames[apanames][-\value{listtotal}]{editor}}
{\printnames[apanames][-\value{listtotal}]{editor}%

Finally to print the full text Reprint from there are two alternatives: the first is to load the option abbreviate=false of biblatex (but it has the effect to turn off all the abbreviations) or we can redefine the bibliography string associated to it (reprintfrom); this can be done as in the following code:
\DefineBibliographyStrings{british}{

• Very last thing. How to display the number of pages ...Normative analysis of the state, pp. 17-34, by A. P. Hamlin...? They are not in the bib entry of the original work, so may be should I try to define it in the first \DeclareSourcemap? – Francesco Oct 16 '13 at 22:07
• Also (advanced feature) would it be possible to populate the field pages in the referred original work (test2) programmatically by searching in field note of test1 for a match with pp. dd-dd? – Francesco Oct 16 '13 at 22:29