emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [ANN] org-bibtex.el --- convert between Org headings and bibtex


From: Eric Schulte
Subject: Re: [O] [ANN] org-bibtex.el --- convert between Org headings and bibtex entries
Date: Thu, 21 Apr 2011 15:06:19 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

"Thomas S. Dye" <address@hidden> writes:

> Hi Eric,
>
> On Apr 20, 2011, at 9:00 AM, Eric Schulte wrote:
>
>> Hi Tom,
>>
>> "Thomas S. Dye" <address@hidden> writes:
>>
>>> Hi Eric,
>>>
>>> This could be very useful and a significant enhancement to Org-mode
>>> for note taking.  With it, library time can be spent almost entirely
>>> within Org-mode, capturing bibliographic information and taking
>>> reading notes.  It feels like the right level of functionality--
>>> lightweight and easy to use, with lots of prompting material.
>>>
>>
>> Thanks, I hope so.
>>
>>>
>>> I created an entry with org-bibtex-create and then another with org-
>>> bibtex-read/write.  When I ran org-bibtex, only the second entry was
>>> exported.  Also, the org-bibtex-read/write process mangled the bibtex
>>> entry a bit, so the resulting .bib file wasn't useful.  Note the
>>> addition of {} around the publisher and year, and the truncation of
>>> multi-line entries.
>>>
>>
>> I /believe/ I have fixed this issue.  I am now using pre-existing
>> bibtex
>> functions for reading in entries, and for cleaning up entries
>> written by
>> org-bibtex.
>>
>
> The org-bibtex-read/write process doesn't work on the example I sent.
> The read appears to work (though I can't find a buffer *org-bibtex- 
> entries* afterwards), but the write inserts the headline asterisk then
> fails with progn: Wrong type argument: char-or-string-p, nil.
>

Hmm, I can't re-create this error, the read and write work for me...

Are you placing the point immediately before the bibtex entry before
calling org-bibtex-read?

After calling the read, does the `*org-bibtex-entries*' variable appear
to hold the information for the bibtex entry?

Could you set `debug-on-error' to t, and then send me the entire error
backtrace so I could see where this is going wrong?

>
>>>
>>> Can I suggest some changes?
>>>
>>> 1) In our multi-user environment, where several authors are
>>> contributing to a master bibtex file, we depend on the key generating
>>> algorithm of bibtex-mode to help weed out duplicate entries.   This
>>> isn't 100% effective, but it catches lots of duplicates and saves us
>>> time.  Would it be possible to lift this mechanism and use it in org-
>>> bibtex to generate the CUSTOM_ID?
>>>
>>
>> I've added a new variable `org-bibtex-autogen-keys' which when set to
>> t will result in auto-generated keys being used instead of prompting
>> the user to input such keys.
>>
>
> Beautiful!
>
>>>
>>> 2) It might be better to use the (generated) key as the Org headline,
>>> instead of the title.  Titles can be longer than I find comfortable
>>> for an Org-mode headline, whereas keys are usually about the right
>>> length.
>>>
>>
>> Hmm, I would tend to disagree here, but I think it may be a matter of
>> taste.  Note that if you include a TITLE property in a headline then
>> it will be used instead of the contents of the headline, leaving you
>> free to put whatever information you want into the headline.  I've
>> just updated the headline creation so that it will create such a
>> title property as well as using the title as the headline, leaving
>> you free to subsequently change the headline.
>>
>
> That sounds right to me.  Thanks.
>
>>>
>>> 3) org-bibtex-cite seems like a natural next step, especially if it
>>> offers a list of keys in the Org-mode buffer.
>>>
>>
>> Meaning a function to allow tab-completion on keys...  I could see
>> this
>> being useful but I would imagine that the bib entries would generally
>> not live in the same buffer as the Org-mode text... rather I'd think
>> some sort of global registry would be preferable.
>>
>
> I guess it depends on how one uses the software.  The use I envision
> is for note taking while doing background reading for a project.
> First, enter a reference with org-bibtex-create, then take notes while
> reading, and finally write a summary that might later be used in the
> project document.  At this stage, org-bibtex hasn't been called, so
> the only place the key is present is in the Org-mode buffer.
> Inserting a reference then involves jumping back to the headline,
> opening the properties drawer, selecting the value of CUSTOM_ID,
> navigating back to the reference point and pasting in the key.  A
> function that collects keys and then presents them in a list like the
> one used to choose TYPE would make this process very easy.
>
> Do you mind my asking what your workflow is with org-bibtex?
>

Currently I'm just using org-bibtex to collect all of my scattered
reading notes into a single monolithic .org file, but I anticipate
dumping out .bib files from here when writing in the future.

I do see how an automated method of collecting bibtex keys, and then
offering a tab-completing insertion could be useful... I'll make a note
to this effect in my task file for org-bibtex.

Best -- Eric

>
> All the best,
> Tom
>> Thanks for the suggestions, bug reports, and examples!
>>
>> Please do let me know if any of these issues remain -- Eric
>>
>>>
>>> Here are the details of my test run:
>>>
>>> Existing bibtex entry:
>>>
>>> @Book{tuggle94:_cultur_resour_naval_air_station_barber_point,
>>>  author =    {H. David Tuggle and M. J. Tomonari-Tuggle and
>>>                  D. Colt Denfeld},
>>>  title =        {Cultural Resources of Naval Air Station, Barbers
>>>                  Point: Summary, Assessment, and Inventory Research
>>>                  Design: Task 1b: Archaeological Research Services
>>>                  for the Proposed Cleanup, Disposal, and Reuse of
>>>                  Naval Air Station, Barbers Point, O`ahu, Hawai`i},
>>>  publisher =    iarii,
>>>  year =         1994,
>>>  series =    {Prepared for Belt Collins Hawaii},
>>>  address =   {Honolulu},
>>>  month =     {December}}
>>>
>>> Org-mode tree:
>>>
>>>
>>> * Schulte bibtex
>>>
>>> ** A journal title
>>>   :PROPERTIES:
>>>   :type:     article
>>>   :AUTHOR:   A. N. Author
>>>   :JOURNAL:  Journal of Statistical Software
>>>   :YEAR:     1998
>>>   :CUSTOM_ID: author_10:article
>>>   :END:
>>>
>>> ** {Cultural Resources of Naval Air Station, Barbers
>>>   :PROPERTIES:
>>>   :TYPE:     book
>>>   :CUSTOM_ID: tuggle94:_cultur_resour_naval_air_station_barber_point
>>>   :MONTH:    December}
>>>   :ADDRESS:  Honolulu
>>>   :SERIES:   Prepared for Belt Collins Hawaii
>>>   :YEAR:     1994
>>>   :PUBLISHER: iarii
>>>   :AUTHOR:   {H. David Tuggle and M. J. Tomonari-Tuggle and
>>>   :END:
>>>
>>> Org-bibtex output:
>>>
>>> @book{tuggle94:_cultur_resour_naval_air_station_barber_point,
>>>  author={{H. David Tuggle and M. J. Tomonari-Tuggle and},
>>>  title={{Cultural Resources of Naval Air Station, Barbers},
>>>  publisher={iarii},
>>>  year={1994},
>>>  series={Prepared for Belt Collins Hawaii},
>>>  address={Honolulu},
>>>  month={December}}
>>> }
>>>
>>> hth,
>>> Tom
>>>
>>> On Apr 19, 2011, at 1:52 PM, Eric Schulte wrote:
>>>
>>>> Hi,
>>>>
>>>> In an attempt to organize my reading notes, I've written the
>>>> following
>>>> tool which allows both for exporting Org-mode headlines with bibtex
>>>> meta-data to bibtex entries, and for reading existing bibtex entries
>>>> into Org-mode headings.
>>>>
>>>> One nice feature of these functions is the ability to check that all
>>>> required fields are present in a given headline based on the bibtex
>>>> type
>>>> (e.g., :article, :inproceedings), and prompt for missing fields.
>>>>
>>>> See the top of the elisp file for more usage information.
>>>> https://github.com/eschulte/org-bibtex/blob/master/org-bibtex.el
>>>>
>>>> Cheers -- Eric
>>>>
>>>> -- 
>>>> Eric Schulte
>>>> http://cs.unm.edu/~eschulte/
>>>>
>>>
>>>
>>
>> -- 
>> Eric Schulte
>> http://cs.unm.edu/~eschulte/
>
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



reply via email to

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