emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Matt Lundin <mdl@imapmail.org>
To: Org Mode <emacs-orgmode@gnu.org>
Subject: [PATCH] More options in use of headlines as substitute for title field
Date: Sat, 30 Apr 2011 09:03:37 -0400	[thread overview]
Message-ID: <871v0janu4.fsf@fastmail.fm> (raw)

* 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	other threads:[~2011-04-30 13:08 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871v0janu4.fsf@fastmail.fm \
    --to=mdl@imapmail.org \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).