emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] org-bibtex: "TYPE" property conflicting with bibtex's "type" par


From: Eric Schulte
Subject: Re: [O] org-bibtex: "TYPE" property conflicting with bibtex's "type" parameter
Date: Tue, 20 Sep 2011 09:20:59 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Lluís <address@hidden> 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
> :PROPERTIES:
> :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.,
> "BIBTEX_TYPE").
>

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")
#+end_src

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
entries.
#+begin_src emacs-lisp
  (defun org-bibtex-replace-type-with-btype ()
    (interactive)
    (replace-regexp (concat "^" (regexp-quote "  :TYPE:"))
                    (format "  :%s:" (upcase org-bibtex-type-property-name))))
#+end_src

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

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
http://cs.unm.edu/~eschulte/



reply via email to

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