Function: bib-buffer-citekeys-obarray
bib-buffer-citekeys-obarray is a byte-compiled function defined in
bib-cite.el.
Signature
(bib-buffer-citekeys-obarray)
Documentation
Extract citations keys used in the current buffer.
Source Code
;; Defined in ~/.emacs.d/elpa/auctex-14.1.2/bib-cite.el
(defun bib-buffer-citekeys-obarray ()
"Extract citations keys used in the current buffer."
(let ((keys-obarray (make-vector 201 0)))
(save-excursion
(goto-char (point-min))
;; Following must allow for \cite[e.g.][]{key} !!!
;; regexp for \cite{key1,key2} was "\\\\[a-Z]*cite[a-Z]*{\\([^,}]+\\)"
(while (re-search-forward "\\\\[a-zA-Z]*cite[a-zA-Z]*\\(\\[\\|{\\)"
nil t)
(backward-char 1)
(while (looking-at "\\[") ; ...so skip all bracketted options
(forward-sexp 1))
;; then lookup first key
(if (looking-at "{[ \n]*\\([^,} \n]+\\)")
(progn
(intern (match-string 1) keys-obarray)
(goto-char (match-end 1))
(while (and (skip-chars-forward " \n")
(looking-at ","))
(forward-char 1)
(re-search-forward "\\([^,} \n]+\\)" nil t)
(intern (match-string 1) keys-obarray)))))
(if keys-obarray
keys-obarray
(error "Sorry, could not find any citation keys in this buffer")))))