summaryrefslogtreecommitdiff
path: root/support/bibex/doc/Bibex.html
blob: 8f1dca0c3ca5153300d3cf493a6cf45f0c804c8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<html>
<body>

<center>
<h1>
BibTeX Extractor<br>
</h1>
</center>

<br>

<hr>
<a name="Summary">
<a href="#Copyright">1. Copyright notice</a><br>
<a href="#Object">2. In a nutshell</a><br>
<a href="#Functionalities">3. Functionalities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Origin">3.1. Origin BibTeX bases</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Regexes">3.2. Regexes</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#New">3.3. New BibTeX file</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#Configuration">3.4. Configuration menu</a><br>
</a>
<hr>

<a name="Copyright"><h2>1. Copyright notice <font size="-6"><a href="#Summary">Top</a></font></h2></a>

<pre>
© Copyright 2003 Yann-Gaël Guéhéneuc.

Use and copying of this software and preparation of derivative works
based upon this software are permitted. Any copy of this software or
of any derivative work must include the above copyright notice of
the author, this paragraph and the one after it.

This software is made available AS IS, and THE AUTHOR DISCLAIMS
ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE, AND NOT WITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN,
ANY LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS
EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING
NEGLIGENCE) OR STRICT LIABILITY, EVEN IF THE AUTHOR IS ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

All Rights Reserved.
</pre>

<a name="Object"><h2>2. In a nutshell <font size="-6"><a href="#Summary">Top</a></font></h2></a>

<p>
BibTeX Extractor is a tool to extract BibTeX entries from a set of BibTeX
bases using regular expressions.
</p>

<p>
BibTeX Extractor automates the task of extracting subset of BibTeX bases to be
used with BibTeX styles, such as <code>Multilingual.sty</code> and
<code>Bibtopic.sty</code>.
</p>

<p>
Should you have any question, comment, bug, or feature request, please send
an e-mail to Yann-Gaël Guéhéneuc:
</p>
<center><code>yann &lt;dash&gt; gael &lt;at&gt; gueheneuc &lt;dot&gt; net</code></center>

<a name="Functionalities"><h2>3. Functionalities <font size="-6"><a href="#Summary">Top</a></font></h2></a>

<a name="Origin"><h3>3.1. Origin BibTeX bases <font size="-6"><a href="#Summary">Top</a></font></h3></a>
<p>
With the <i>Add</i>/<i>Remove</i> buttons, BibTeX bases can be added to the list, from which
entries can be extracted.
</p>

<a name="Regexes"><h3>3.2. Regexes <font size="-6"><a href="#Summary">Top</a></font></h3></a>
<p>
The regular expressions used to extract entries from the BibTeX
bases. Regular expressions can be added using the <i>add</i>/<i>remove</i> buttons only
when, at least, one BibTeX base is added. They can be of three types:
<ul>
<li> &lt;field&gt; = &lt;value&gt;, e.g. "kind = RR", "author = Christopher Alexander".
<li> KEY = &lt;value&gt;, e.g. "KEY = Alexander77-PatternLanguage", "KEY = GoF".
<li> TYPE = &lt;value&gt;, e.g. "TYPE = misc", "TYPE = phdthesis".
</ul>
</p>

<p>
Regular expressions of type &lt;field&gt; must all be satisfied for an entry to
match. At least one regular expression of type KEY must match. At least one
regular expression of type TYPE must match:
</p>
<pre>
	An entry matches if and only if
		each regular expression &lt;field&gt; = &lt;value&gt; matches
		AND
		at least one regular expression KEY matches
		AND
		at least one regular expression TYPE matches
</pre>
<p>
Regular expressions of the three different types need not to be present, then
missing types are not taken into account in the equation.
</p>

<p>
&lt;value&gt; must satisfy Java regular expressions, as defined in the
java.util.regex.Pattern class:
<p>
<pre>
Characters
x 		The character x
\\ 		The backslash character
\0n 		The character with octal value 0n (0 &lt;= n &lt;= 7)
\0nn 		The character with octal value 0nn (0 &lt;= n &lt;= 7)
\0mnn 		The character with octal value 0mnn (0 &lt;= m &lt;= 3, 0 &lt;= n &lt;= 7)
\xhh 		The character with hexadecimal value 0xhh
\uhhhh		The character with hexadecimal value 0xhhhh
\t 		The tab character ('\u0009')
\n 		The newline (line feed) character ('\u000A')
\r 		The carriage-return character ('\u000D')
\f 		The form-feed character ('\u000C')
\a 		The alert (bell) character ('\u0007')
\e 		The escape character ('\u001B')
\cx 		The control character corresponding to x
 
Character classes
[abc] 		a, b, or c (simple class)
[^abc] 		Any character except a, b, or c (negation)
[a-zA-Z] 	a through z or A through Z, inclusive (range)
[a-d[m-p]] 	a through d, or m through p: [a-dm-p] (union)
[a-z&&[def]] 	d, e, or f (intersection)
[a-z&&[^bc]] 	a through z, except for b and c: [ad-z] (subtraction)
[a-z&&[^m-p]] 	a through z, and not m through p: [a-lq-z](subtraction)
 
Predefined character classes
. 		Any character (may or may not match line terminators)
\d 		A digit: [0-9]
\D 		A non-digit: [^0-9]
\s 		A whitespace character: [ \t\n\x0B\f\r]
\S 		A non-whitespace character: [^\s]
\w 		A word character: [a-zA-Z_0-9]
\W 		A non-word character: [^\w]
 
POSIX character classes (US-ASCII only)
\p{Lower} 	A lower-case alphabetic character: [a-z]
\p{Upper} 	An upper-case alphabetic character:[A-Z]
\p{ASCII} 	All ASCII:[\x00-\x7F]
\p{Alpha} 	An alphabetic character:[\p{Lower}\p{Upper}]
\p{Digit} 	A decimal digit: [0-9]
\p{Alnum} 	An alphanumeric character:[\p{Alpha}\p{Digit}]
\p{Punct} 	Punctuation: One of !"#$%&'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~
\p{Graph} 	A visible character: [\p{Alnum}\p{Punct}]
\p{Print} 	A printable character: [\p{Graph}]
\p{Blank} 	A space or a tab: [ \t]
\p{Cntrl} 	A control character: [\x00-\x1F\x7F]
\p{XDigit} 	A hexadecimal digit: [0-9a-fA-F]
\p{Space} 	A whitespace character: [ \t\n\x0B\f\r]
 
Classes for Unicode blocks and categories
\p{InGreek} 		A character in the Greek block (simple block)
\p{Lu} 			An uppercase letter (simple category)
\p{Sc} 			A currency symbol
\P{InGreek} 		Any character except one in the Greek block (negation)
[\p{L}-[\p{Lu}]]  	Any letter except an uppercase letter (subtraction)
 
Boundary matchers
^ 		The beginning of a line
$ 		The end of a line
\b 		A word boundary
\B 		A non-word boundary
\A 		The beginning of the input
\G 		The end of the previous match
\Z 		The end of the input but for the final terminator, if any
\z		The end of the input
 
Greedy quantifiers
X? 		X, once or not at all
X* 		X, zero or more times
X+ 		X, one or more times
X{n} 		X, exactly n times
X(n,} 		X, at least n times
X{n,m} 		X, at least n but not more than m times
 
Reluctant quantifiers
X?? 		X, once or not at all
X*? 		X, zero or more times
X+? 		X, one or more times
X{n}? 		X, exactly n times
X(n,}? 		X, at least n times
X{n,m}? 	X, at least n but not more than m times
 
Possessive quantifiers
X?+ 		X, once or not at all
X*+ 		X, zero or more times
X++ 		X, one or more times
X{n}+ 		X, exactly n times
X(n,}+ 		X, at least n times
X{n,m}+ 	X, at least n but not more than m times
 
Logical operators
XY 		X followed by Y
X|Y 		Either X or Y
(X) 		X, as a capturing group
 
Back references
\n 		Whatever the nth capturing group matched
 
Quotation
\ 		Nothing, but quotes the following character
\Q 		Nothing, but quotes all characters until \E
\E 		Nothing, but ends quoting started by \Q
 
Special constructs (non-capturing)
(?:X) 			X, as a non-capturing group
(?idmsux-idmsux)  	Nothing, but turns match flags on - off
(?idmsux-idmsux:X)	X, as a capturing group with the given flags on - off
(?=X) 			X, via zero-width positive lookahead
(?!X) 			X, via zero-width negative lookahead
(?&lt;=X) 			X, via zero-width positive lookbehind
(?&lt;!X) 			X, via zero-width negative lookbehind
(?&gt;X) 			X, as an independent, non-capturing group
</pre>

<a name="New"><h3>3.3. New BibTeX file <font size="-6"><a href="#Summary">Top</a></font></h3></a>
<p>
The text field and its associated <i>Browse</i> button allow to give the full path of
the new BibTeX file into which entries can be copied.
</p>

<p>
The <i>Preview</i> button brings to front a window which contains the result of the
BibTeX entries extraction, without modifying the chosen new BibTeX file. The
<i>Extract it!</i> button extracts the BibTeX entries and write them down into
the chosen new BibTeX file.
</p>

<a name="Configuration"><h3>3.4. Configuration menu <font size="-6"><a href="#Summary">Top</a></font></h3></a>
<p>
The <i>Configuration</i> menu simplifies BibTeX Extractor usage. The <i>Load</i>
/<i>Save</i> items loads from and saves to a file the current configuration:
<ul>
<li>The selected BibTeX bases.
<li>The regular expressions.
<li>The chosen new BibTeX file.
</ul>
</p>

<p>
Thus, it is possible to save and reproduce in the future BibTeX entries
extraction on several BibTeX bases, with sophisticated regular expressions.
</p>

<p>
The <i>Reset</i> item resets the current configuration. (Only the configuration
name and file are rested.)
</p>

<body>
<html>