]> git.donarmstrong.com Git - org-ref.git/blobdiff - org-ref.el
add bibliographystyle completion
[org-ref.git] / org-ref.el
index 430ae0e8806164032c4091b02ffb6b22170b7026..87deb290285bd15b47a05e8535faadba807b627f 100644 (file)
@@ -334,7 +334,7 @@ You will see a message in the minibuffer when on a cite, ref or label link."
 
 
 (setq org-ref-ref-re
-      "ref:\\([a-zA-Z0-9-_:]*,?\\)*")
+      "\\(eq\\)?ref:\\([a-zA-Z0-9-_:]*,?\\)*")
 
 
 (defface org-ref-cite-face
@@ -748,11 +748,26 @@ Format according to the type in `org-ref-bibliography-entry-format'."
                       ;; write out the latex bibliography command
                       (format "\\bibliographystyle{%s}" keyword)))))
 
+
+(defun org-bibliographystyle-complete-link (&optional arg)
+  "Completion function for bibliographystyle link.
+ARG does nothing."
+  (format "bibliographystyle:%s" (ido-completing-read
+                                 "style: "
+                                 '("unsrt" "plain" "alpha"
+                                   ;; natbib
+                                   ;; https://www.sharelatex.com/learn/Natbib_bibliography_styles
+                                   "dinat" "humannat" "plainnat"
+                                   "abbrnat" "unsrtnat" "rusnat"
+                                   "ksfhnat"))))
+
+
 (defun org-bibliography-complete-link (&optional arg)
   "Completion function for bibliography link.
 ARG does nothing."
   (format "bibliography:%s" (read-file-name "enter file: " nil nil t)))
 
+
 (defun org-ref-insert-bibliography-link ()
   "Insert a bibliography with completion."
   (interactive)
@@ -1753,7 +1768,7 @@ get a lot of options.  LINK-STRING is used by the link function."
          choice
          2))))))
 
-;; ** Generation of the cite links
+;; *** Generation of the cite links
 (defmacro org-ref-make-completion-function (type)
   "Macro to make a link completion function for a link of TYPE."
   `(defun ,(intern (format "org-%s-complete-link" type)) (&optional arg)
@@ -3315,6 +3330,38 @@ _o_: Open entry   _e_: Email entry and pdf
           (org-ref-open-citation-at-point)
           (email-bibtex-entry)) nil)))
 
+;; * org-ref-help
+(defun org-ref-help ()
+  "Open the org-ref manual."
+  (interactive)
+  (find-file (expand-file-name
+             "org-ref.org"
+             (file-name-directory
+              (find-library-name "org-ref")))))
+
+;; * org-ref menu
+(defun org-ref-org-menu ()
+  "Add org-ref menu to the Org menu."
+
+  (easy-menu-change
+   '("Org") "org-ref"
+   '( ["Insert citation" org-ref-helm-insert-cite-link]
+      ["Insert ref" org-ref-helm-insert-ref-link]
+      ["Insert label" org-ref-helm-insert-label-link]
+      "--"
+      ["List of figures" org-ref-list-of-figures]
+      ["List of tables" org-ref-list-of-tables]
+      ["Extract bibtex entries" org-ref-extract-bibtex-entries]
+      ["Check org-file" org-ref]
+      "--"
+      ["Help" org-ref-help]
+      ["Customize org-ref" (customize-group 'org-ref)])
+   "Show/Hide")
+
+  (easy-menu-change '("Org") "--" nil "Show/Hide"))
+
+(add-hook 'org-mode-hook 'org-ref-org-menu)
+
 ;; * The end
 (provide 'org-ref)