]> git.donarmstrong.com Git - org-ref.git/blobdiff - org-ref.el
remove an apparent duplicate label finder.
[org-ref.git] / org-ref.el
index 939b8ee7102ee218574b0fac89f6616c3ec2177f..8495d42be827fb40498b2fd157a54a5457b1dad7 100644 (file)
@@ -748,11 +748,26 @@ Format according to the type in `org-ref-bibliography-entry-format'."
                       ;; write out the latex bibliography command
                       (format "\\bibliographystyle{%s}" keyword)))))
 
+
+(defun org-bibliographystyle-complete-link (&optional arg)
+  "Completion function for bibliographystyle link.
+ARG does nothing."
+  (format "bibliographystyle:%s" (ido-completing-read
+                                 "style: "
+                                 '("unsrt" "plain" "alpha"
+                                   ;; natbib
+                                   ;; https://www.sharelatex.com/learn/Natbib_bibliography_styles
+                                   "dinat" "humannat" "plainnat"
+                                   "abbrnat" "unsrtnat" "rusnat"
+                                   "ksfhnat"))))
+
+
 (defun org-bibliography-complete-link (&optional arg)
   "Completion function for bibliography link.
 ARG does nothing."
   (format "bibliography:%s" (read-file-name "enter file: " nil nil t)))
 
+
 (defun org-ref-insert-bibliography-link ()
   "Insert a bibliography with completion."
   (interactive)
@@ -900,6 +915,8 @@ ARG does nothing."
     ((eq format 'latex)
      (format "\\listoftables")))))
 
+
+;; ** label link
 (defun org-ref-count-labels (label)
   "Counts number of matches for LABEL in the document."
   (+ (count-matches (format "label:%s\\b[^-:]" label) (point-min) (point-max))
@@ -916,7 +933,6 @@ ARG does nothing."
            (setq custom-id-count (+ 1 custom-id-count)))))
        custom-id-count)))
 
-;; ** label link
 (org-add-link-type
  "label"
  (lambda (label)
@@ -951,21 +967,22 @@ ARG does nothing."
        :type "ref"
        :link (concat "ref:" (org-element-property :name object))))
 
-;; it turns out this does not work. you can already store a link to a heading with a CUSTOM_ID
     ;; store link on heading with custom_id
-;    (when (and (equal (org-element-type object) 'headline)
-;             (org-entry-get (point) "CUSTOM_ID"))
-;      (org-store-link-props
-;       :type "ref"
-;       :link (concat "ref:" (org-entry-get (point) "CUSTOM_ID"))))
-
-    ;; and to #+label: lines
-    (when (and (equal (org-element-type object) 'paragraph)
+    ;; this is not a ref link, but it is still what you want
+    (when (and (equal (org-element-type object) 'headline)
+              (org-entry-get (point) "CUSTOM_ID"))
+      (org-store-link-props
+       :type "custom_id"
+       :link (format "[[#%s]]" (org-entry-get (point) "CUSTOM_ID"))))
+
+    ;; and to #+label: lines. In a table these are retrieved by :name
+    ;; properties.
+    (when (and (-contains? '(paragraph table src-block)
+                          (org-element-type object))
               (org-element-property :name object))
       (org-store-link-props
        :type "ref"
-       :link (concat "ref:" (org-element-property :name object))))
-))
+       :link (concat "ref:" (org-element-property :name object))))))
 
 (add-hook 'org-store-link-functions 'org-label-store-link)
 
@@ -1638,8 +1655,8 @@ Prompt for NEW-FILE includes bib files in `org-ref-default-bibliography', and bi
   (interactive)
   (doi-utils-crossref (org-ref-get-doi-at-point)))
 
-;; *** Minibuffer menu
-
+;; *** DEPRECATED Minibuffer menu
+;; See [[Helm bibtex setup]]
 (defun org-ref-cite-onclick-minibuffer-menu (&optional link-string)
   "Action when a cite link is clicked on.
 Provides a menu of context sensitive actions.  If the bibtex entry
@@ -2432,11 +2449,6 @@ Makes a new buffer with clickable links."
                         labels) 1)
          ;; this is a multiply defined label.
          (let ((cp (point)))
-           (goto-char (point-min))
-           (while (re-search-forward
-                   (format  "[^#+]label:%s\\s-" label) nil t)
-             (push (cons label (point-marker)) multiple-labels))
-
            (goto-char (point-min))
            (while (re-search-forward
                    (format  "\\label{%s}\\s-?" label) nil t)