Help on using Groups

Accessed from the Groups interface in the side pane. The Groups interface can be enabled and disabled by pressing SHIFT-CTRL-G.

Groups is a feature that allows you to organize your bibtex database into logical groups. Groups are very simply implemented; once you select one or more groups, JabRef checks a single field per group (defined by the groups' definition) if it contains the group's regular expression, and shows you either the entries belonging to all selected groups (intersection of groups), or the entries belonging to any of the selected groups (union of groups).

The choice All entries will always top the group list. Click on this choice to deselect other groups. Your selected groups will also be deselected if you close the groups interface.

Since your group definitions will be database specific, they are saved in your .bib file. This information will be contained in a bibtex @COMMENT block, which is ignored by the bibtex program. Changing the contents of this block manually may (of course) cause your group definitions to be lost or changed.

Different ways of using groups

Grouping might seem a little confusing at first. It is made the way it is to ensure as much flexibility as possible:

If you want your grouping to be transparent, you can define your groups using a non-standard field name such as 'supersnill' or anything else, and just use the Add to group and Remove from group functions to assign entries to groups.

However, if your database already has suitable keywords defined, you might want to define some groups using the 'keywords' field, and your database might already be grouped for you.

A third option is to define some groups with ordinary fields - for instance to define quick searches for specific authors that are important to your work. If you do this, you should avoid using the Add to group and Remove from group functions, since you presumably don't want the field to get modified. You will get a warning if you try this.

Viewing and searching in groups

To view the entries in a group, click the group name. When the groups interface has keyboard focus, you can switch between groups using arrow keys UP and DOWN. Using SHIFT and CONTROL, you can select several groups at the same time. The checkboxes Intersection and Union determine how a selection of multiple groups is handled.

Note that showing a group is in fact an action similar to a search. This means that if you add new entries to a group, you'll have to repeat the search before the entries can be displayed as part of the group. E.g. you need to reselect your current groups, or click the Refresh button.

Grouping can be combined with ordinary searches; all searches will be restricted to the entries determined by your group selection. While a search is active, you can switch groups or show all entries, and the table will update to show the matches within the current group selection.

You can at any time export a bibtex database containing only the entries in your currently shown groups and/or search, by choosing File -> Save special in the menu.

Creating a new group

To define a group, press the New group button in the groups interface. A dialog will appear, where you can fill in a group name, a regular expression, and a field name. The field name will be set to a default value that can be changed in the Preferences dialog. To finish the creation of your new group, press ENTER in one of the text fields, or click Ok. To exit without creating the group, press ESCAPE or click Cancel.

Modifying an existing group definition

To modify an existing group definition, double-click the group name in the groups interface, or right-click it and choose Modify. The same dialog used to create new groups will appear, allowing you to modify the group's name. The field name and regular expression cannot be changed after the group has been created (this restriction will probably be lifted once we get around to implementing a method that can update the group's entries for you, to avoid the entries falling out of the modified group).

Adding entries to a group

An entry's membership in a group is decided by whether there is a match to the group's regular expression in the specified field of the entry. So, to add an entry to a group, you must simply make sure this is the case.

Instead of editing the field manually, you can select the entries you wish to add, and right-click to bring up the context menu. In the menu choose Add to group and then the correct group, and the entries not already in the group will be edited for you.

Removing entries from a group

The same principle as for adding entries applies to removing them. Remove any matches for the group's regular expression from the specified field, or use the Remove from group function.

Removing a group

To remove a group, right-click it and choose Remove. You will be asked to confirm this action.