c0b5bd1a658ec02bfad461fa4fa2d54781e76e80
[debian/jabref.git] / src / help / LabelPatterns.html
1 <html xmlns="http://www.w3.org/1999/xhtml">
2
3 <body text="#275856">
4     <basefont size="4"
5           color="#2F4958"
6           face="arial" />
7
8     <h1>Customizing the BibTeX key generator</h1>
9
10     <p>In the 'Key pattern' tab in Preferences, one can set the fields
11     used in auto generation of BibTex labels. The pattern can be
12     set for each of the standard entry types.</p>
13
14     <h2>Key patterns</h2>
15
16     <p>The pattern can contain any text you wish,
17     in addition to field markers that indicate that a specific
18     field of the entry should be inserted at that position of the
19     key. A field marker generally consists of the field name
20     enclosed in square braces, e.g. <b>[volume]</b>. If the field
21     is undefined in an entry at the time of key generation, no text
22     will be inserted by the field marker.</p>
23
24     <p>Several special field markers are offered, which extract
25     only a specific part of a field. These are listed below. Feel
26     free to suggest new special field markers.</p>
27
28     <p>Special field markers:</p>
29
30     <ul>
31         <li><b>[<code>auth</code>]</b>: The last name of the first
32         author<br /></li>
33
34         <li><b>[<code>authors</code>]</b>: The last name of all
35         authors<br /></li>
36
37         <li><b>[<code>authorLast</code>]</b>: The last name of the last
38         author<br /></li>
39
40         <li><b>[<code>authorsN</code>]</b>: The last name of up to
41         N authors. If there are more authors, "EtAl" is
42         appended.<br /></li>
43
44         <li><b>[<code>authIniN</code>]</b>: The beginning of each
45         author's last name, using no more than N
46         characters.<br /></li>
47
48         <li><b>[<code>authorIni</code>]</b>: The first 5 characters
49         of the first author's last name, and the last name initials
50         of the remaining authors.<br /></li>
51
52         <li><b>[<code>authN</code>]</b>: The first N characters of
53         the first author's last name<br /></li>
54
55         <li><b>[<code>authN_M</code>]</b>: The first N characters
56         of the Mth author's last name<br /></li>
57
58         <li><b>[<code>auth.auth.ea</code>]</b>: The last name of
59         the first two authors, and ".ea" if there are more than
60         two.<br /></li>
61
62         <li><b>[<code>auth.etal</code>]</b>: The last name of the
63         first author, and the last name of the second author if
64         there are two authors or ".etal" if there are more than
65         two.<br /></li>
66
67         <li><b>[<code>authshort</code>]</b>: The last name if one
68         author is given; the first character of up to three
69         authors' last names if more than one author is given. A
70         plus character is added, if there are more than three
71         authors.<br /></li>
72     </ul><b>Note:</b> If there is no author (as in the case of an
73     edited book), then all of the above
74     <b><code>[auth...]</code></b> markers will use the editor(s)
75     (if any) as a fallback. Thus, the editor(s) of a book with no
76     author will be treated as the author(s) for label-generation
77     purposes. If you do not want this behaviour, i.e. you require a
78     marker which expands to nothing if there is no author, use
79     <b><code>pureauth</code></b> instead of
80     <b><code>auth</code></b> in the above codes. For example,
81     <b><code>[pureauth]</code></b>, or
82     <b><code>[pureauthors3]</code></b>.
83
84     <ul>
85         <li><b>[<code>edtr</code>]</b>: The last name of the first
86         editor<br /></li>
87
88         <li><b>[<code>edtrIniN</code>]</b>: The beginning of each
89         editor's last name, using no more than N
90         characters<br /></li>
91
92         <li><b>[<code>editors</code>]</b>: The last name of all
93         editors<br /></li>
94
95         <li><b>[<code>editorLast</code>]</b>: The last name of the last
96         editor<br /></li>
97
98         <li><b>[<code>editorIni</code>]</b>: The first 5 characters
99         of the first editor's last name, and the last name initials
100         of the remaining editors.<br /></li>
101
102         <li><b>[<code>edtrN</code>]</b>: The first N characters of
103         the first editor's last name<br /></li>
104
105         <li><b>[<code>edtrN_M</code>]</b>: The first N characters
106         of the Mth editor's last name<br /></li>
107
108         <li><b>[<code>edtr.edtr.ea</code>]</b>: The last name of
109         the first two editors, and ".ea" if there are more than
110         two.<br /></li>
111
112         <li><b>[<code>edtrshort</code>]</b>: The last name if one
113         editor is given; the first character of up to three
114         editors' last names if more than one editor is given. A
115         plus character is added, if there are more than three
116         editors.<br /></li>
117
118         <li><b>[<code>firstpage</code>]</b>: The number of the
119         first page of the publication<br /></li>
120
121         <li><b>[<code>keywordN</code>]</b>: Keyword number N from
122         the "keywords" field, assuming keywords are separated by
123         commas or semicolons.<br /></li>
124
125         <li><b>[<code>lastpage</code>]</b>: The number of the last
126         page of the publication<br /></li>
127
128         <li><b>[<code>shorttitle</code>]</b>: The first 3 words of
129         the title<br /></li>
130
131         <li><b>[<code>shortyear</code>]</b>: The last 2 digits of
132         the publication year<br /></li>
133
134         <li><b>[<code>veryshorttitle</code>]</b>: The first word of
135         the title, discounting 'the', 'a', 'an'.<br /></li>
136     </ul>
137
138     <p>A field name (or one of the above pseudo-field names) may
139     optionally be followed by one or more modifiers. Modifiers are
140     applied in the order they are specified.</p>
141
142     <ul>
143         <li><b>:abbr</b>: Abbreviates the text produced by the
144         field name or spcial field marker. Only the first character
145         and subsequent characters following white space will be
146         included. For example, <b>[journal:abbr]</b> would from the
147         journal name "Journal of Fish Biology" produce
148         "JoFB".<br /></li>
149
150         <li><b>:lower</b>: Forces the text inserted by the field
151         marker to be in lowercase. For example, <b>[auth:lower]</b>
152         expands the last name of the first author in
153         lowercase.<br /></li>
154     </ul>
155
156     <p>If you haven't defined a key pattern for a certain entry
157     type, the <b>Default key pattern</b> will be used. You can
158     change the default pattern - its setting is above the list of
159     entry types in the <b>Key pattern</b> section of the
160     <b>Preferences</b> dialog.</p>
161
162     <p>The default key pattern is [auth][year], and this could
163     produce keys like e.g. <code>Yared1998</code> If the key is not
164     unique in the current database, it is made unique by adding one
165     of the letters a-z until a unique key is found. Thus, the
166     labels might look like:</p>
167
168     <blockquote>
169         <code>Yared1998</code><br />
170          <code>Yared1998a</code><br />
171         <code>Yared1998b</code>
172     </blockquote>
173
174     <h2>Regular expression replace</h2>
175
176     <p>After the key pattern has
177     been applied to produce a key, you can choose to have the key
178     generator search for occurences of a specific regular
179     expression, and replace it with a string. The regular
180     expression and replacement string are entered in the text
181     fields below the list of key patterns. If the replacement
182     string is empty, matches of the regular expression will simply
183     be removed from the generated key.</p>
184 </body>
185 </html>