emacs-humanities
[Top][All Lists]
Advanced

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

Re: [emacs-humanities] How do you use Ebib?


From: Göktuğ Kayaalp
Subject: Re: [emacs-humanities] How do you use Ebib?
Date: Sat, 13 Mar 2021 19:37:11 +0300

On 2021-02-28 14:26 +01, Joost Kremers <joostkremers@fastmail.fm> wrote:
> Hi Göktuğ,

Hello Joost,

sorry for the long silence, I couldn’t find the time to read and respond
in the last couple of weeks.

> On Sun, Feb 28 2021, Göktuğ Kayaalp wrote:
>> * The behaviour of C-x b was fairly surprising. When I remove the
>>   binding it errors because the windows are dedicated windows, which I’m
>>   fine with.
> Still, it's not the best solution... There was so much that I didn't know 
> about
> Emacs and programming in general when I started Ebib that I made some bad
> decisions in the design. It would be much better if Ebib's windows were
> completely controllable through `display-buffer-alist`.

FWIW in the last couple of weeks I’ve got into the habit of not keeping
ebib open all the time and just opening it up when I need it. The
modifications I talked about my previous message and ebib-layout were
enough to make quitting out of ebib when it only uses one window non
destructive to the window layout and it’s working nice.

>> * ‘ebib-lower’ was an unexpected behaviour when using ‘f’ (it appears in
>>   appears some other functions where it does make sense), so I made this
>>   little modification in ‘ebib--call-file-viewer’:
> This sounds like a good idea. It might even be possible to make `ebib-lower` 
> the
> default value of `ebib-file-view-function`.
>>   If you like the idea I could make a PR for it.
> Yes, I'd appreciate that.

OK, I’ll be sending one in a couple weekends.

>> * I *love* that ‘ebib-layout’ is a thing!  Rmail really botches this
>>   with summary windows, it’s basically impossible to customise the way
>>   Rmails windows behave without rewriting it.
> That was at the request of a user. It was the first time I learnt about
> display-buffer and friends. Actually, it felt more like display-buffer and
> accomplices... I didn't get things entirely right that time. There were subtle
> bugs that weren't discovered until years later. ;-)

Normal with UI code TBH, some interactions are pretty hard to
test/predict.

>> On 2021-02-26 19:29 +01, Joost Kremers <joostkremers@fastmail.fm> wrote:
>>> I thought I had added a command for it, but I just went back to check and I
>>> couldn't find anything either... It's easy to do, however, by editing the 
>>> .bib
>>> file directly. There's an @Comment in there somewhere near the top that says
>>> "ebib-main-file: " followed by the main file's file path. Remove that 
>>> comment
>>> and (re)load the .bib file.
>> I suppose that would work for converting existing bib files that are
>> strict subsets of some other bib file to a dependent one?
> Yes, you could simply add that comment and open the file in Ebib. Entries that
> are not in the main file won't be read (and will be lost on save!), but you 
> will
> get a warning about them in the log buffer, so you can check if everything's 
> OK.

Thanks!

>>>>     (defun ebib-set-bibtex-dialect (dialect)
>>> I've been going by the idea that a user might want to configure the dialect 
>>> for
>>> bibtex.el and Ebib separately, which, I admit, is unlikely....
>> I’d say most often you’d want the same values, but I’ve only scratched
>> the surface so far. If you wish I can send the above as a PR as well.
> Yes, feel free.

Ditto.

>> That’s nice to know, thanks! I think I’ll leave my existing notes for
>> later but I can use this with new notes.
> Note that the template isn't a proper Org capture template. That's something 
> I'd
> like to implement some day, because it would mean you can customise where
> exactly you want to put your notes. Currently, Ebib just puts the note at the
> end of the notes file.

I see that in the most recent release you’ve made changes to this
functionality. I’ve sadly not yet gotten to try it out, but if you are
interested I can provide feedback on my experience if/when I get to it.

>>> One thing I wanted to add is that Ebib has a reload command. So if some 
>>> other
>>> plug-in adds entries to your `.bib` file, you only need to press `r` in 
>>> Ebib to
>>> see them.
>> Thanks! I wouldn’t have found this! FWIW, I’d expect this to be bound to
>> ‘g’, like in Dired, Rmail, etc.
> Yeah, I guess that would make sense... I'm too much used to `g`/`G` for
> `beginning|end-of-buffer` to change that, though. (Don't ask me where I got
> those from, though. Initially, some of Ebib's key bindings were inspired by
> mutt, which, unbeknownst to me at the time, were inspired by vim's. For the
> longest time, j/k used to move down/up. :-D But mutt doesn't use `g`/`G` in 
> this
> way.)

:) interesting bit of history.  I used mutt a lot too, great piece of
software. Later on in order to modernise how I do email, I’ve switched
to.. Rmail [*], of all the popular options :-P

[*] https://cadadr.dreamwidth.org/828.html

On 2021-02-28 23:10 +01, Joost Kremers <joostkremers@fastmail.fm> wrote:
> One thing I meant to add here: The easiest way to convert a database from a
> dependent to a normal one is by going through the .bib file. Once a dependent
> database is loaded into Ebib, its basically just a list of keys. In order to
> turn it into a normal database, you'd have to copy over all the data from the
> main database. That's not very difficult, but the code would have to be 
> written.
>
> A simpler solution would be to add an argument to
> `ebib--format-database-as-bibtex` that would cause it to forego writing the
> "main database" comment. Or save the database and then reload it, ignoring the
> "main database" comment. (`ebib–bib-read-entries` already has an argument
> `not-as-dependent`, a function similar to `ebib-reload-current-database` could
> make use of it.)
>
> OTOH from a UI perspective it might not be the prettiest solution...

Hmm. Providing a generic command for this can be difficult and/or
somewhat dangerous then. I hadn’t thought about cases where the .bib
that will be converted is not a strict subset of the one that it will
depend on.  In my own case I’ve started converting databases that I made
dependent into chechbox lists in Org mode, but in any case if I do end
up needing to do this again and manage to write a command, I’ll send it.


Thank you soo much! You’ve been so helpful!

All the best,

    -Göktuğ.

P.S. I think I encountered your name in the preface to
Gussenhoven&Jacobs’ ‘Understanding Phonology’!  Glad to learn you’re a
fellow linguist, if that’s not another person with the same name.



reply via email to

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