Changes
[emacs.git] / .emacs.d / elisp / org / org-bibtex.el
index b655710..7b2ed48 100644 (file)
     (:pages        . "One or more page numbers or range of numbers, such as 42-111 or 7,41,73-97 or 43+ (the ‘+’ in this last example indicates pages following that don’t form simple range). BibTEX requires double dashes for page ranges (--).")
     (:publisher    . "The publisher’s name.")
     (:school       . "The name of the school where a thesis was written.")
-    (:series       . "The name of a series or set of books.  When citing an entire book, the the title field gives its title and an optional series field gives the name of a series or multi-volume set in which the book is published.")
+    (:series       . "The name of a series or set of books.  When citing an entire book, the title field gives its title and an optional series field gives the name of a series or multi-volume set in which the book is published.")
     (:title        . "The work’s title, typed as explained in the LaTeX book.")
     (:type         . "The type of a technical report for example, 'Research Note'.")
     (:volume       . "The volume of a journal or multi-volume book.")
@@ -264,26 +264,39 @@ IDs must be unique."
 
 (defcustom org-bibtex-tags-are-keywords nil
   "Convert the value of the keywords field to tags and vice versa.
-If set to t, comma-separated entries in a bibtex entry's keywords
-field will be converted to org tags.  Note: spaces will be escaped
-with underscores, and characters that are not permitted in org
+
+When non-nil, comma-separated entries in a bibtex entry's keywords
+field will be converted to Org tags.  Note: spaces will be escaped
+with underscores, and characters that are not permitted in Org
 tags will be removed.
 
-If t, local tags in an org entry will be exported as a
-comma-separated string of keywords when exported to bibtex.  Tags
-defined in `org-bibtex-tags' or `org-bibtex-no-export-tags' will
-not be exported."
+When non-nil, local tags in an Org entry will be exported as
+a comma-separated string of keywords when exported to bibtex.
+If `org-bibtex-inherit-tags' is non-nil, inherited tags will also
+be exported as keywords.  Tags defined in `org-bibtex-tags' or
+`org-bibtex-no-export-tags' will not be exported."
   :group 'org-bibtex
   :version "24.1"
   :type 'boolean)
 
 (defcustom org-bibtex-no-export-tags nil
   "List of tag(s) that should not be converted to keywords.
-This variable is relevant only if `org-bibtex-tags-are-keywords' is t."
+This variable is relevant only if `org-bibtex-tags-are-keywords'
+is non-nil."
   :group 'org-bibtex
   :version "24.1"
   :type '(repeat :tag "Tag" (string)))
 
+(defcustom org-bibtex-inherit-tags nil
+  "Controls whether inherited tags are converted to bibtex keywords.
+It is relevant only if `org-bibtex-tags-are-keywords' is non-nil.
+Tag inheritence itself is controlled by `org-use-tag-inheritence'
+and `org-exclude-tags-from-inheritence'."
+  :group 'org-bibtex
+  :version "25.1"
+  :package-version '(Org . "8.3")
+  :type 'boolean)
+
 (defcustom org-bibtex-type-property-name "btype"
   "Property in which to store bibtex entry type (e.g., article)."
   :group 'org-bibtex
@@ -332,7 +345,9 @@ This variable is relevant only if `org-bibtex-tags-are-keywords' is t."
                                          (append org-bibtex-tags
                                                  org-bibtex-no-export-tags))
                            tag))
-                       (org-get-local-tags-at))))))
+                       (if org-bibtex-inherit-tags
+                           (org-get-tags-at)
+                         (org-get-local-tags-at)))))))
     (when type
       (let ((entry (format
                    "@%s{%s,\n%s\n}\n" type id
@@ -633,7 +648,7 @@ This uses `bibtex-parse-entry'."
 (defun org-bibtex-read-buffer (buffer)
   "Read all bibtex entries in BUFFER and save to `org-bibtex-entries'.
 Return the number of saved entries."
-  (interactive "bbuffer: ")
+  (interactive "bBuffer: ")
   (let ((start-length (length org-bibtex-entries)))
     (with-current-buffer buffer
       (save-excursion
@@ -643,12 +658,12 @@ Return the number of saved entries."
          (org-bibtex-read)
          (bibtex-beginning-of-entry))))
     (let ((added (- (length org-bibtex-entries) start-length)))
-      (message "parsed %d entries" added)
+      (message "Parsed %d entries" added)
       added)))
 
 (defun org-bibtex-read-file (file)
   "Read FILE with `org-bibtex-read-buffer'."
-  (interactive "ffile: ")
+  (interactive "fFile: ")
   (org-bibtex-read-buffer (find-file-noselect file 'nowarn 'rawfile)))
 
 (defun org-bibtex-write ()
@@ -694,7 +709,7 @@ Return the number of saved entries."
 
 (defun org-bibtex-import-from-file (file)
   "Read bibtex entries from FILE and insert as Org-mode headlines after point."
-  (interactive "ffile: ")
+  (interactive "fFile: ")
   (dotimes (_ (org-bibtex-read-file file))
     (save-excursion (org-bibtex-write))
     (re-search-forward org-property-end-re)