Browse Source

New `org-bibtex-headline-format-function'

* lisp/org-bibtex.el (org-bibtex-write): Make this function read the
headline format from the newly created variable
`org-bibtex-headline-format-function' instead of systematically using
the entry title.
(org-bibtex-headline-format-function): Create this variable to hold
a function of one argument, the entry alist, and return the string to
be inserted as headline.  The default value replicates the current
behavior of returning the entry title.

TINYCHANGE
Eric Danan 4 years ago
parent
commit
9e80c64d79
2 changed files with 14 additions and 1 deletions
  1. 2 0
      etc/ORG-NEWS
  2. 12 1
      lisp/org-bibtex.el

+ 2 - 0
etc/ORG-NEWS

@@ -82,6 +82,8 @@ Where clue > 0
 ,#+END_SRC
 #+end_example
 
+*** New variable : ~org-bibtex-headline-format-function~
+This allow to use a different title than entry title.
 *** Horizontal rules are no longer ignored in LaTeX table math mode
 
 ** Removed options

+ 12 - 1
lisp/org-bibtex.el

@@ -237,6 +237,17 @@ a missing title field."
   :version "24.1"
   :type 'boolean)
 
+(defcustom org-bibtex-headline-format-function
+  (lambda (entry) (cdr (assq :title entry)))
+  "Function returning the headline text for `org-bibtex-write'.
+It should take a single argument, the bibtex entry (an alist as
+returned by `org-bibtex-read').  The default value simply returns
+the entry title."
+  :group 'org-bibtex
+  :version "25.2"
+  :package-version '(Org . "9.1")
+  :type 'function)
+
 (defcustom org-bibtex-export-arbitrary-fields nil
   "When converting to bibtex allow fields not defined in `org-bibtex-fields'.
 This only has effect if `org-bibtex-prefix' is defined, so as to
@@ -678,7 +689,7 @@ Return the number of saved entries."
 	 (val (lambda (field) (cdr (assoc field entry))))
 	 (togtag (lambda (tag) (org-toggle-tag tag 'on))))
     (org-insert-heading)
-    (insert (funcall val :title))
+    (insert (funcall org-bibtex-headline-format-function entry))
     (org-bibtex-put "TITLE" (funcall val :title))
     (org-bibtex-put org-bibtex-type-property-name
 		    (downcase (funcall val :type)))