(widen)
(goto-char (point-min))
(let ((matches '()))
- (while (re-search-forward "label:\\([a-zA-z0-9:-]*\\)" (point-max) t)
+ ;; these are the label:stuff kinds
+ (while (re-search-forward "[^#+]label:\\([a-zA-z0-9:-]*\\)" (point-max) t)
(add-to-list 'matches (match-string-no-properties 1) t))
- (append matches (org-ref-get-org-labels) (org-ref-get-latex-labels) (org-ref-get-tblnames) (org-ref-get-custom-ids))))))
+ (append matches
+ (org-ref-get-org-labels)
+ (org-ref-get-latex-labels)
+ (org-ref-get-tblnames)
+ (org-ref-get-custom-ids))))))
#+END_SRC
Let us make a helm function to insert a label link. This will help you enter unique labels.
"Helm menu to insert ref links to labels in the document.
If you are on link, replace with newly selected label.
Use C-u to insert a different kind of ref link.
+Use C-u C-u to insert a [[#custom-id]] link
"
(interactive)
(let* ((labels (org-ref-get-labels))
- (contexts (mapcar 'org-ref-get-label-context labels))
+ (bs (buffer-string))
+ (contexts (with-temp-buffer
+ (insert bs)
+ (mapcar 'org-ref-get-label-context labels)))
(cb (current-buffer)))
(helm :input (thing-at-point 'word)
(candidates . ("ref" "eqref" "pageref" "nameref"))
(action . (lambda (x) x))))
":" label)))
+ ;; two prefixes, insert section custom-id link
+ ((equal helm-current-prefix-arg '(16))
+ (insert
+ (format "[[#%s]]" label)))
))))))))
#+END_SRC
(progn
(forward-line 4)
(point)))))
- (beep)
(throw 'result "!!! NO CONTEXT FOUND !!!"))))
(let ((count (org-ref-count-labels
(org-element-property :path object))))
;; get plurality on occurrence correct
- (when (> count 1) (beep))
(message (concat
(number-to-string count)
" occurence"
(buffer-substring key-beginning key-end)))
(if (file-exists-p bibfile)
(message "%s exists." bibfile)
- (beep)
(message "!!! %s NOT FOUND !!!" bibfile))))
)))))
#+END_SRC
(insert-file-contents bibfile)
(bibtex-search-entry key)
(org-ref-bib-citation)))
- (beep)
"!!! No entry found !!!" )))
(defun org-ref-cite-candidates ()