Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
To customize entry types, select the menu Options → Customize entry types.
When customizing an entry type, you both define how its entry editor should look, and what it takes for JabRef to consider an entry complete. You can both make changes to the existing entry types, and define new ones.
Note that no modifications you make in this dialog will be stored until you click Apply. If you click Cancel or simply close the dialog, unapplied changes will be lost.
The entry customization dialog is divided into two areas. On the left side all entry types (including any custom types) are listed. If you select a type from the left side, the right area shows all fields for the selected entry.
The currently available entry types are listed in the left panel.
To add a new entry type, you must enter a name for it in the text field below the type list, and click Add. The new entry type will be added to the list, and selected for modification.
To remove a custom entry type, select it and click the trash icon. This operation will only be available for custom entry types that are not merely modifications of standard types. It is not possible to remove a standard entry type. While it's possible to remove them in the dialog, they will be readded on reopening the dialog.
When an entry type is selected, the current required and optional fields are listed on the right. A radio button indicates and allows to change the field's type from required to optional and vice versa.
To add a new field, edit the text field below the list, or select a field name from the dropdown menu, then click Add. The chosen field name will be added at the end of the list.
To remove a field select it in the list and click the trash icon to remove it.
To change the order of the fields you can use drag and drop.
Certain entry types have an either-or condition in their required fields. For instance, a book entry is complete with either the author or the editor field, or both. To indicate such a condition in a custom entry type, you should add a field named as the set of alternative fields separated by slashes, for instance author/editor indicates the condition mentioned above for the book entry type.
You can add an arbitrary number of tabs to the entry editor. These will be present for all entry types. To customize these tabs, go to Options → Set up general fields.
You specify one tab on each line. The line should start with the name of the tab, followed by a colon (:), and the fields it should contain, separated by semicolons (;).
For example:
will give one tab named "General" containing the fields url, keywords, doi and pdf, and another tab named "Abstract" containing the fields abstract and annote.
The entry preview is created using the same mechanism as used by the Custom export filter facility. When previewed, an entry is processed using one of the two alternative layouts (you can switch between the two layouts by pressing F9) to produce HTML code which is displayed by the preview panel. To modify the appearance and contents of the preview you need to edit the preview layouts using the syntax described in the help file on Custom export filters.
JabRef can be configured in various ways.
This feature is available through Options → Customize key bindings.
You can reset the key bindings to default by pressing the "Default" button. This is especially useful when upgrading from a JabRef version before 3.8.2.
Strings can be edited by BibTeX → Edit strings or pressing a button in the toolbar.
Strings are the BibTeX equivalent to constants in a programming language. Each string is defined with a unique name and a content. Elsewhere in the database, the name can be used to represent the content.
For instance, if many entries are from a journal with an abbreviation that may be hard to remember, such as 'J. Theor. Biol.' (Journal of Theoretical Biology), a string named JTB could be defined to represent the journal's name. Instead of repeating the exact journal name in each entry, the characters '#JTB#' (without quotes) are put into the journal field of each, ensuring the journal name is written identically each time.
A string reference can appear anywhere in a field, always by enclosing the string's name in a pair of '#' characters. This syntax is specific for JabRef, and differs slightly from the BibTeX notation that is produced when you save your database. Strings can by default be used for all standard BibTeX fields, and in Preferences → General → File you can opt to enable strings for non-standard fields as well. In the latter case you can specify a set of fields that are excepted from string resolving, and here it is recommended to include the 'url' field and other fields that may need to contain the '#' character and that may be processed by BibTeX/LaTeX.
A string may in the same way be referred in the content of another string, provided the referred string is defined before the referring one.
While the order of strings in your BibTeX file is important in some cases, you do not have to worry about this when using JabRef. The strings will be displayed in alphabetical order in the string editor, and stored in the same order, except when a different ordering is required by BibTeX.
For a complete description of string syntax, see the dedicated help.
Each database can have specific properties that can be modified through File → Database properties) or by right clicking on the tab of the database and choosing "Database properties". These specific properties override the generic properties defined in Options → Preferences.
The database-specific properties are stored in the database itself. This way, when moving the database to another computer, these properties are preserved. In most of cases these are stored in the bib-file database using text blocks starting with @Comment{jabref-meta: .
This setting determines which character encoding JabRef will use when writing this database to disk. Changing this setting will override the setting made in Preferences dialog for this database. JabRef specifies the encoding near the top of the bib file, in order to be able to use the correct encoding next time you open the file.
The dropdown menu allows to select one encoding. UTF-8
is highly recommended.
In your database, files (PDF, etc.) can be linked to an entry. The list of these files are stored in the file field of the entry. The location of these files has to be specified.
For your database, you can define a General file directory and a User-specific file directory. These settings override the main file directory defined in the Preferences dialog.
The General file directory is a common path for all the users of a shared database. The User-specific file directory allows each user to have its own file directory for the database. If defined, it overrides the General file directory.
JabRef stores the name of the current system alongside the User-specific file directory. This assumes that each user of the database has a different system name. For example, when using the computer laptop, the entry in the bib file is @Comment{jabref-meta: fileDirectory-jabref-laptop:\somedir;}
Relative directories can be specified. This means that the location of the files will be interpreted relative to the location of the bib file. Simply setting a directory to "." (without quotes) means that the files should reside in the same directory as the bib file.
Note: the legacy PDF/PS links (i.e. the pdf and ps fields, which were used in JabRef versions prior to 2.3), should in current versions be replaced by general file links. This can be done using Quality → Cleanup entries... and enabling Upgrade external PDF/PS links to use the 'file' field.
When saving the database, the order of the entries will be preserved if Save entries in their original order is selected. Alternatively, by selecting Save entries ordered as specified, you can choose to sort the entries using three criteria. For each criterion, you can type-in the field to be used and select the order.
Note: Entries containing a crossref
field will always be placed prior to the other entries. This is a necessary preliminary for BibTeX to be able to determine the correct referenced values. (See: Tame the BeaST, p. 26)
While you edit a shared database, another user may be editing it too. By default, saving the database will overwrite changes done by others (although a warning message about the changes will be displayed).
To avoid discarding changes involuntarily, and hence to allow a smooth collaborative work, you can choose to Refuse to save the database before external changes have been reviewed. This setting lets you enforce reviewing of external changes before the database can be saved: users will only be able to save the database after any external changes have been reviewed and either merged or rejected.
Note: this is not a security feature, merely a way to prevent users from overwriting other users' changes inadvertently. This feature does not protect your database against malicious users.
Field formatting can be tidied up when saving the database. That ensures your entries to have consistent formatting. If you check Enable save actions, the list of actions can be configured.
For more information see Save Actions.
Note that some properties are not available for shared SQL databases as they are not handled like a .bib
file. The following properties are not available:
Database encoding (always UTF-8)
Save sort order
Database protection
This feature is available through Options → Manage protected terms.
This feature is available through Options → Manage external file types.
Some of the key patterns shown below were added at JabRef 5.0
The pattern used in the auto generation of BibTeX labels can be set for each of the standard entry types in Options → Preferences, tab BibTeX key generator. Additionally, if you right click the tab of a database, the menu BibTeX key patterns allows to set specific key patterns for this database.
The key pattern can contain any text you wish, in addition to field markers that indicate that a specific field of the entry should be inserted at that position of the key. A field marker generally consists of the field name enclosed in square braces, e.g. [volume]. If the field is undefined in an entry at the time of key generation, no text will be inserted by the field marker.
If you have not defined a key pattern for a certain entry type, the Default pattern will be used. You can change the default pattern - its setting is above the list of entry types in the BibTeX key generator section of the Preferences dialog.
The default key pattern is [auth][year], and this could produce keys like e.g. Yared1998
If the key is not unique in the current database, it is made unique by adding one of the letters a-z until a unique key is found. Thus, the labels might look like:
Yared1998
Yared1998a
Yared1998b
Several special field markers are offered, which extract only a specific part of a field. Feel free to suggest new special field markers.
[auth
]: The last name of the first author
[authors
]: The last name of all authors
[authorLast
]: The last name of the last author
[authorsN
]: The last name of up to N authors. If there are more authors, “EtAl” is appended.
[authorsAlpha
]: Corresponds to the BibTeX style “alpha”. One author: First three letters of the last name. Two to four authors: First letters of last names concatenated. More than four authors: First letters of last names of first three authors concatenated. “+” at the end.
[authIniN
]: The beginning of each author's last name, using no more than N characters.
[authorIni
]: The first 5 characters of the first author's last name, and the last name initials of the remaining authors.
[authN
]: The first N characters of the first author's last name
[authN_M
]: The first N characters of the Mth author's last name
[auth.auth.ea
]: The last name of the first two authors, and “.ea” if there are more than two.
[auth.etal
]: The last name of the first author, and the last name of the second author if there are two authors or “.etal” if there are more than two.
[authEtAl
]: The last name of the first author, and the last name of the second author if there are two authors or “EtAl” if there are more than two. This is similar to auth.etal
. The difference is that the authors are not separated by “.” and in case of more than 2 authors “EtAl” instead of “.etal” is appended.
[authshort
]: The last name if one author is given; the first character of up to three authors' last names if more than one author is given. A plus character is added, if there are more than three authors.
[authForeIni
]: The forename initial of the first author.
[authorLastForeIni
]: The forename initial of the last author.
Note: If there is no author (as in the case of an edited book), then all of the above [auth...]
markers will use the editor(s) (if any) as a fallback. Thus, the editor(s) of a book with no author will be treated as the author(s) for label-generation purposes. If you do not want this behaviour, i.e. you require a marker which expands to nothing if there is no author, use pureauth
instead of auth
in the above codes. For example, [pureauth]
, or [pureauthors3]
.
[edtr
]: The last name of the first editor
[edtrIniN
]: The beginning of each editor's last name, using no more than N characters
[editors
]: The last name of all editors
[editorLast
]: The last name of the last editor
[editorIni
]: The first 5 characters of the first editor's last name, and the last name initials of the remaining editors.
[edtrN
]: The first N characters of the first editor's last name
[edtrN_M
]: The first N characters of the Mth editor's last name
[edtr.edtr.ea
]: The last name of the first two editors, and “.ea” if there are more than two.
[edtrshort
]: The last name if one editor is given; the first character of up to three editors' last names if more than one editor is given. A plus character is added, if there are more than three editors.
[edtrForeIni
]: The forename initial of the first editor.
[editorLastForeIni
]: The forename initial of the last editor.
[shorttitle
]: The first 3 words of the title, ignoring any function words (see below). For example, An awesome paper on JabRef
becomes AwesomePaperJabref
.
[veryshorttitle
]: The first word of the title, ignoring any function words (see below). For example, An awesome paper on JabRef
becomes Awesome
.
[camel
]: Capitalize and concatenate all the words of the title. For example, An awesome paper on JabRef
becomes AnAwesomePaperOnJabref
.
[title
]: Capitalize all the significant words of the title, and concatenate them. For example, An awesome paper on JabRef
becomes AnAwesomePaperonJabref
.
JabRef considers the following words to be function words: "a", "an", "the", "above", "about", "across", "against", "along", "among", "around", "at", "before", "behind", "below", "beneath", "beside", "between", "beyond", "by", "down", "during", "except", "for", "from", "in", "inside", "into", "like", "near", "of", "off", "on", "onto", "since", "to", "toward", "through", "under", "until", "up", "upon", "with", "within", "without", "and", "but", "for", "nor", "or", "so", "yet".
[firstpage
]: The number of the first page of the publication (Caution: this will return the lowest number found in the pages field, since BibTeX allows 7,41,73--97
or 43+
.)
[pageprefix
]: The non-digit prefix of pages (like "L" for L7) or "" if no non-digit prefix exists (like "" for 7,41,73--97
) .
[keywordN
]: Keyword number N from the “keywords” field, assuming keywords are separated by commas or semicolons.
[lastpage
]: The number of the last page of the publication (See the remark on firstpage
)
[shortyear
]: The last 2 digits of the publication year
A field name (or one of the above pseudo-field names) may optionally be followed by one or more modifiers.
The modifiers can be divided into the categories converters (such as for converting from HTML to LaTeX), case changers (such as for conversion to lower case), and others. Click here for a comprehensive list of available modifiers.
Generally, modifiers are applied in the order they are specified. In the following, we present a list of the most common modifiers alongside a short explanation:
:abbr: Abbreviates the text produced by the field name or special field marker. Only the first character and subsequent characters following white space will be included. For example:
[journal:abbr] would from the journal name “Journal of Fish Biology” produce “JoFB”.
[title:abbr] would from the title “An awesome paper on JabRef” produce “AAPoJ”.
[camel:abbr] would from the title “An awesome paper on JabRef” produce “AAPOJ”.
:lower: Forces the text inserted by the field marker to be in lowercase. For example, [auth:lower] expands the last name of the first author in lowercase.
:upper: Forces the text inserted by the field marker to be in uppercase. For example, [auth:upper] expands the last name of the first author in uppercase.
:capitalize: Changes the first character of each word to uppercase, all other characters are converted to lowercase. For example, an example title
will be converted to An Example Title
:titlecase: Changes the first character of all normal words to uppercase, all function words (see above) are converted to lowercase. Example: example title with An function Word
will be converted to Example Title with an Function Word
:sentencecase: Changes the first character of the first word to uppercase, all remaining words are converted to lowercase. Example: an Example Title
will be converted to An example title
:(x): The string between the parentheses will be inserted if the field marker preceding this modifier resolves to an empty value. The placeholder x
may be any string. For instance, the marker [volume:(unknown)] will return the entry's volume if set, and the string unknown if the entry's volume
field is not set.
After the key pattern has been applied to produce a key, you can choose to have the key generator search for occurrences of a specific regular expression, and replace it with a string. The regular expression and replacement string are entered in the text fields below the list of key patterns. If the replacement string is empty, matches of the regular expression will simply be removed from the generated key. For instance, \p{Punct}
or [:/%]
can be replaced by nothing to remove unwanted characters from the key. This may be useful when naming PDFs according to BibTeX keys.
To change the pattern to [authors]:[camel]
, execute the following steps:
Open the preferences
Navigate to "General"
Untick "Enforce legal characters in BibTeX keys". Note that this is only necessary if you wish to have colons be present in the generated key.
Navigate to "BibTeX key generator"
Change the default pattern to [authors]:[camel]
.
Press "OK"
Or, if you are using JabRef 5: 6. Press "enter" (forgetting to do this is a leading cause of puzzlement) 7. Click "Save"