![]() ![]() ![]() ![]() |
BibTool Manual![]() ![]() ![]() |
Names are a complicated thing. BibTool tries to analyze names and ``understand'' them correctly. According to the BibTeX definition a name consists of four types of components:
Everything except the last name is optional. Each part can also consist of several words. More on names can be found in [Lam94] and [Pat88b].
BibTool provides a means to specify how the various parts of a name
should be used to construct a string. This string can be used as part
of a key with the %p
format specifier (see above).
BibTool uses a small number of name format specifiers.1 Initially most of them are undefined.
%*l[
fmt.inter.name]
.
%*l[
fmt.inter.name]%*1f[
fmt.inter.name]
.
The name format specifiers 0 and 1 are used by the formatting instructions
%N
and %n
. Thus you should be careful when redefining them. To
help you keep an eye on these two name format specifiers BibTool issues a
warning when they are modified.
The resource new.format.type can be used to assign values to those name format specifiers:
new.format.type = {17="%f%v%l"}
This instruction sets the name format specifier number 17 to the given value.
This value is a string of characters to be used directly. There is only one
construct which is not used literally. This construct is started by a % sign
optionally followed by a +
or a -
and a number. Next comes one
of the letters f, v, l, or j. Finally
there are three optional arguments enclosed in brackets.
Thus the general form looks as follows:
The letter f denotes all first names. The letter l denotes all last names. The letter v denotes all words in the von part. The letter j denotes all words in the junior part.
If sign is +
then the words are translated to upper case. If
sign is -
then the words are translated to lower case. If no
sign is given then no conversion is performed. If the sign is *
then
the translation is inherited from the calling format.
The number len can be used to specify the number of characters to be used. Each word is truncated to at most len characters if len is greater than 0. Otherwise no truncation is performed. Thus a value of 0 acts like \infty . Note that the length of the name format specifiers 0 and 1 are automatically inherited from the calling format.
If [mid] is given then this string is used between several words of the given part. If none is given then the empty string is used.
If [pre] is given then this string is used before the given part, but only if the part is not empty. If none is given then the empty string is used.
If [post] is given then this string is used after the given part, but only if the part is not empty. If none is given then the empty string is used.
Now we can come to an example. Suppose the name field contains the value Cervantes Saavedra, Miguel de2. This name has two last names, one first name and one word in the von part.
We want to apply the following name format specifier
%1f[.][][.]
%1v[.][][.]
%3l[-]
%1j
This means we want to use abbreviation of first name, von and junior part to
one letter and of three letters of the last name. Thus we will get the result
M.d.Cer-Saa
.
Note that the name specifier does not take care to include only allowed letters into a key. Thus watch out and avoid special characters as whitespace and comma.
![]() ![]() ![]() ![]() |
BibTool Manual![]() ![]() ![]() |