I t was indeed easier than I had thought. I tested the modified function on my reading list file and it works as expected under most conditions (It plays well with other variables etc.). The only exception was the previously mentioned issue with nonstandard bibtex types. If I have time this weekend, I will try to look into this problem. (I think it might be time to break down and actually learn lisp.)
Attached is the requested diff. In addition to adding the new variable `org-bibtex-tags-inherit' and editing the function `org-bibtex-headline', I modified a couple of customize doc strings to reflect the change. I also edited one doc string that seemed to refer to an old variable that is no longer in use. On 17 April 2014 15:25, Bastien <b...@gnu.org> wrote: > Hi Leonard, > > Leonard Randall <leonard.a.rand...@gmail.com> writes: > > > Unfortunately, my knowledge of lisp is particularly rudimentary so I > > can't offer to do it myself. > > I think you certainly underestimate yourself and can start hacking :) > > 1. install Git on your machine > 2. ~$ git clone git://orgmode.org/org-mode.git > 3. ~$ cd org-mode/ > 4. Edit lisp/org-bibtex.el > 5. Use C-x C-e at the end of the edited functions and check it works > > When you're done, simple C-x v = in the edited buffer, C-x o to go to > that buffer, then save it and send it to us. > > Otherwise let's wait someone with a better understanding than mine > can hack it together. But I'm sure you can give us something that > will be useful enough. > > Best, > > -- > Bastien >
diff --git a/lisp/org-bibtex.el b/lisp/org-bibtex.el index ed645e5..848d0e4 100644 --- a/lisp/org-bibtex.el +++ b/lisp/org-bibtex.el @@ -270,20 +270,31 @@ 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." +comma-separated string of keywords when exported to bibtex. If +`org-bibtex-inherit-tags' is t, 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-export-tags-as-keywords' is t." +This variable is relevant only if `org-bibtex-tags-are-keywords' is t." :group 'org-bibtex :version "24.1" :type '(repeat :tag "Tag" (string))) +(defcustom org-bibtex-inherit-tags nil + "This variable controlls whether inherited tags are included +when converting org tags to bibtex keywords. It is relevant only +if `org-bibtex-tags-are-keywords' is t. Tag inheritence itself is +controlled by `org-use-tag-inheritence' and +`org-exclude-tags-from-inheritence'" + :group 'org-bibtex + :version "24.1" + :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 +343,9 @@ This variable is relevant only if `org-bibtex-export-tags-as-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