Extract only needed citations from large bibfiles
I like to use cryptobib, because it gives me consistent results and it contains almost everything relevant to me.
However, as crypto.bib is over 725000 lines long, parsing it to create the bibliography takes a long time.
This means that my $\LaTeX$ compile jobs take much too long.
I have now written a python script that will allow you to extract entries from large bibliographies.
This script will take your biblatex .bcf file and then extract the needed entries from larger bibfiles.
Makefile example
The only thing is that you need make sure to run the script if you add new references to your document.
You can do this manually, or use the below example Makefile to keep your extracted .bib file up to date.
.PHONY: main.pdf
main.pdf: extracted_cryptobib.bib
./latexrun --bibtex-cmd=biber -Wall main.tex
# or latexmk, or just pdflatex a bunch of times...
latex.out/main.bcf:
mkdir -p latex.out
pdflatex -interaction=batchmode -output-directory=latex.out main
extracted_cryptobib.bib: latex.out/main.bcf cryptobib/crypto.bib
python3 extract_from_bibliography.py $^ > $@
You can find this script on it’s GitHub page