02474bd44202b1407c7b2533201d708a1e06e5e5
[debian/jabref.git] / src / help / LabelPatterns.html
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <link rel="stylesheet" type="text/css" href="jabref_help.css"/>
4 </head>
5
6 <body>
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>authorsAlpha</code>]</b>: Corresponds to the BibTeX
45         style "alpha". One author: First three letters of the last name.
46         Two to four authors: First letters of last names concatenated.
47         More than four authors: First letters of last names of first three
48         authors concatenated. "+" at the end. <br /></li>  
49
50         <li><b>[<code>authIniN</code>]</b>: The beginning of each
51         author's last name, using no more than N
52         characters.<br /></li>
53
54         <li><b>[<code>authorIni</code>]</b>: The first 5 characters
55         of the first author's last name, and the last name initials
56         of the remaining authors.<br /></li>
57
58         <li><b>[<code>authN</code>]</b>: The first N characters of
59         the first author's last name<br /></li>
60
61         <li><b>[<code>authN_M</code>]</b>: The first N characters
62         of the Mth author's last name<br /></li>
63
64         <li><b>[<code>auth.auth.ea</code>]</b>: The last name of
65         the first two authors, and ".ea" if there are more than
66         two.<br /></li>
67
68         <li><b>[<code>auth.etal</code>]</b>: The last name of the
69         first author, and the last name of the second author if
70         there are two authors or ".etal" if there are more than
71         two.<br /></li>
72
73         <li><b>[<code>authshort</code>]</b>: The last name if one
74         author is given; the first character of up to three
75         authors' last names if more than one author is given. A
76         plus character is added, if there are more than three
77         authors.<br /></li>
78     </ul><b>Note:</b> If there is no author (as in the case of an
79     edited book), then all of the above
80     <b><code>[auth...]</code></b> markers will use the editor(s)
81     (if any) as a fallback. Thus, the editor(s) of a book with no
82     author will be treated as the author(s) for label-generation
83     purposes. If you do not want this behaviour, i.e. you require a
84     marker which expands to nothing if there is no author, use
85     <b><code>pureauth</code></b> instead of
86     <b><code>auth</code></b> in the above codes. For example,
87     <b><code>[pureauth]</code></b>, or
88     <b><code>[pureauthors3]</code></b>.
89
90     <ul>
91         <li><b>[<code>edtr</code>]</b>: The last name of the first
92         editor<br /></li>
93
94         <li><b>[<code>edtrIniN</code>]</b>: The beginning of each
95         editor's last name, using no more than N
96         characters<br /></li>
97
98         <li><b>[<code>editors</code>]</b>: The last name of all
99         editors<br /></li>
100
101         <li><b>[<code>editorLast</code>]</b>: The last name of the last
102         editor<br /></li>
103
104         <li><b>[<code>editorIni</code>]</b>: The first 5 characters
105         of the first editor's last name, and the last name initials
106         of the remaining editors.<br /></li>
107
108         <li><b>[<code>edtrN</code>]</b>: The first N characters of
109         the first editor's last name<br /></li>
110
111         <li><b>[<code>edtrN_M</code>]</b>: The first N characters
112         of the Mth editor's last name<br /></li>
113
114         <li><b>[<code>edtr.edtr.ea</code>]</b>: The last name of
115         the first two editors, and ".ea" if there are more than
116         two.<br /></li>
117
118         <li><b>[<code>edtrshort</code>]</b>: The last name if one
119         editor is given; the first character of up to three
120         editors' last names if more than one editor is given. A
121         plus character is added, if there are more than three
122         editors.<br /></li>
123
124         <li><b>[<code>firstpage</code>]</b>: The number of the
125         first page of the publication (Caution: this will return 
126         the lowest number found in the pages field, since bibtex 
127         allows <code>7,41,73--97</code> or <code>43+</code>.)<br /></li>
128
129         <li><b>[<code>keywordN</code>]</b>: Keyword number N from
130         the "keywords" field, assuming keywords are separated by
131         commas or semicolons.<br /></li>
132
133         <li><b>[<code>lastpage</code>]</b>: The number of the last
134         page of the publication (See the remark on 
135         <code>firstpage</code>)<br /></li>
136
137         <li><b>[<code>shorttitle</code>]</b>: The first 3 words of
138         the title<br /></li>
139
140         <li><b>[<code>shortyear</code>]</b>: The last 2 digits of
141         the publication year<br /></li>
142
143         <li><b>[<code>veryshorttitle</code>]</b>: The first word of
144         the title, discounting 'the', 'a', 'an'.<br /></li>
145     </ul>
146
147     <p>A field name (or one of the above pseudo-field names) may
148     optionally be followed by one or more modifiers. Modifiers are
149     applied in the order they are specified.</p>
150
151     <ul>
152         <li><b>:abbr</b>: Abbreviates the text produced by the
153         field name or spcial field marker. Only the first character
154         and subsequent characters following white space will be
155         included. For example, <b>[journal:abbr]</b> would from the
156         journal name "Journal of Fish Biology" produce
157         "JoFB".<br /></li>
158
159         <li><b>:lower</b>: Forces the text inserted by the field
160         marker to be in lowercase. For example, <b>[auth:lower]</b>
161         expands the last name of the first author in
162         lowercase.<br /></li>
163
164         <li><b>:upper</b>: Forces the text inserted by the field
165         marker to be in uppercase. For example, <b>[auth:upper]</b>
166         expands the last name of the first author in
167         uppercase.<br /></li>
168
169         <li><b>:(x)</b>: Replace x by any string. The string between
170         the parentheses will be inserted if the field marker preceding this
171         modifier resolves to an empty value. For instance, the marker
172         <b>[volume:(unknown)]</b> will return the entry's volume if set, and the
173         string <b>unknown</b> if the entry's <code>volume</code> field is not set.
174         </li>
175     </ul>
176
177     <p>If you haven't defined a key pattern for a certain entry
178     type, the <b>Default key pattern</b> will be used. You can
179     change the default pattern - its setting is above the list of
180     entry types in the <b>Key pattern</b> section of the
181     <b>Preferences</b> dialog.</p>
182
183     <p>The default key pattern is [auth][year], and this could
184     produce keys like e.g. <code>Yared1998</code> If the key is not
185     unique in the current database, it is made unique by adding one
186     of the letters a-z until a unique key is found. Thus, the
187     labels might look like:</p>
188
189     <p style="margin-left: 28pt">
190         <code>Yared1998</code><br />
191         <code>Yared1998a</code><br />
192         <code>Yared1998b</code>
193     </p>
194
195     <h2>Regular expression replace</h2>
196
197     <p>After the key pattern has
198     been applied to produce a key, you can choose to have the key
199     generator search for occurences of a specific regular
200     expression, and replace it with a string. The regular
201     expression and replacement string are entered in the text
202     fields below the list of key patterns. If the replacement
203     string is empty, matches of the regular expression will simply
204     be removed from the generated key.</p>
205 </body>
206 </html>