Git Product home page Git Product logo

ebib's People

Contributors

akoehn avatar epipping avatar galaunay avatar hugo-heagren avatar ilupin avatar joostkremers avatar juanjosegarciaripoll avatar kindlyrepeat avatar konubinix avatar lamberta avatar spwhitton avatar swflint avatar sykloid avatar syohex avatar tarsius avatar thblt avatar thefool32 avatar tshu-w avatar tsproisl avatar tumashu avatar vonfry avatar xmacex avatar yyr avatar zyxir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ebib's Issues

ebib-reload

I'm really not trying to spam your issues list, I've just been fiddling with ebib today and this the easiest place to contribute. Feel free mark them off as you see fit :)

Since my bib file is shared between another program and edited by hand, I need to reload it within ebib to view the updated changes. With file pre-loading set up, I'm using the following command to reload everything. It's a bit of a hack, but may help someone out there.

In my .emacs:

(eval-after-load 'ebib
  '(progn
     (defun ebib-reload ()
       (interactive)
       (ebib-quit)
       (ebib)
       (message "Reload: %s" (current-message)))

     (defadvice ebib-reload (around stfu activate)
       (flet ((y-or-n-p (&rest args) t))
         ad-do-it))

     (define-key ebib-index-mode-map (kbd "r") 'ebib-reload)))

ebib few usability questions

I am not aware of implementation details. But It seems ebib interface is forcing user to act its way.

Few observations

  • I dont know why c-x b is undefined when I am ebib-entry buffer.
  • ebib-entry buffer does have j , k (like vim) for navigation up and down. I guess it would be good if you can add n,p also more intutive for emacs users. (which are undefined at the moment)
  • (may be related to 1st question) It seems ebib wants to keep window configuration intact, which is IMHO not so emacsy way. I guess it should allow user to switch buffer any time. (may be it can cache the window configuration somewhere)

Thanks

A very non-exciting problem

Hitting "end" in the ebib summary buffer yields the following error: "Symbol's function definition is void: ebib--goto-last-entry." That is because it should be mapped to "ebib-goto-last-entry" with a single dash as "G" is correctly mapped to. Thanks for ebib: it is very useful!

Filter recently added entries

When researching a topic I often download 10-20 papers and add them to my library. Since this papers are related, I would like to add some keywords to all of them. However, without the keywords, the only way to group them is with the aid of the timestamp field.

To this end, I have implemented a way to filter entries that were added in the last N days. It requires a custom ebib-timestamp-format that includes the string %jd, that is, the day of the year the paper was added to the library, followed by the letter d. This way, there is no need to bother with date arithmetic.

@joostkremers I was thinking it would be great to have the possibility of pressing F + a number, passing the number to ebib-filter-n-days. Do you know if that is possible?

Trailing comma confuses ebib

ebib is okay with this

@article{key,
  author = {A},
  title = {B}
}

but complains loudly about this

@article{key,
  author = {A},
  title = {B},
}

(note the trailing comma on the title line. This is annoying because the perl module Text::BibTeX writes such files.

Wrong import for crossreferenced entries

Hello there. I have the following entries in a .bib file:

@proceedings{DBLP:conf/nldb/2005,
editor = {Andr{\'e}s Montoyo and
           Rafael Mu{\~n}oz and
           Elisabeth M{\'e}tais},
title = {Natural Language Processing and Information Systems, 10th
           International Conference on Applications of Natural Language
           to Information Systems, NLDB 2005, Alicante, Spain, June
           15-17, 2005, Proceedings},
booktitle = {NLDB},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
volume = {3513},
year = {2005},
isbn = {3-540-26031-5},
bibsource = {DBLP, http://dblp.uni-trier.de}
}

@inproceedings{DBLP:conf/nldb/CimianoV05,
author = {Philipp Cimiano and
Johanna V{\"o}lker},
title = {Text2Onto},
booktitle = {NLDB},
year = {2005},
pages = {227-238},
ee = {http://dx.doi.org/10.1007/11428817_21},
crossref = {DBLP:conf/nldb/2005},
bibsource = {DBLP, http://dblp.uni-trier.de},
url = {http://pub.uni-bielefeld.de/download/2497680/2526178},
keywords = {text2onto}
}

but in the Ebib database entry for the proceedings I just see type, title, year, editor, publisher. And if I try to edit the editor field I got an error saying Invalid buffer. Is my .bib file wrong?

Crossref'ed files cannot be opened

If one entry A crossrefs another B, the contents of B's file field are shown for A. This is quite handy (e.g. If I have a PDF for some proceedings but no separate PDFs for all the articles). Unfortunately, hitting f on entry A does not open the file from B.

I think it'd be useful if it did.

mapcar: Symbol's value as variable is void: db

Dear Joost,

thanks for fixing the last issue so quickly.

I have another one:
When trying to apply a filter (any kind of filter) I get the following error:
Symbol's value as variable is void: db

This is with version 20141127.1419.

Best, Michael

Abstract in several lines

Hello. Is there some options to allow the item of 'abstract' in a article to be displayed in multiple lines? I think this could be a great help for me to recall the main idea of a paper quickly. And in the searching process, keywords which should be highlighted in 'abstract' are usual invisible cause the long sentence be omitted.
Thanks.

Divide the screen in horizontal not vertical

Is there any way in ebib to arrange the 'bib entry' window and 'item message' window in horizontal direction (e.g. place them in left and right of the screen respectively) not vertical ?
Thanks.

Make filter history distinguish between key and value

Currently, if I create a filter for the "author" key and the value "Einstein", and then create another filter, when entering the new key and value, I'll be able to select both "author" and "Einstein" for the key and the value from history (using the arrow keys)

It would make more sense to be able to complete on "author" for the key and "Einstein" for the value only. In other words, there should be two lists of history rather than one.

BibTeX entry with no key

I tried to import the BibTeX citation for an article from Communications in Mathematical Physics and ebib failed because the BibTeX entry has no key. I suggest that in case this happens, ebib should auto-generate a key.

Use ebib-filename-separator for all multiple value fields

I think for the sake of consistency, ebib-filename-separator should be used for all fields that can take multiple values. I'm thinking about the url field in particular, but there's probably multiple fields where this applies. (Without thinking I entered a second url using a semicolon separator, and found the link broke since it was using the space deliminator.) Maybe it should just be ebib-entry-separator?

Org-link to ebib entry not working

I did not have the need to insert a link to an ebib entry for a while. Now I used ebib-insert-bibtex-key selecting ebib as command, in order to create a link to an ebib entry in org-mode. When I open the link, ebib opens a blank bibtex-key.bib file, which obviously does not exist. What am I doing wrong?

Edit keywords directly

In the doc string for ebib-edit-field it says: "With a prefix argument, the keyword field and the field in ebib-standard-file-field can be edited directly." I tried with ebib's prefix ;, with C-u N and M-N, where N is a number, to no avail. How then it is supposed to be done?

Backup files

Is there an option to disable backup files for databases, or move them to another directory, like backup-directory-alist?

ebib-init choke on empty keywords file

Pulled the latest from master and I'm getting an error (stack trace below) when running M-x ebib. It looks like the offending line is ebib.el:1776, function ebib-init, in the call to file-name-directory, the value of ebib-keywords-file is nil and causing it to choke.

In ebib-init:

  (if (file-name-directory ebib-keywords-file) ; returns nil if there is no directory part
      (add-to-list 'ebib-keywords-files-alist (list (file-name-directory ebib-keywords-file)
                                                    (read-file-to-list ebib-keywords-file) nil)))

Debug trace:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  file-name-directory(nil)
  (if (file-name-directory ebib-keywords-file) (add-to-list (quote ebib-keywords-files-alist) (list (file-name-directory ebib-keywords-file) (read-file-to-list ebib-keywords-file) nil)))
  ebib-init()
  (if ebib-initialized nil (ebib-init) (if ebib-preload-bib-files (mapc (function (lambda (file) (ebib-load-bibtex-file (locate-file file ebib-preload-bib-search-dirs)))) ebib-preload-bib-files)))
  (if (member (window-buffer) (mapcar (function cdr) ebib-buffer-alist)) (error "Ebib already active") (setq ebib-push-buffer (current-buffer)) (if ebib-initialized nil (ebib-init) (if ebib-preload-bib-files (mapc (function (lambda (file) (ebib-load-bibtex-file (locate-file file ebib-preload-bib-search-dirs)))) ebib-preload-bib-files))) (let ((index-window (get-buffer-window (cdr (assoc (quote index) ebib-buffer-alist))))) (if index-window (select-window index-window) (ebib-setup-windows))) (if arg (progn (if (string= (file-name-extension arg) "bib") (ebib-load-bibtex-file (expand-file-name arg)) (let ((exists\? (member arg ...))) (if exists\? (progn (progn ... ...) (save-current-buffer ... ... ... ...)) (message "No entry `%s' in current database " arg)))))))
  ebib()
  call-interactively(ebib record nil)
  command-execute(ebib record)
  execute-extended-command(nil "ebib")
  call-interactively(execute-extended-command nil nil)

Maintain order

Until commit 9d3174b, I could take a file with the contents


@article{A,
        author = {authorA},
        title = {titleA}
}

@article{B,
        author = {authorB},
        title = {titleB}
}

Open it, make a dummy edit (e.g. edit "type" but set it to the same type as before), save and have the file unchanged. Two commits later, at 727bd28, when I do the same, the file changes into


@article{A,
        title = {titleA},
        author = {authorA}
}

@article{B,
        title = {titleB},
        author = {authorB}
}

The order of the entries is unchanged, but the keys have been reversed. Now this would not be so bad; I don't care which way my keys are sorted. The story doesn't end here, though. If you now close ebib, open it again, and do as before, you will arrive at the original file.

In other words: ebib always reverses the order of keys. If you do it twice, you naturally obtain the original order back. This is of course undesirable, especially in conjunction with version-controlled bibtex files.

A simply hack to restore the old behaviour is to mapc over (reverse entry) rather than entry in ebib-format-key. This is note a fix, though.

(I'm mostly saying this to myself): When a bibtex file is read, its entries are stored, field by field (in the usual order), through repeated calls to ebib-db-set-field-value, which calls ebib-db-set-entry, which in turn calls puthash.

Since in a hash, order is not generally maintained, it will not be possible to guarantee that the input and output order are the same. It would be possible that ebib at least always writes entries in the same order, though, if entries were sorted on writing.

Not able to search multiple bib files when opening org link?

My bibtex entries are scattered in multiple bibtex files. When I try to open ebib link in org-mode, seems that ebib is not able to automatically search these files, even if they are set in ebib-preload-bib-files, or even already open.

It's only when I put the right database (the one that contains the key) in front-end can ebib locate the right position.

Improperly Bound Function

"z" is bound to "ebib-leave-ebib-windows," which doesn't exist. "ebib-leave-ebib--windows" does, so either that function needs renamed or "z" needs to be remapped.

ebib cannot be compiled using emacs 23.4

The current version of emacs on Debian Wheezy is 23.4, and using that version, the current master branch of ebib cannot be compiled. There are a couple of reasons for that; some are easy to fix and others are not.

(1) cl-lib: some more aliases are needed; in particular, (defalias 'cl-first 'first) and (defalias 'cl-labels 'labels).

(2) switch-to-buffer: In a couple of places, this function is used with three arguments, e.g. (switch-to-buffer nil t t) and (switch-to-buffer buffer nil t). This version of emacs only knows of a version with two arguments. I do not know what the proper fix for this is.

(3) (delete-file ebib-filters-default-file delete-by-moving-to-trash): This function only accepts one argument in emacs 23.4.

(4) bibtex-set-dialect and read-char-choice: I was not able to find any such functions in the source code of emacs 23.4.

Zotero-like arXiv integration

One of the great features of Zotero is that with one click you get the citation and the PDF added to your library. Wouldn't it be great if ebib had this feature too?

Well, it's a reality now. Thanks to arxiv2bib, conkeror and emacsclient it takes one (emacs-ish) keystroke to accomplish the same thing. Big thanks to @nathangrigg for adding the url and file fields to arxiv2bib in order for this to work.

Here is ebib-import-arxiv. Place this file in ~/.conkerorrc. Enjoy!

@joostkremers I don't intend this to be part of ebib.el since it depends on external programs. I believe it belongs to the manual and maybe the features list. Conkeror is similar to and to some extent compatible with Firefox. So this could be of interest to Firefox users, who don't use Zotero (if they exist).

Email PDF with mu4e/gnus

Sometimes I need to send a paper to a colleague or student, for example, in advance of our journal club meeting. Since I manage both my email and my papers in emacs, it seemed natural to me to have the possibility to attach the corresponding PDF file while writing the message.

I implemented this and tested it with mu4e but it's very likely that it will work with gnus out of the box.

Wrong type argument: characterp, =key=

Dear Joost,
when trying to add a new entry I'm getting a "Wrong type argument: characterp, =key=" error.
Everthing works fine with automatic keys.
I'm using the ebib version 20141118.2257 with emacs 24.4.1

Beside that ebib is great and helps me a lot doing my work.
Thanks!

Michael

Compilation and launch errors

I get the following when installing the 2.1.0 package:

ebib.el:1106:16:Error: `add-to-list' can't use lexical var `entry-alist'; use
    `push' or `cl-pushnew'
ebib.el:1660:1:Error: Wrong number of arguments: ((t) (prompt-string insert-fn)

Then M-x ebib returns an error, with:

Eager macro-expansion failure: (wrong-number-of-arguments ((t) (prompt-string insert-fn) "Export data to a file.
PROMPT-STRING is the string that is used to ask for the filename
to export to. INSERT-FN must insert the data to be exported into
the current buffer: it is called within a `with-temp-buffer',
whose contents is appended to the file the user enters." (let ((filename (make-symbol "filename"))) (list (quote let) (quote ((insert-default-directory (not ebib--export-filename)))) (list (quote ebib--ifstring) (list filename (cons (quote read-file-name) (cons prompt-string (quote ("~/" nil nil ebib--export-filename))))) (list (quote with-temp-buffer) (list (quote funcall) insert-fn) (list (quote append-to-file) (quote (point-min)) (quote (point-max)) filename) (list (quote setq) (quote ebib--export-filename) filename)))))) 3)
Eager macro-expansion failure: (wrong-type-argument sequencep if)
load-with-code-conversion: Invalid read syntax: ")"

Highlights for Index and Entry Fields

(Regarding a change introduced a few months back, sorry.)

I'm using the Zenburn theme (a fairly popular theme, the only reason I bring it up) which has a subtler highlight face than some. In prior ebib versions there was a cursor and highlight face to indicate what field you were currently on within the index and entry buffers. Since then, the cursor has been removed leaving only the highlight. The current effect is easier to see within the index buffer since the highlight extends through all columns, however, within the entry buffer, the highlight only affects the single word of the field's first column, which can be rather difficult to see.

Personally, I liked the cursor since it was easy to see and I could jump around the buffer and cut/paste as usual. But if it's gone, perhaps add a dedicated ebib-highlight-face? Or, I'm not sure if there's a way to add a per buffer highlight face to customize? Or, maybe just extending the highlight across all columns (like in the index buffer) will make it more apparent which field is highlighted.

Package manager install error for Emacs 24.4

Hi Joost,

I upgraded my emacs to version 24.4 just to try out your new version of Ebib, particularly upon discovering you'd added Biblatex support. Alas, when I attempt to install Ebib.el 20141128.1236 from within package.el I get the message:

Package 'Emacs-24.3' is unavailable

at which point it stops. I presume this is because of the later version of emacs (24.4) which isn't specifically listed amongst those required. This may relate to how in what seems to be the latest version of package.el they still have the todo:

;; - Allow something like (or (>= emacs 21.0) (>= xemacs 21.5))
;; [ currently thinking, why bother.. KISS ]

I also installed Dash as required (again a later version than that specified as a requirement). I presume this won't create the same problem (although it didn't get that far).

Anyway, thanks to your excellent manual, I was able to install it manually.

Thanks for what looks like being a really useful package.

Peter

Error creating first new entry in new database

Currently, if a bib file is not preloaded, the message buffer will print: ebib-dbstruct-cur-entry accessing a non-ebib-dbstruct. Unsure of the intention, but is a bit cryptic as a welcome message :)

There seems to be a problem when creating the first entry in a new database:

  1. Type 'o' (open database)
  2. Select file to open
  3. Type 'a' (add entry)
    • Message buffer displays: Ebib: entry nil' does not exist`
    • Nothing is displayed in index or entry buffer.
  4. Type 's' (save database)

At this point the bibtex file contains a single empty entry. If reloaded, it will display correctly and subsequent new entries are added correctly.

Maintain order #42 - again

Hi,

Thanks for your great work! I use ebib almost every day (in combination with helm-bibtex). Unfortunately it seems issue 42 has crept back in - so I need to save twice every time with a dummy edit in between.

Thanks
Peter

Install error with elpa at Org-mode 7.9.3f and Emacs 24.3

Ebib doesn't work for me. When I am trying to activate (M-x ebib) I am taking the eval-buffer: Required feature ebib-utils' was not provided` error, because when I'm trying to install ebib with melpa I'm taking the following errors at the install:

Leaving directory `/Users/ari/.emacs.d/elpa/ebib-20140207.857'
Compiling file /Users/ari/.emacs.d/elpa/ebib-20140207.857/ebib-db.el at Sun Feb  9 18:07:20 2014
Entering directory `/Users/ari/.emacs.d/elpa/ebib-20140207.857/'
ebib-db.el:48:1:Error: Required feature `ebib-utils' was not provided
Compiling file /Users/ari/.emacs.d/elpa/ebib-20140207.857/ebib-filters.el at Sun Feb  9 18:07:21 2014
ebib-filters.el:56:1:Error: Required feature `ebib-utils' was not provided
Compiling file /Users/ari/.emacs.d/elpa/ebib-20140207.857/ebib-keywords.el at Sun Feb  9 18:07:21 2014
ebib-keywords.el:51:1:Error: Required feature `ebib-utils' was not provided
Compiling file /Users/ari/.emacs.d/elpa/ebib-20140207.857/ebib-pkg.el at Sun Feb  9 18:07:21 2014
Compiling file /Users/ari/.emacs.d/elpa/ebib-20140207.857/ebib-utils.el at Sun Feb  9 18:07:21 2014
In ebib-locate-bibfile:
ebib-utils.el:84:53:Warning: reference to free variable
    `ebib-bibtex-extensions'
In ebib-called-with-prefix:
ebib-utils.el:258:39:Warning: reference to free variable `ebib-prefix-key'
In ebib-get-obl-fields:
ebib-utils.el:311:28:Warning: reference to free variable `ebib-entry-types'
In ebib-get-opt-fields:
ebib-utils.el:315:28:Warning: reference to free variable `ebib-entry-types'
In ebib-get-all-fields:
ebib-utils.el:322:24:Warning: reference to free variable `ebib-additional-fields'
In ebib-cur-entry-key:
ebib-utils.el:337:34:Warning: reference to free variable `ebib-cur-db'
In end of data:
ebib-utils.el:347:1:Warning: the function `ebib-db-get-current-entry-key' is not known to be defined.
Compiling file /Users/ari/.emacs.d/elpa/ebib-20140207.857/ebib.el at Sun Feb  9 18:07:22 2014
ebib.el:70:1:Error: Required feature `ebib-utils' was not provided

Thanks in advance for your reply

BibTeX entry with newline character in Title property

The other day I tried to import an entry with the following Title property:

Title = {On Parametrization of the Linear GL(4,C) and Unitary SU(4) Groups in Terms of Dirac Matrices},

There's a newline character after in (use Emacs' whitespace-mode).

Ebib complained this is an invalid entry. I presume the regexp used to extract the content of a property does not include the newline character. Perhaps it would be a good idea to sanitize an entry instead of rejecting it. I would think that a newline character should be expected only after a closing brace followed by comma and after the BibTeX key.

Add keyword to marked entries

Adding the same keyword to different entries one at a time is very inefficient. Entries can be marked and using the prefix an action can be applied to all marked entries.

Now it is possible to add a keyword to all marked entries. Just press ;y.

type filter

Creating a filter using '&' and selecting the field 'type' yields an empty list, regardless of what I enter (even with a '.', which should match anything).

Is there a way to view only books?

Edit entries in virtual-db

I have this situation. I filtered the database using a keyword to define a broad subset of the papers. Now I want to create subsets of this subset. The only way to do it currently is to write the virtual database to a file. But then I would have to merge it with the original database. I find this procedure rather cumbersome.

I modified the code so that I could press e while in a virtual-db. I could edit the entry but could not save the database, because the flag that signals a change was not set. So it seems to me that the imposibility to modify a virtual-db is part of the design of ebib. I would like to know the reason.

Browse for file path

When editing an entry to associate an external file with the file field, it's often difficult to remember the exact location and name of the file path. It would be more usable to allow browsing to the file in the minibuffer using the find-file interface and return the path.

It would also be helpful to designate which fields denote file paths (and hence allow file browsing), since I often associate optional notes files with my entries.

This feature request may overlap with ebib-file-search-dirs, but I was unable to get that working as I imagined it.

Enjoying ebib so far, thanks!

Filtered database cannot be closed

If I apply a filter to a database and press c in the corresponding buffer, I get

ebib-keywords-new-p: Wrong type argument: stringp, nil

Help with using multiple .bib files

I would like to use different databases for articles, books, thesis, etc. So I customized the variable ebib-preload-bib-files to point to the corresponding files. However, when I try to load ebib I get the error message Wrong type argument: hash-table-p, nil.

Also, is there a way to choose which database to show by default, even though the others are also loaded?

Thanks.

Update: I want to point out that thesis.bib is initially empty. I tried using it as the sole database file and I get no errors when opening ebib. However when I try to create an entry, I get the above error.

entries not recognised

ebib expects the name of an entry (what is refered to in ebib as the
keyname) to match the regex `ebib-bibtex-identifier'. That regex forbids
parentheses.

I have some bibtex entries whose names contain parentheses, though. They
are handled like any other entry by bibtex and auctex. ebib just ignores
them (in particular, it will remove them upon saving!).

Is there a bibtex spec somewhere; how do I know what's valid in a name?
Aren't parentheses?

I originally posted this as http://sourceforge.net/p/ebib/bugs/1/

Empty files make ebib behave weirdly

Steps to reproduce: Open a file A which either does not exist or exists and is empty
Result: The name of the file is still the name of the previously visited file.

Moreover, if you switch to another buffer B and back to A, it will show the name B as well as any filters that B has; in other words, the "view" is not updated at all.

Once a single entry is added to A, the problem disappears.

Link to ebib entry in org mode

Following a great suggestion from ebib's manual I came up with a function to automate the process of creating a link to an entry in ebib from my notes file in org-mode.

(org-add-link-type "ebib" 'ebib)
(defun org-ebib-link ()
  (interactive)

  (let* ((collection (edb-keys-list ebib-cur-db))
     (org-ebib-key (completing-read "Select key: " collection)))
    (insert "[[ebib:" (format "%s" org-ebib-key) "][" org-ebib-key "]]")))

Open file in dired

It would be very useful to be able to open a file in dired-mode. For example, to attach it to an email or copy it to an USB drive. Is there currently a way to do it?

typo in ebib.info 1078:(org-add-link-type "ebib" 'ebib-open-org-link)

Thanks for creating this great package!

I found a bug in ebib.info (or ebib.el)

ebib.info:
1078:(org-add-link-type "ebib" 'ebib-open-org-link)
The function name is actually defined as
ebib.el:
424:(defun ebib--open-org-link (key)
Notice the '--' instead of '-'

I suggest changing the function name to be 'ebib-open-org-link' (one dash), because two dashes represent package-internal functions, which this is clearly not -- although that will be a backwards incompatible change.

BibTeX entry with empty field

Some BibTeX citations downloaded from journals include an empty field such as

year = "1967",
eid = ,
pages = "962-982",

After importing to ebib, the .bib file reads

year = "1967",
eid = pages = "962-982",

which results in an error when running BibTeX.

Implementation of saved searches

ebib sports terrific filtering options, however I find it frustrating to not be able to save a search for frequent use. The reason why I abandoned Zotero and JabRef in favor of ebib is because I find it much easier to add functionality to a program which runs in emacs.

So here it is. Based entirely on part of the code for bookmarks in emacs. Needs only a file containing (). I hope it gets merged soon.

EDIT: The relevant functions are ebib-load-filter, ebib-save-filter and ebib-rename-filter

Ebib doesn't find key at startup

If Ebib isn't started then (ebib nil key) won't find the KEY because
ebib-cur-keys-list isn't filled yet.

This patch fix this by running ebib-fill-index-buffer
before it tries to find the key.

From d9546768c50a398d74c7a2fa1eddf7fbb317ae83 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9goire=20Jadi?= <[email protected]>
Date: Thu, 13 Mar 2014 11:05:40 +0900
Subject: [PATCH] * ebib.el (ebib): Fill the index buffer before trying to find
 a key.

This is require in case you look for a particular entry in Ebib before it
started. A use case for this are Org Mode's hyperlinks.

---
 ebib.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ebib.el b/ebib.el
index 7cca96f..5ee9071 100644
--- a/ebib.el
+++ b/ebib.el
@@ -385,6 +385,7 @@ loaded, switch to it. If KEY is given, jump to it."
   ;; See if we have a file and/or a key.
   (if file
       (ebib-load-bibtex-file-internal (ebib-locate-bibfile file (append ebib-bib-search-dirs (list default-directory)))))
+  (ebib-fill-index-buffer)
   (if key
       (ebib-find-and-set-key key (buffer-local-value 'ebib-local-bibtex-filenames ebib-buffer-before)))
   (ebib-redisplay))
-- 
1.8.0.2722.gc0242e5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.