The Question
How can I ensure that cross-referenced entries are included in a .bib file generated by biber for a document in case the document does not cite the cross-referenced entries themselves but only entries referring to them? To be clear, I don't want the cross-referenced entries to appear separately in the list of references but I need them in the.bib file so that complete data is available for the entries I do cite.
Background
Consider the following document which uses a regular database of bibliography entries (included here as orig.bib):
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\bibliography{orig}
\usepackage{filecontents}
\begin{filecontents}{orig.bib}
@bookinbook{author-bk1,
crossref = {author-bigbk},
title = {Originally a Separate Book},
pages = {345--789}}
@suppbook{author-essays-intro,
crossref = {author-essays},
title = {Introduction},
pages = {1--8}}
@incollection{author-essay,
crossref = {editor-collection},
title = {My Essay},
pages = {8-34},
author = {Author, Bit Busy}}
@book{author-bigbk,
author = {Author, Prolific},
title = {Collected Works},
year = 1453,
publisher = {Printers 'R Us},
address = {Milky Way}}
@book{author-essays,
title = {Essays},
author = {Author, Busy},
year = 1578,
publisher = {We Print 4U},
address = {Alpha Centauri}}
@book{editor-collection,
editor = {Editor, Fair},
booktitle = {Collection of People's Thoughts},
year = 1679,
publisher = {Great Collections in Print},
address = {Earth}}
\end{filecontents}
\begin{document}
\autocites{author-bk1,author-essays-intro,author-essay}
\printbibliography
\end{document}
As expected, this produces the following:

The Promise
Now suppose that I want to generate a .bib file containing just those entries needed for this particular document. (Obviously this would be pointless with this example since orig.bib contains nothing else, but that's not typically the case, of course.)
Turning to biber's manual, I find this:
3.1.1 The output_format option
Biber is able to output ... BibTeX .bib files. .bib output is possible in tool mode, when you are converting an entire datasource file independently of any particular document (see section 3.12). It is also useful when you want, instead of a .bbl, a new .bib file containing only the cited entries from a document so that you can, for example, send a minimally complete package for typesetting to someone. To do this, you would, after the first LaTeX run, call Biber like this:
biber --output_format=bibtex test.bcfThis would result in a new .bib file called test_biber.bib containing all cited entries in test.tex, in citation order, formatted according to the various ouput_* options.
So I try this:
biber --output_format=bibtex prawf3.bcf
The Problem
My attempt creates prawf3_biber.bib:
@BOOKINBOOK{author-bk1,
CROSSREF = {author-bigbk},
PAGES = {345--789},
TITLE = {Originally a Separate Book},
}
@SUPPBOOK{author-essays-intro,
CROSSREF = {author-essays},
PAGES = {1--8},
TITLE = {Introduction},
}
@INCOLLECTION{author-essay,
AUTHOR = {Author, Bit Busy},
CROSSREF = {editor-collection},
PAGES = {8-34},
TITLE = {My Essay},
}
which is obviously not what you would hope for since using this .bib file will clearly not yield the required results. That is:
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\bibliography{prawf3_biber}
\begin{document}
\autocites{author-bk1,author-essays-intro,author-essay}
\printbibliography
\end{document}
will encounter problems when biber is run:
INFO - Found 3 citekeys in bib section 0
INFO - Processing section 0
INFO - Looking for bibtex format file 'prawf3_biber.bib' for section 0
INFO - Found BibTeX data source 'prawf3_biber.bib'
WARN - I didn't find a database entry for crossref 'author-bigbk' in entry 'author-bk1' - ignoring (section 0)
WARN - I didn't find a database entry for crossref 'author-essays' in entry 'author-essays-intro' - ignoring (section 0)
WARN - I didn't find a database entry for crossref 'editor-collection' in entry 'author-essay' - ignoring (section 0)
which is obviously only to be expected given that the cross-referenced entries are not there.
biber's manual does discuss using crossref data when in tool mode but that seems to apply only when converting an entire datasource. So if I wanted to apply that to orig.bib, I could do that and then I could extract the (now complete) entries into prawf3_biber.bib using the above command. [At least, I assume I could - I haven't tested.]
The Question Revisited
But how can I ensure the entries in the generated .bib file are completed with data from the cross-referenced entries without converting the original .bib file and without citing the cross-referenced entries in the document?
crossrefentries as\nocitein the document, re-latexed etc. with the original.bibdatasources and then extracted a complete.bibwithbiber --output-format=bibtex. It isn't a very satisfactory approach, though. It is surprisingbibercan't do this. It just seems so powerful and this seems pretty basic. Also, the documentation doesn't even hint at this deficiency which seems somewhat remiss. Moreover,bibercan do this when transforming datasources so I thought there must be a way.... – cfr Mar 07 '14 at 22:15