Re: [Ebib-users] mastersthesis
Brought to you by:
joostkremers
From: <ts...@ts...> - 2011-09-07 16:21:11
|
Hi Joost, Joost Kremers <joo...@fa...> writes: > Hi Tom, > > On Tue, Sep 06, 2011 at 05:11:26AM -1000, Thomas S. Dye wrote: >> Joost Kremers <joo...@fa...> writes: >> > Could you send me a copy of the relevant .bib file and also a list of the Ebib >> > customisations you made? TBH, I haven't got a clue what might be going on, but >> > I'll try and figure it out. :-) >> >> Here are the ebib entries in custom.el: >> >> '(ebib-file-associations (quote (("pdf" . "/Applications/Skim.app/Contents/MacOS/Skim") ("ps" . "/Applications/Preview.app/Contents/MacOS/Preview")))) >> '(ebib-file-search-dirs (quote ("~/Desktop/reprints/"))) >> '(ebib-insertion-commands (quote (("cite" 1 nil) ("citep" 1 nil) ("citet" 1 nil)))) >> '(ebib-preload-bib-files (quote ("/Users/dk/Public/projects/bibliography/bib/bib/tsd.bib"))) > > These shouldn't have any effect on how the .bib file is saved, so... > >> I've attached the .bib file after a save with ebib (so the 'type' field >> is added to @mastersthesis). > > Thanks. However, there doesn't seem to be anything in the .bib file that causes > your problem. If I load it, change something, save it, then manually remove the > 'type = {masterstesis}' fields from the bib file and reload it, change something > else, then save it, the type fields are not there. > > Ebib stores each entry in a hash table, where each field name is a key. There is > a special key 'type*' (note the asterisk) that stores the entry type (article, > book, mastersthesis, etc.) This type* key is not saved as a field into the bib > file, but (obviously) as the entry type (@book, @article, etc.) But if for some > reason the key 'type*' in the hash table is replaced with a key 'type', then > Ebib will save it as a normal field. > > The one thing I cannot figure out, though, is how this key 'type' is created. > And why it only happens with the mastersthesis entries. That to me just doesn't > make any sense. > > Does this happen with a completely fresh Emacs session as well? What if you > start Emacs with: > > $ emacs -Q -l /path/to/ebib.el > > then start Ebib with 'M-x ebib'. This works as you describe it. There is no extraneous 'type' field added during the save operation. > > What happens if you start Emacs and Ebib this way, then load the relevant .bib > file (with the 'type = {mastersthesis}' lines removed), lower Ebib again, then > type 'M-x ielm' (to get an interactive Elisp prompt) and at the prompt type > (copy/paste) the following: > > (gethash "wilson76:_o_posses_marker_hawaiian" (edb-database ebib-cur-db)) > > That should show some info about the hash table that stores the relevant entry, > together with a list of all the fields. There shouldn't be a type field there. > If there is, there's definitely something weird going on. There is no type field there. So, it must be a customization (sigh). I'll keep my eye on this and let you know if I track down the culprit. In the meantime, thanks for looking into the mystery. I'm getting addicted to ebib. With a little practice, it is an easy and efficient way to manage bibliographies. All the best, Tom -- T.S. Dye & Colleagues, Archaeologists 735 Bishop St, Suite 315, Honolulu, HI 96813 Tel: 808-529-0866, Fax: 808-529-0884 http://www.tsdye.com |