[TITLE]
. If the field is undefined in an entry at the time of key generation, no text will be inserted by the field marker. A field enclosed in square braces can be further changed by appending one or more of the available modifiers separated by :
, e.g., [TITLE:abbr]
.An awesome paper on JabRef
, the citation key pattern demo[TITLE:abbr]
will provide the key demoAapoJ
.[auth]
: The last name of the first author[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[authFirstFull]
: Get the von
part and last name of the first author[authForeIni]
: The forename initial of the first author[authIniN]
: The beginning of each author's last name, using at most N
characters[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[authorIni]
: The first 5 characters of the first author's last name, and the last name initial of the remaining authors[authorLast]
: The last name of the last author[authorLastForeIni]
: The forename initial of the last author[authors]
: The last name of all authors[authorsAlpha]
: Corresponds to the BibTeX style “alpha”,+
is added at the end if it is not in the list of unwanted characters.[authorsN]
: The last name of up to N
authors. If there are more authors, 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[auth.auth.ea]
: The last name of the first two authors, separated by .
. If there are more than two authors, adds .ea
[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[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 behavior, 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]
.and
. The full name should be enclosed in braces to prevent the name from being miss-parsed for these cases. Names enclosed in braces are often abbreviated while generating citation keys to avoid creating excessively long keys. For example, {European Union Aviation Safety Agency}
is abbreviated to EUASA
.[edtr]
: The last name of the first editor[edtrIniN]
: The beginning of each editor's last name, using at most 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 M
th editor's last name[edtr.edtr.ea]
: The last name of the first two editors, separated by .
. If there are more than two editors, adds .ea
[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
[shorttitleINI]
: The first 3 words of the title, abbreviated.[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
[fulltitle]
: The title with unchanged capitalization.[entrytype]
: The type of the entry, e.g., Article
, InProceedings
, etc[firstpage]
: The number of the first page of the publication (Caution: this will return the lowest number found in the pages field, i.e. for 7,41,73--97
it will return 7
.)[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[keywordsN]
: Up to N
keywords from the "keywords" field[lastpage]
: The number of the last page of the publication (See the remark on firstpage
)[shortyear]
: The last 2 digits of the publication year[AUTHOR]
: Ada Lovelace and Charles Babbage
becomes AdaLovelaceandCharlesBabbage
[DATE]
: 2020-09-25
[DAY]
: 02
becomes 2
[GROUPS]
: The groups or subgroups in JabRef. Subgroup AppleTrees
and group Trees
becomes AppleTreesTrees
[MONTH]
: 03
becomes March
[YEAR]
: 2020
: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.[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.[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
:truncateN
: Truncates the string after the N:th character and trims any trailing whitespaces. For example, [fulltitle:truncate3]
will convert A Title
to A T
.: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
:regex("pattern", "replacement")
: Applies regular expression pattern matching and replacement. For example,[auth.etal:regex("\\.etal","EtAl"):regex("\\.","And")]
, the first regex()
replaces .etal
with EtAl
. The second regex()
replaces the .
between entries with two authors with `And:(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:regex("pattern", "replacement")
). Another use case for them is to replace existing key patterns.\
and some other special meta-characters as escape characters. If you want to include any backslash into your RegEx, you have to use \\
instead of \
.(?<=.{12}+).+
with an empty replacement string will cut the length of all citation keys to 12.-
from this list will allow it to be used while generating citation keys.[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
[authors][camel]
for all libraries without individual settings, execute the following steps:[authors][camel]
[auth][shortyear]
,