X-Git-Url: https://git.donarmstrong.com/?p=org-ref.git;a=blobdiff_plain;f=doi-utils.org;h=68c74bcc3fde4ff88d3daa94bc5b934e99ddc400;hp=ada477c515f10d68ad867bc3fb980628cbdf99af;hb=b54b91a69aa1f12de601581971b3d0e6f8bed902;hpb=cff970c7d49ebc7b61878dd5ca89b96185fef28f diff --git a/doi-utils.org b/doi-utils.org index ada477c..68c74bc 100644 --- a/doi-utils.org +++ b/doi-utils.org @@ -915,7 +915,9 @@ The idea here is to perform a query on Crossref, get a helm buffer of candidates (cond ;; If region is active assume we want it ((region-active-p) - (buffer-substring (region-beginning) (region-end))) + (replace-regexp-in-string + "\n" " " + (buffer-substring (region-beginning) (region-end)))) ;; type or paste it in (t nil))) @@ -935,7 +937,9 @@ The idea here is to perform a query on Crossref, get a helm buffer of candidates (setq json-string (buffer-substring url-http-end-of-headers (point-max))) (setq json-data (json-read-from-string json-string))) - (let* ((name (format "Crossref hits for %s" query)) + (let* ((name (format "Crossref hits for %s" + ;; remove carriage returns. they cause problems in helm. + (replace-regexp-in-string "\n" " " query))) (helm-candidates (mapcar (lambda (x) (cons (concat @@ -949,7 +953,7 @@ The idea here is to perform a query on Crossref, get a helm buffer of candidates ;; just return the candidate (action . (("Insert bibtex entry" . (lambda (doi) (doi-utils-add-bibtex-entry-from-doi - (replace-regexp-in-string "^http://dx.doi.org/" "" doi)))) + (replace-regexp-in-string "^http://dx.doi.org/" "" doi) ,bibtex-file))) ("Open url" . (lambda (doi) (browse-url doi)))))))) (helm :sources '(source))))) @@ -1163,7 +1167,8 @@ Here is a list of helm candidates #+END_SRC #+RESULTS: -#+BEGIN_SRC emacs-lisp +#+BEGIN_SRC emacs-lisp :tangle no + (((fullCitation . "Ann M. Deml, Vladan Stevanovi\304\207, Christopher L. Muhich, Charles B. Musgrave, Ryan O'Hayre, 2014, 'Oxide enthalpy of formation and band gap energy as accurate descriptors of oxygen vacancy formation energetics', Energy & Environmental Science, vol. 7, no. 6, p. 1996") (year . "2014") (coins . "ctx_ver=Z39.88-2004&rft_id=info%3Adoi%2Fhttp%3A%2F%2Fdx.doi.org%2F10.1039%2Fc3ee43874k&rfr_id=info%3Asid%2Fcrossref.org%3Asearch&rft.atitle=Oxide+enthalpy+of+formation+and+band+gap+energy+as+accurate+descriptors+of+oxygen+vacancy+formation+energetics&rft.jtitle=Energy+%26+Environmental+Science&rft.date=2014&rft.volume=7&rft.issue=6&rft.spage=1996&rft.aufirst=Ann+M.&rft.aulast=Deml&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.au=Ann+M.+Deml&rft.au=+Vladan+Stevanovi%C4%87&rft.au=+Christopher+L.+Muhich&rft.au=+Charles+B.+Musgrave&rft.au=+Ryan+O%27Hayre") @@ -1256,7 +1261,7 @@ I found this on the web. It can be handy, but the bibtex entry has a lot of stuf #+BEGIN_SRC emacs-lisp :tangle doi-utils.el (defun isbn-to-bibtex-lead (isbn) "Search lead.to for ISBN bibtex entry. You have to copy the entry if it is on the page to your bibtex file." - (interactive "ISBN: ") + (interactive "sISBN: ") (browse-url (format "http://lead.to/amazon/en/?key=%s+&si=all&op=bt&bn=&so=sa&ht=us" isbn))) #+END_SRC @@ -1358,25 +1363,3 @@ entry with the generated key already exists in the file." #+RESULTS: : Loaded doi-utils.el - - - - - -#+BEGIN_SRC emacs-lisp -(setq data '(("John" . "john@email.com") - ("Jim" . "jim@email.com") - ("Jane" . "jane@email.com") - ("Jill" . "jill@email.com"))) - -(setq some-helm-source - `((name . "HELM at the Emacs") - (candidates . ,(mapcar 'car data)) - (action . (lambda (candidate) - (message-box "%s" (cdr (assoc candidate data))))))) - -(message-box "you chose %s" (helm :sources '(some-helm-source))) -#+END_SRC - -#+RESULTS: -: you chose jim@email.com