Re: [Ebib-users] mastersthesis
Brought to you by:
joostkremers
From: Joost K. <joo...@fa...> - 2011-09-07 12:20:01
|
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'. 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. -- Joost Kremers Life has its moments |