emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Schulte <schulte.eric@gmail.com>
To: Lluís <xscript@gmx.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: org-bibtex: "TYPE" property conflicting with bibtex's "type" parameter
Date: Tue, 20 Sep 2011 09:20:59 -0600	[thread overview]
Message-ID: <87ty87tf38.fsf@gmail.com> (raw)
In-Reply-To: <87ipoo1fk2.fsf@ginnungagap.bsc.es> (=?utf-8?Q?=22Llu=C3=ADs?= =?utf-8?Q?=22's?= message of "Mon, 19 Sep 2011 21:46:05 +0200")

Lluís <xscript@gmx.net> writes:

> The current org-bibtex code uses the value of the "TYPE" property for two different purposes:
> * identify the type of bibtex entry
> * give a value to the "type" parameter in a bibtex entry
> Using the "TYPE" property for both has the unfortunate effect that on
> an entry type like "phdthesis" (which has an optional "type"
> parameter), the resulting text contains the "phdthesis" text insteaad
> of the default "PhD thesis" text produced by bibtex when the "type"
> parameter is not set.
> For example, this:
> #+bein_source org
> * One Title
> :TITLE: One Title
> :TYPE: phdthesis
> :AUTHOR: John Doe
> :SCHOOL: University of Somewhere
> :YEAR: 2011
> :CUSTOM_ID: myid
> :END:
> #+end_source
> results in the following bibtex entry:
> #+begin_source bibtex
> @phdthesis{myid,
>   author =       {John Doe},
>   title =        {One Title},
>   school =       {University of Somewhere},
>   year =         2011,
>   type =         {phdthesis}
> }
> #+end_source
> which is processed into the following text:
> #+begin_source fundamental
> [1] J. Doe. One Title. phdthesis, University of Somewhere, 2011.
> #+end_source
> instead of the desired:
> #+begin_source fundamental
> [1] J. Doe. One Title. PhD thesis, University of Somewhere, 2011.
> #+end_source
> The only way out I see is to use different properties for the bibtex
> entry type and bibtex's "type" parameter. Preferably using a different
> property for org-bibtex to identify the entry type (e.g.,

Hi Lluis,

Thanks for catching this!

I should have checked for this conflict when initially creating this
package.  I'm making the name of the "type" property configurable and
setting the default value to "btype".

For those who want to keep using "type" on existing files the following
should restore the current behavior after updating Org-mode.
#+begin_src emacs-lisp
  (setf org-bibtex-type-property-name "btype")

For those who want to switch to the new property name please update
org-mode and ensure that `org-bibtex-type-property-name' has a value,
then call the following function in every Org-mode file which has bibtex
#+begin_src emacs-lisp
  (defun org-bibtex-replace-type-with-btype ()
    (replace-regexp (concat "^" (regexp-quote "  :TYPE:"))
                    (format "  :%s:" (upcase org-bibtex-type-property-name))))

Sorry for the breaking change but this should be an improvement moving

Best -- Eric

> Thanks a lot,
>    Lluis
> PS: I'm not subscribed to the list, so please put me in CC if you want me to read you.

Eric Schulte

      reply	other threads:[~2011-09-20 15:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-19 19:46 Lluís
2011-09-20 15:20 ` Eric Schulte [this message]

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:

  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=87ty87tf38.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=xscript@gmx.net \


* 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


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).