summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/km-bib.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/lisp/km-bib.el b/lisp/km-bib.el
index b7b7946..5eb7bdd 100644
--- a/lisp/km-bib.el
+++ b/lisp/km-bib.el
@@ -144,6 +144,24 @@ to
(bibtex-end-of-text-in-field bounds) t)
(replace-match (downcase (match-string 0)) 'fixedcase)))))))
+(defun km/bibtex-sub-journal ()
+ (when (boundp 'km/bibtex-journal-substitutions)
+ (save-excursion
+ (bibtex-beginning-of-entry)
+ (let* ((bounds (bibtex-search-forward-field "journal" t))
+ (beg (1+ (bibtex-start-of-text-in-field bounds)))
+ (end (1- (bibtex-end-of-text-in-field bounds))))
+ (when bounds
+ (let* ((journ (replace-regexp-in-string
+ "[ \n]+" " "
+ (buffer-substring-no-properties beg end)))
+ (sub (assoc-string journ km/bibtex-journal-substitutions)))
+ (when sub
+ (goto-char beg)
+ (delete-region beg end)
+ (insert (cdr sub))
+ (fill-paragraph))))))))
+
(defvar km/bibtex-article-fields-to-delete
'("abstract" "issn" "pubmedid" "url" "eprint" "keywords"))