You might checkout the function at the end of this org-ref issue: https://github.com/jkitchin/org-ref/issues/176
It provides a way to extract all bibtex src blocks to a file and is a bit different than using org-babel-tangle. Ken Mankoff writes: > On 2016-06-14 at 21:29, Ken Mankoff <mank...@gmail.com> wrote: >> I don't know how to tell Org to tangle-on-export with an argument or a >> setting, but it can evaluate code blocks on export, and one of those >> can do the tangling for you. The following might work? >> >> #+begin_src emacs-lisp :exports none >> (org-babel-goto-named-src-block "bibtex") >> (org-babel-tangle) >> #+end_src >> >> #+begin_src bibtex :tangle file.bib >> bib contents go here >> #+end_src > > Oops. Consider the above pseudo-code. The bibtex block must be named, so that > (org-babel-goto-NAMED...) can find it. And I'm not sure what "#+begin_src > bibtex" actually means to Org. It might have to be a #+BEGIN_EXAMPLE or a > "#+BEGIN_SRC <some_known_language>", but tangled to a .Bib file. If running > latest Git head, it might also need ":eval no-export" on the bibtex block. > Hopefully this is enough to help you solve it. Feel free to post an MWE if > you get it working. > > -k. -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu