Skip to content

Git based reference management

Project-overlapping reference management

Reference Management Workflow

The core idea of this workflow is that a person maintains one personal project-independent library, and selected publications are shared with different projects, if they seem to be relevant. The personal library reflects the personal reading history and can also contain the full documents as pdf files. It can become large, and it should be kept private due to access restrictions. It can also be put under version control, but this is optional.

In order to share a personal library entry with a project, a minimal version of this entry is copied to the project. This copy contains every data that is needed to identify, find, and cite the publication, whereas the full document files or additional metadata is left out.

Concrete Example

My personal library is a single .bib file that can be referenced by LaTeX documents to generate bibliographies. In small quick documents, I reference it directly instead of creating a project library.

I maintain the library with bibdesk, a graphical reference manager that uses bibtex as its library format. Bibdesk can link local and remote files to publications and puts local files into a folder next to the library file. When a publication is viewed in bibdesk, a link is shown to quickly open the associated document. Both (library and documents) are versioned in a private git repository on github.

Bibdesk can copy publication entries as „minimal bibtex entries“ that can be pasted into another bibtex file. A minimal entry contains the citation information whereas the bibdesk-related parts like local file links are omitted. If a publication looks relevant for a project, its minimal entry is copied into the project library.

Advantages

  • The personal library remains consolidated and reflects the personal reading history.
  • Publications can be used in multiple projects without file duplication.
  • The project repositories are kept slim and no access restrictions are introduced.
  • The project literature can be selected more strictly, whereas the central library acts as the personal unrestricted collection.
  • Versioning .bib files works well, because these are structured text files.
  • This workflow fully consists of Open Source tools (git, biblatex, bibdesk), and the data is stored in stable and sustainable formats.

Disadvantages

  • Sharing a personal entry with the project library is an additional step.
  • Not having the full documents directly in the project can make reading more complicated, but bibdesk constructs DoI-based links that can be followed. In practice, I mostly use the personal library with the linked local documents for reading.
  • The sharing step is a bit manual (copy bibtex entries and commit). Cloud solutions like Mendeley might implement this in a more elegant way.