3

I have a number of remote related documents, living in own directories, each with a BibLaTeX bibliography, all use common .bib files. I want to generate a collective bibliography, i.e., a bibliography that includes all entries that are cited in one of the documents, without touching the original documents.

To archive this, several approaches has come in my mind, one uglier than the next:

  • Generate a cover document that includes with some magic (e.g., combine, docmute) the documents ignoring their \documentsclass etc., and suppressing with more magic (collect, comment) everything but the bibliography.
  • Use a shell script with grep and awk to find all kinds of cite-commands, construct a file with corresponding \nocite commands, that can be used to generate the bibliography.
  • Use a XML parser to combine all .bcf files to a single one.

Before I start to implement one of these approaches, I want to ask the community: Do exist standard solutions for this problem? If not, are there other ideas?

  • 3
    You can use biber --output-format=bibtex test.bcf to get the bib entries for the document test in test-biber.bib. You then only need a small document which uses all this bib's along with a nocite{*} to get a complete bibliography. – Ulrike Fischer Aug 22 '16 at 8:12
  • 1
    And if you have several documents, you could use bibtool to merge the bib files into one such file. (bibtool can also do the extraction. But see this ) – Seamus Aug 22 '16 at 9:17
  • @UlrikeFischer: Your approach works. If you make an answer out of it, I'll check it. – Matthias Aug 22 '16 at 14:44
0

You can use biber --output-format=bibtex test.bcf to store the bib entries for the document test in test-biber.bib.

Then you only need a small document which uses all this *-biber.bib's along with a \nocite{*} to get a complete bibliography.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.