X-Git-Url: https://git.donarmstrong.com/?p=org-ref.git;a=blobdiff_plain;f=org-ref.org;h=4b814f43499dfe4435fa1cf387f76ff8322feab6;hp=3a829c7516a6a0ecc427d4ff677946f8e750d91a;hb=09e5acadb48305e8df7969f279281014545a07bb;hpb=3db79817e2a4341f2815489676381fcae7ef87f0 diff --git a/org-ref.org b/org-ref.org index 3a829c7..4b814f4 100644 --- a/org-ref.org +++ b/org-ref.org @@ -485,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) @@ -495,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)) @@ -2612,13 +2614,21 @@ Makes a new buffer with clickable links." (org-element-map (org-element-parse-buffer) 'link (lambda (link) (let ((plist (nth 1 link))) - (when (equal (plist-get plist ':type) "cite") - (dolist (key (org-ref-split-and-strip-string (plist-get plist ':path)) ) + (when (-contains? org-ref-cite-types (plist-get plist :type)) + (dolist (key (org-ref-split-and-strip-string (plist-get plist :path))) (when (not (index key bibtex-keys)) - (setq bad-citations (append bad-citations - `(,(format "%s [[elisp:(progn (switch-to-buffer-other-frame \"%s\")(goto-char %s))][not found here]]\n" - key (buffer-name)(plist-get plist ':begin))))) - )))))) + (message-box "%s" link) + (setq + bad-citations + (append + bad-citations + `(,(format "%s [[elisp:(progn (switch-to-buffer-other-frame \"%s\")(goto-char %s))][not found here]]\n" + key + (buffer-name) + (plist-get plist :begin))))) + ))))) + ;; set with-affilates to t to get citations in a caption + nil nil nil t) (if bad-citations (progn @@ -2657,46 +2667,18 @@ Here we develop a similar idea, but instead of an org-buffer with links, we crea (org-element-map (org-element-parse-buffer) 'link (lambda (link) (let ((plist (nth 1 link))) - (when (-contains? org-ref-cite-types (plist-get plist ':type)) - (dolist (key (org-ref-split-and-strip-string (plist-get plist ':path)) ) + (when (-contains? org-ref-cite-types (plist-get plist :type)) + (dolist (key (org-ref-split-and-strip-string (plist-get plist :path)) ) (when (not (index key bibtex-keys)) - (goto-char (plist-get plist ':begin)) + (goto-char (plist-get plist :begin)) (re-search-forward key) (push (cons key (point-marker)) bad-citations))) - )))) + ))) + ;; add with-affiliates to get cites in caption + nil nil nil t) (goto-char cp) bad-citations)) -;; It seems I forgot I already defined this earlier! -;; (defun org-ref-get-labels () -;; "Returns a list of known labels in the org document. These include label links, latex labels, label tags, and table names. The list contains all labels, not just unique ones. -;; " -;; (let ((cp (point)) -;; (labels '())) -;; (goto-char (point-min)) -;; (while (re-search-forward "[^#+]label:\\(.*\\)\\s-" nil t) -;; (push (match-string 1) labels)) - -;; (goto-char (point-min)) -;; (while (re-search-forward "\\label{\\(.*\\)}\\s-?" nil t) -;; (push (match-string 1) labels)) - -;; (goto-char (point-min)) -;; (while (re-search-forward "^#\\+label:\\s-*\\(.*\\)" nil t) -;; (push (match-string 1) labels)) - -;; (goto-char (point-min)) -;; (while (re-search-forward "^#\\+tblname:\\s-*\\(.*\\)" nil t) -;; (push (match-string 1) labels)) -;; ;; check for CUSTOM_ID -;; (org-map-entries -;; (lambda () -;; (when (org-entry-get (point) "CUSTOM_ID") -;; (push (org-entry-get (point) "CUSTOM_ID") labels)))) -;; ;; return to original place -;; (goto-char cp) -;; labels)) - (defun org-ref-bad-ref-candidates () "Returns a list of conses (ref . marker) where ref is a ref link that does not point to anything (i.e. a label)." @@ -3338,8 +3320,7 @@ With two prefix args, insert a label link." helm-bibtex-fallback-options)) (setq helm-bibtex-fallback-options - (-insert-at 1 '("Open Web of Science" . (lambda () (browse-url "http://apps.webofknowledge.com"))) - helm-bibtex-fallback-options)) + (-insert-at 1 '("WOS" . "http://gateway.webofknowledge.com/gateway/Gateway.cgi?topic=%s&GWVersion=2&SrcApp=WEB&SrcAuth=HSB&DestApp=UA&DestLinkType=GeneralSearchSummary") helm-bibtex-fallback-options)) #+END_SRC ** A helm click menu