(require 'dash)
(require 'helm)
(require 'helm-bibtex)
+(require 'org)
+(require 'cl-lib)
#+END_SRC
** Custom variables
citenum:sokalski-2012-optim-ta,zhang-2011-spatial-tio2,li-2012-heter-ceram,li-2013-photoc
+ref:test
+
+label:test
+
#+BEGIN_SRC emacs-lisp
(defcustom org-ref-colorize-links
- nil
+ t
"When non-nil, change colors of links"
:group 'org-ref)
"Color of cite like links"
:group 'org-ref)
+
(defcustom org-ref-ref-color
- "royal blue"
+ "dark red"
"Color of ref like links"
:group 'org-ref)
+
(defcustom org-ref-label-color
"black"
"Color of label links"
:group 'org-ref)
+
(defvar org-ref-cite-re nil
"regexp for cite links")
+
(setq org-ref-cite-re
- (concat "\\(" (mapconcat 'identity org-ref-cite-types "\\|") "\\)"
+ (concat "\\(" (mapconcat
+ (lambda (x)
+ (replace-regexp-in-string "\*" "\\\\*" x)
+ )
+ org-ref-cite-types "\\|") "\\)"
":\\([a-zA-Z0-9-_:]*,?\\)*"))
-(setq org-ref-cite-color "red" org-ref-colorize-links t)
+
+(setq org-ref-label-re
+ "label:\\([a-zA-Z0-9-_:]*,?\\)*")
+
+
+(setq org-ref-ref-re
+ "ref:\\([a-zA-Z0-9-_:]*,?\\)*")
+
+
(defface org-ref-cite-face
- `((t (:inherit org-link :foreground "red")))
- "Color for cite links")
+ `((t (:inherit org-link :foreground ,org-ref-cite-color)))
+ "Color for cite-like links in org-ref.")
+
+
+(defface org-ref-label-face
+ `((t (:inherit org-link :foreground ,org-ref-label-color)))
+ "Color for ref links in org-ref.")
+
+
+(defface org-ref-ref-face
+ `((t (:inherit org-link :foreground ,org-ref-ref-color)))
+ "Face for ref links in org-ref.")
+
(when org-ref-colorize-links
- (highlight-regexp org-ref-cite-re 'org-ref-cite-face))
+ (highlight-regexp org-ref-cite-re 'org-ref-cite-face)
+ (highlight-regexp org-ref-label-re 'org-ref-label-face)
+ (highlight-regexp org-ref-ref-re 'org-ref-ref-face))
#+END_SRC
#+RESULTS:
(file) (entry) (bibtex-entry) (entry-type) (format))
(setq file (catch 'result
- (loop for file in org-ref-bibliography-files do
+ (cl-loop for file in org-ref-bibliography-files do
(if (org-ref-key-in-file-p key (file-truename file))
(throw 'result file)
(message "%s not found in %s" key (file-truename file))))))
(file) (entry) (bibtex-entry) (entry-type) (format))
(setq file (catch 'result
- (loop for file in org-ref-bibliography-files do
+ (cl-loop for file in org-ref-bibliography-files do
(if (org-ref-key-in-file-p key (file-truename file))
(throw 'result file)
(message "%s not found in %s" key (file-truename file))))))
(helm :input (thing-at-point 'word)
:sources `(((name . "Available labels to ref")
- (candidates . ,(loop for label in labels
+ (candidates . ,(cl-loop for label in labels
for context in contexts
;; we do some kludgy adding spaces
;; and bars to make it "easier" to
(unless key
(setq key (org-ref-get-bibtex-key-under-cursor)))
(setq file (catch 'result
- (loop for file in org-ref-bibliography-files do
+ (cl-loop for file in org-ref-bibliography-files do
(if (org-ref-key-in-file-p key (file-truename file))
(throw 'result file)))))
(cons key file)))
(bibtex-beginning-of-entry)
(let* ((cb (current-buffer))
(bibtex-expand-strings t)
- (entry (loop for (key . value) in (bibtex-parse-entry t)
+ (entry (cl-loop for (key . value) in (bibtex-parse-entry t)
collect (cons (downcase key) value)))
(title (replace-regexp-in-string "\n\\|\t\\|\s+" " " (reftex-get-bib-field "title" entry)))
(year (reftex-get-bib-field "year" entry))
(bibtex-beginning-of-entry)
(let* ((cb (current-buffer))
(bibtex-expand-strings t)
- (entry (loop for (key . value) in (bibtex-parse-entry t)
+ (entry (cl-loop for (key . value) in (bibtex-parse-entry t)
collect (cons (downcase key) value)))
(title (replace-regexp-in-string "\n\\|\t\\|\s+" " " (reftex-get-bib-field "title" entry)))
(year (reftex-get-bib-field "year" entry))
(bibtex-beginning-of-entry)
(let* ((cb (current-buffer))
(bibtex-expand-strings t)
- (entry (loop for (key . value) in (bibtex-parse-entry t)
+ (entry (cl-loop for (key . value) in (bibtex-parse-entry t)
collect (cons (downcase key) value)))
(title (replace-regexp-in-string "\n\\|\t\\|\s+" " " (reftex-get-bib-field "title" entry)))
(year (reftex-get-bib-field "year" entry))
(email-bibtex-entry))))
t)
;; finally return a numbered list of the candidates
- (loop for i from 0
+ (cl-loop for i from 0
for cell in candidates
collect (cons (format "%2s. %s" i (car cell))
(cdr cell)))))