X-Git-Url: https://git.donarmstrong.com/?p=org-ref.git;a=blobdiff_plain;f=org-ref.el;h=ac6422a7f27637983b5ad33ff02b0d8abb56509f;hp=a7b4929ab879c5e833097d640d23e4fa89e3a8cb;hb=3061355eb0479a302b7870223533aca5f2dc3f45;hpb=c5676b2e6b5bdf96f30f557e61c4a6cdc23c2668 diff --git a/org-ref.el b/org-ref.el index a7b4929..ac6422a 100644 --- a/org-ref.el +++ b/org-ref.el @@ -504,7 +504,8 @@ Format according to the type in `org-ref-bibliography-entry-format'." (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)))))) + (message "%s not found in %s" + key (file-truename file)))))) (with-temp-buffer (insert-file-contents file) @@ -992,10 +993,8 @@ ARG does nothing." "on clicking goto the label. Navigate back with C-c &" (org-mark-ring-push) ;; next search from beginning of the buffer - ;; it is possible you would not find the label if narrowing is in effect (widen) - (unless (or ;; our label links @@ -1011,12 +1010,14 @@ ARG does nothing." ;; #+label: name org-definition (progn (goto-char (point-min)) - (re-search-forward (format "^#\\+label:\\s-*\\(%s\\)\\b" label) nil t)) + (re-search-forward + (format "^#\\+label:\\s-*\\(%s\\)\\b" label) nil t)) ;; org tblname (progn (goto-char (point-min)) - (re-search-forward (format "^#\\+tblname:\\s-*\\(%s\\)\\b" label) nil t)) + (re-search-forward + (format "^#\\+tblname:\\s-*\\(%s\\)\\b" label) nil t))) ;; we did not find anything, so go back to where we came (org-mark-ring-goto) @@ -1072,6 +1073,7 @@ ARG does nothing." (lambda (table) (org-element-property :name table)))) + (defun org-ref-get-labels () "Return a list of labels in the buffer that you can make a ref link to. This is used to complete ref links and in helm menus." @@ -1095,6 +1097,7 @@ This is used to complete ref links and in helm menus." ;; CUSTOM_IDs (org-ref-get-custom-ids)))))) + (defun org-ref-helm-insert-label-link () "Insert a label link. helm just shows you what labels already exist. If you are on a label link, replace it." @@ -1106,7 +1109,8 @@ If you are on a label link, replace it." ;; default action is to open to the label (action . (lambda (label) ;; unfortunately I do not have markers here - (org-open-link-from-string (format "ref:%s" label)))) + (org-open-link-from-string + (format "ref:%s" label)))) ;; if you select a label, replace current one (action . (lambda (label) (switch-to-buffer ,cb) @@ -1168,6 +1172,7 @@ If you are on a label link, replace it." (or label helm-pattern)))))))))))) + (defun org-ref-complete-link (&optional arg) "Completion function for ref links. Optional argument ARG Does nothing." @@ -1175,11 +1180,13 @@ Optional argument ARG Does nothing." (setq label (completing-read "label: " (org-ref-get-labels))) (format "ref:%s" label))) + (defun org-ref-insert-ref-link () "Completion function for a ref link." (interactive) (insert (org-ref-complete-link))) + (defun org-ref-helm-insert-ref-link () "Helm menu to insert ref links to labels in the document. If you are on link, replace with newly selected label. @@ -1278,20 +1285,14 @@ Use C-u C-u to insert a [[#custom-id]] link" ;; #+label: name org-definition (progn (goto-char (point-min)) - (re-search-forward (format "^#\\+label:\\s-*\\(%s\\)\\b" label) nil t)) + (re-search-forward + (format "^#\\+label:\\s-*\\(%s\\)\\b" label) nil t)) ;; org tblname (progn (goto-char (point-min)) - (re-search-forward (format "^#\\+tblname:\\s-*\\(%s\\)\\b" label) nil t)) - -;; Commented out because these ref links do not actually translate correctly in LaTeX. -;; you need [[#label]] links. - ;; CUSTOM_ID -; (progn -; (goto-char (point-min)) -; (re-search-forward (format ":CUSTOM_ID:\s-*\\(%s\\)" label) nil t)) - ) + (re-search-forward + (format "^#\\+tblname:\\s-*\\(%s\\)\\b" label) nil t))) ;; we did not find anything, so go back to where we came (org-mark-ring-goto) (error "%s not found" label)) @@ -1303,6 +1304,7 @@ Use C-u C-u to insert a [[#custom-id]] link" ((eq format 'latex) (format "\\pageref{%s}" keyword))))) + (defun org-pageref-complete-link (&optional arg) "Completion function for ref links. Optional argument ARG Does nothing." @@ -1310,11 +1312,13 @@ Optional argument ARG Does nothing." (setq label (completing-read "label: " (org-ref-get-labels))) (format "ref:%s" label))) + (defun org-pageref-insert-ref-link () "Insert a pageref link with completion." (interactive) (insert (org-pageref-complete-link))) + ;; *** nameref link (org-add-link-type "nameref" @@ -1411,7 +1415,9 @@ keyword we clicked on. We also strip the text properties." (setq key-beginning (+ (match-beginning 0) 1)) ; we found a match (setq key-beginning link-string-beginning))) ; no match found ;; save the key we clicked on. - (setq bibtex-key (org-ref-strip-string (buffer-substring key-beginning key-end))) + (setq bibtex-key + (org-ref-strip-string + (buffer-substring key-beginning key-end))) (set-text-properties 0 (length bibtex-key) nil bibtex-key) bibtex-key) ;; link with description. assume only one key