X-Git-Url: https://git.donarmstrong.com/?p=org-ref.git;a=blobdiff_plain;f=org-ref.org;h=e4f7bdf6d0dfb73b9db91fe072f540b8dcf47f4b;hp=fe0c6d2f6f04b396561ed62d7aa6a9a1e2b50da4;hb=e0ba32626fdecc2ae1bb47bf11f7555b49c5ac7c;hpb=e95f8ce2cf9574f149a7a675670a4c9e1c761b63 diff --git a/org-ref.org b/org-ref.org index fe0c6d2..e4f7bdf 100644 --- a/org-ref.org +++ b/org-ref.org @@ -12,6 +12,7 @@ This document is an experiment at creating a literate program to provide similar 4. Exportable links to LaTeX 5. Utility functions for dealing with bibtex files and org-files +Some additional features include 1. Get minibuffer messages for the cite/ref/label link under point With helm integration (default) you can: @@ -484,7 +485,7 @@ This code provides some functions to generate a simple sorted bibliography in ht #+BEGIN_SRC emacs-lisp :tangle org-ref.el (defun org-ref-get-bibtex-keys () - "return a list of unique keys in the buffer." + "Return a list of unique keys in the buffer." (let ((keys '())) (org-element-map (org-element-parse-buffer) 'link (lambda (link) @@ -494,7 +495,9 @@ This code provides some functions to generate a simple sorted bibliography in ht (key (org-ref-split-and-strip-string (plist-get plist ':path))) (when (not (-contains? keys key)) - (setq keys (append keys (list key))))))))) + (setq keys (append keys (list key)))))))) + ;; set with-affiliated to get keys in captions + nil nil nil t) ;; Sort keys alphabetically (setq keys (cl-sort keys 'string-lessp :key 'downcase)) keys)) @@ -934,7 +937,7 @@ The label link provides a way to create labels in org-mode. We make it clickable ;; for tblname, it is not enough to get word boundary ;; tab-little and tab-little-2 match then. (count-matches (format "^#\\+tblname:\\s-*%s\\b[^-:]" label) (point-min) (point-max)) - (count-matches (format "\\label{%s}\\b" label) (point-min) (point-max)) + (count-matches (format "\\label{%s}" label) (point-min) (point-max)) ;; this is the org-format #+label: (count-matches (format "^#\\+label:\\s-*%s\\b[^-:]" label) (point-min) (point-max)) (let ((custom-id-count 0)) @@ -1296,7 +1299,8 @@ Use C-u C-u to insert a [[#custom-id]] link ((equal helm-current-prefix-arg '(16)) (insert (format "[[#%s]]" label))) - )))))))) + )) + )))))) #+END_SRC #+RESULTS: @@ -3121,12 +3125,18 @@ To get a lighter weight message about the label, ref and cite links, we define a ;; message some context about the label we are referring to ((string= type "ref") - (message (org-ref-get-label-context - (org-element-property :path object)))) + (message "%scount: %s" + (org-ref-get-label-context + (org-element-property :path object)) + (org-ref-count-labels + (org-element-property :path object)))) ((string= type "eqref") - (message (org-ref-get-label-context - (org-element-property :path object)))) + (message "%scount: %s" + (org-ref-get-label-context + (org-element-property :path object)) + (org-ref-count-labels + (org-element-property :path object)))) ;; message the count ((string= type "label") @@ -3266,10 +3276,12 @@ C-u C-u will change the key at point to the selected keys. (replace-regexp-in-string (car (org-ref-get-bibtex-key-and-file)) ; key (mapconcat 'identity keys ",") ; new keys - (org-element-property :raw-link object) - ) + (org-element-property :raw-link object)) ;; replace space at end to avoid collapsing into next word. - last-char))) + last-char)) + ;; and we want to go to the end of the new link + (goto-char + (org-element-property :end (org-element-context)))) (t (message "Not found"))))