]> git.donarmstrong.com Git - org-ref.git/blobdiff - org-ref.el
Load org-element for using its functions
[org-ref.git] / org-ref.el
index 4ad23bd0023dff86aaa39525e99965a46b7339e0..71252ebccd34183bb0a2f0db2b6d32177622dbd5 100644 (file)
@@ -41,6 +41,7 @@
 (require 'helm-config)
 (require 'helm-bibtex)
 (require 'org)
+(require 'org-element)
 
 ;; * Custom variables
 (defgroup org-ref nil
@@ -81,11 +82,9 @@ You should use full-paths for each file."
   '(("article" . "%a, %t, <i>%j</i>, <b>%v(%n)</b>, %p (%y). <a href=\"%U\">link</a>. <a href=\"http://dx.doi.org/%D\">doi</a>.")
 
     ("book" . "%a, %t, %u (%y).")
-
+    ("techreport" . "%a, %t, %i, %u (%y).")
     ("proceedings" . "%e, %t in %S, %u (%y).")
-
     ("inproceedings" . "%a, %t, %p, in %b, edited by %e, %u (%y)"))
-
   "String to format an entry.  Just the reference, no numbering at the beginning, etc... see the `org-ref-reftex-format-citation' docstring for the escape codes."
   :type 'string
   :group 'org-ref)
@@ -548,9 +547,15 @@ Format according to the type in `org-ref-bibliography-entry-format'."
     ;; unescape the &
     (setq output (replace-regexp-in-string "\\\\&" "&" output))
     ;; hack to replace {} around text
-    (setq output (replace-regexp-in-string " {\\(.*\\)} " " \\1 " output))
+    (setq output (replace-regexp-in-string "{" "" output))
+    (setq output (replace-regexp-in-string "}" "" output))
     ;; get rid of empty parens
     (setq output (replace-regexp-in-string "()" "" output))
+    ;; get rid of empty link and doi
+    (setq output (replace-regexp-in-string " <a href=\"\">link</a>\\." "" output))
+    ;; change double dash to single dash
+    (setq output (replace-regexp-in-string "--" "-" output))
+    (setq output (replace-regexp-in-string " <a href=\"http://dx\\.doi\\.org/\">doi</a>\\." "" output))
     (format "<li><a id=\"%s\">[%s] %s</a></li>"
            key key output)))
 
@@ -2747,7 +2752,7 @@ Shows bad citations, ref links and labels"
   (setq keys (org-ref-split-and-strip-string link-string))
   (setq years (mapcar 'org-ref-get-citation-year keys))
   (setq data (mapcar* (lambda (a b) `(,a . ,b)) years keys))
-  (setq data (cl-sort data (lambda (x y) (< (string-to-int (car x)) (string-to-int (car y))))))
+  (setq data (cl-sort data (lambda (x y) (< (string-to-number (car x)) (string-to-number (car y))))))
   ;; now get the keys separated by commas
   (setq keys (mapconcat (lambda (x) (cdr x)) data ","))
   ;; and replace the link with the sorted keys