X-Git-Url: https://git.donarmstrong.com/?p=org-ref.git;a=blobdiff_plain;f=jmax-bibtex.el;h=7c866d4bfde031adce52e9740d7a9446af6f99c3;hp=9927fefe8e187676583ecc8c10469fd5b589510e;hb=7962d01339735d7a28d75c4f34afc1f4819575d7;hpb=a646c41c18b7dd968d596dc64df3a0cb8ab98225 diff --git a/jmax-bibtex.el b/jmax-bibtex.el index 9927fef..7c866d4 100644 --- a/jmax-bibtex.el +++ b/jmax-bibtex.el @@ -1,14 +1,44 @@ ;;; jmax-bibtex.el --- jmax-bibtex utilities +;; Copyright(C) 2014 John Kitchin + +;; Author: John Kitchin +;; URL: https://github.com/jkitchin/org-ref +;; Version: 0.1 +;; Keywords: org-mode, bibtex +;; Package-Requires: ((org-ref) (s) (dash) (doi-utils) (key-chord)) + +;; This file is not currently part of GNU Emacs. + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2, or (at +;; your option) any later version. + +;; This program is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program ; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + ;;; Commentary: -;; Requires: s.el, dash.el, org-ref.el, doi-utils.el, key-chord.el -;; + ;; jmax-bibtex-generate-longtitles ;; jmax-bibtex-generate-shorttitles -;; jmax-stringify-journal-name :: replace a journal name with a string in `jmax-bibtex-journal-abbreviations' -;; jmax-set-journal-string :: in a bibtex entry run this to replace the journal with a string +;; jmax-stringify-journal-name :: replace a journal name with a string in +;; `jmax-bibtex-journal-abbreviations' +;; jmax-set-journal-string :: in a bibtex entry run this to replace the +;; journal with a string ;; -;; jmax-replace-nonascii :: replace nonascii characters in a bibtex entry +;; jmax-title-case-article :: title case the title in an article +;; jmax-sentence-case-article :: sentence case the title in an article. + +;; jmax-replace-nonascii :: replace nonascii characters in a bibtex +;; entry. Replacements are in `jmax-nonascii-latex-replacements'. ;; ;; jmax-title-case-article ;; jmax-sentence-case-article @@ -16,9 +46,12 @@ ;; jmax-bibtex-next-entry :: bound to M-n ;; jmax-bibtex-previous-entry :: bound to M-p ;; -;; Functions to act on an entry +;; Functions to act on a bibtex entry or file ;; jmax-bibtex-hydra/body gives a hydra menu to a lot of useful functions. ;; jmax-bibtex-new-entry/body gives a hydra menu to add new bibtex entries. +;; jmax-bibtex-file/body gives a hydra menu of actions for the bibtex file +;; +;; jmax-bibtex :: a deprecated menu of actions (require 'hydra) (require 'key-chord) @@ -371,8 +404,6 @@ all the title entries in articles." (bibtex-fill-entry)))) - - (defun jmax-bibtex-next-entry (&optional n) "Jump to the beginning of the next bibtex entry. N is a prefix argument. If it is numeric, jump that many entries @@ -473,17 +504,18 @@ functions with a DOI argument." (defhydra jmax-bibtex-hydra (:color blue) " _p_: Open pdf _y_: Copy key _n_: New entry _w_: WOS -_u_: Open url _f_: Copy formatted entry _o_: Copy entry _c_: WOS citing -_r_: Refile entry _k_: Add keywords _d_: delete entry _r_: WOS related +_b_: Open url _f_: Copy formatted entry _o_: Copy entry _c_: WOS citing +_r_: Refile entry _k_: Add keywords _d_: delete entry _a_: WOS related _e_: Email entry _K_: Edit keywords _L_: clean entry _P_: Pubmed _U_: Update entry _N_: Open notes _R_: Crossref _g_: Google Scholar -_q_: quit +_s_: Sort entry _a_: Remove nonascii _h_: helm-bibtex _q_: quit +_u_: Update field _f_: file funcs " ("p" org-ref-open-bibtex-pdf) ("P" jmax-bibtex-pubmed) ("w" jmax-bibtex-wos) ("c" jmax-bibtex-wos-citing) - ("r" jmax-bibtex-wos-related) + ("a" jmax-bibtex-wos-related) ("R" jmax-bibtex-crossref) ("g" jmax-bibtex-google-scholar) ("n" jmax-bibtex-new-entry/body) @@ -500,7 +532,7 @@ _q_: quit (read-input "Keywords: " (bibtex-autokey-get-field "keywords")) t))) - ("u" org-ref-open-in-browser) + ("b" org-ref-open-in-browser) ("r" (lambda () (interactive) (bibtex-beginning-of-entry) (bibtex-kill-entry) @@ -513,9 +545,12 @@ _q_: quit (kill-buffer))) ("e" email-bibtex-entry) ("U" (doi-utils-update-bibtex-entry-from-doi (jmax-bibtex-entry-doi))) - ("q" nil "quit") - ("f" jmax-bibtex-file/body "File functions") - ("a" jmax-replace-nonascii "Replace non-ascii")) + ("u" doi-utils-update-field) + ("f" jmax-bibtex-file/body) + ("h" helm-bibtex) + ("a" jmax-replace-nonascii) + ("s" org-ref-sort-bibtex-entry) + ("q" nil)) ;; create key-chord and key binding for hydra (when jmax-bibtex-hydra-key-chord @@ -546,6 +581,7 @@ _q_: quit ("c" bibtex-InCollection "Article in collection") ("q" nil "quit")) + ;; a hydra menu of functions to act on a bibtex file. (defhydra jmax-bibtex-file (:color blue) "Bibtex file functions: "