This should work without AUCTeX. It is based on the code given by @giordano and the mg-TeX-kpsewhich-find-file function, defined here.
What it does:
It finds all \bibliography{...} commands in the current buffer.
Be warned that it does not skip LaTeX comments or anything else
that semantically does not correspond to a BibTeX file.
It creates a list of bibliography files find in such commands.
It correctly treats multiple files in the same command, e.g.,
\bibliography{file1,file2}.
It finds all files in the list using kpsewhich.
It opens all files, possibly reusing existing buffers. The
first file of the list takes the focus (find-file) and the
rest are just opened (find-file-noselect).
It should be easy to modify this behavior, if something else is preferred.
(defun kpsewhich-find-file (name)
"Find a file using kpsewhich."
(interactive "fFilename: ")
(if (executable-find "kpsewhich")
(let* ((file (replace-regexp-in-string
"[\n\r]*\\'" ""
(shell-command-to-string (concat "kpsewhich " name)))))
(if (and (not (zerop (length file))) (file-exists-p file))
file
(message (concat "File " name " not found."))))
(message "Executable kpsewhich not available.")))
(defun open-bibtex-file ()
"Open all bibliography files attached to this document."
(interactive)
(goto-char (point-min))
(let ((biblist nil))
(while (search-forward-regexp
"\\\\bibliography[ \t]*{\\([^}\n]+\\)}"
nil t)
(let* ((bibpar (buffer-substring-no-properties
(match-beginning 1)
(match-end 1)))
(bibs (split-string bibpar ",")))
(mapcar (lambda (bib)
(unless (file-name-extension bib)
(setq bib (concat bib ".bib")))
(setq bib (kpsewhich-find-file bib))
(setq biblist (append biblist (cons bib nil)))) bibs)))
(mapcar 'find-file-noselect (cdr biblist))
(find-file (car biblist))))
bibfile. The simplest way to open one of the relevant buffers is to find a\citecommand in the document and typeC-c &. This will pop open another buffer containing the relevant bibfile centered on the bibtex entry referred to. The list of files ought to be accessible viareftex-get-bibfile-list, but it doesn't seem to work on my set-up. – Andrew Swann Nov 20 '13 at 11:48