How to create a group based on readstatus (To be read)

Hello folks,
I want to create the grouping by readstatus shown on the JabRef hompage and docs.

spaces_-Lr3JU9j9iSUW8RYz1hD-2910905616_uploads_git-blob-53220300da89462f09c386d4985e70c379c05190_groups-interfacewhole-jabref5.2

I already created a static group By Status and the two groups Skimmed and Read using “Collect by searching for a keyword” which are working

What troubles me is how to set up a group that selects entries with an empty readstatus field.
I tried to use a regular expression ^$ which should select empty strings but that doesn’t work.

Any ideas?
Thanks!

I haven’t found a solution yet. Has someone else tried to achieve this ?

Hi Carlos!
I just started learning JabRef and was struggling with the exact same problem.

Quick answer:
image

I just found this solution by inspecting the library file and reading JabRefs documentation about using a free-form search expression.

By selecting a read status, a parameter is added to your entry in the .bib file which will look like this:

@InProceedings{keyword,
  author     = {...},
  title      = {...},
  year       = {...},
  readstatus = {skimmed},
}

The status will be either “skimmed” or “read”. If nothing is selected, the parameter doesn’t exist.
So to create a free-form search, where every unread entry is included, you have to filter entries that do NOT have the status “skimmed” AND do NOT have the status “read”:

not readstatus=read and not readstatus=skimmed

I hope this is useful to you :blush:

2 Likes

Thank you so much! I was not sure how to do it and your solution is perfect and works (i tried it).

For anybody wondering how to easily attach the read-status “read” or “skimmed” to entries, apart from manually typing it into the library file:

  • Either left click within the entry table into this column:
    image

  • or right-click an entry and select it in the ensuing menu:

A future feature request would be to have other triggers that automatically assign the read status, e.g. after having the entry added to a specific group.

This here is a perfect example for how “labels” (with readstatus=read being something similar to a label attached to an entry) can enhance the group functionality.

Thank you, i got inspired! :slight_smile:

2 Likes

I changed to title of the thread so that other people can find the solution more easily when searching for it in the forum.

1 Like