emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [PATCH] More options in use of headlines as substitute for title fie


From: Matt Lundin
Subject: [O] [PATCH] More options in use of headlines as substitute for title field
Date: Sat, 30 Apr 2011 09:03:37 -0400

* lisp/org-bibtex.el (org-bibtex-treat-headline-as-title): New
  defcustom.
  (org-bibtex-headline): Only use headline text (not TODO or other
  metadata) to generate title field and auto key.
  (org-bibtex-fleshout): Allow user to choose whether to treat
  headline as title.
---
This patch consolidates the three patches for org-bibtex I sent last
night. Please delete those patches from the patchwork server.

Thanks! Matt

 lisp/org-bibtex.el |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/lisp/org-bibtex.el b/lisp/org-bibtex.el
index f4614fb..8070755 100644
--- a/lisp/org-bibtex.el
+++ b/lisp/org-bibtex.el
@@ -223,6 +223,14 @@ For example setting to 'BIB_' would allow interoperability 
with fireforg."
   :group 'org-bibtex
   :type  'string)
 
+(defcustom org-bibtex-treat-headline-as-title t
+  "Treat headline text as title if title property is absent.
+If an entry is missing a title property, use the headline text as
+the property. If this value is t, `org-bibtex-check` will ignore
+a missing title field."
+  :group 'org-bibtex
+  :type 'boolean)
+
 (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
@@ -289,7 +297,7 @@ IDs must be unique."
                            (lambda (field)
                              (let ((value (or (org-bibtex-get (from field))
                                               (and (equal :title field)
-                                                   (org-get-heading)))))
+                                                   (nth 4 
(org-heading-components))))))
                                (when value (cons (from field) value))))
                            (flatten
                             (val :required (val (to type) org-bibtex-types))
@@ -329,7 +337,9 @@ With optional argument OPTIONAL, also prompt for optional 
fields."
         (keyword (name) (intern (concat ":" (downcase name))))
          (name (keyword) (upcase (substring (symbol-name keyword) 1))))
     (dolist (field (append
-                   (remove :title (val :required (val type org-bibtex-types)))
+                   (if org-bibtex-treat-headline-as-title
+                       (remove :title (val :required (val type 
org-bibtex-types)))
+                     (val :required (val type org-bibtex-types)))
                    (when optional (val :optional (val type 
org-bibtex-types)))))
       (when (consp field) ; or'd pair of fields e.g., (:editor :author)
         (let ((present (first (remove nil
-- 
1.7.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]