Help index | Bib-it Homepage |
To support different BibTeX styles (bst) that use different entry types and
field types Bib-it read all data about type-names from a ini
-file,
by convention named nameStyle.ini
, wich we refer to as
'style file' or 'style.ini'. The default style file is the plainStyle.ini
wich is based on the standard entry types and field types used in the original four BibTeX stylefiles
supplied with BibTeX (plain.bst
, abbrv.bst
,
alpha.bst
and unsrt.bst
) plus a few nonstandard but common
field types like isbn
(wich are all treated like 'ignored fields').
The Style.ini files is divided into different parts by the following headers:
They all end with [End
headername]
where headername is the header it ends.
(Actually the parsing ends with ANY line beginning with [End
but for human reading
we recomend you type the header name you're ending.)
For mor more examples see the plainStyle.ini
file.
This part is optional. You probably won't need to use this part!
It have only two variables that can be defined:
commentSpelling
wich is the spelling of a comment,
abbrevSpelling
wich is the spelling of abbrevations.
You can only define ONE of each, if several values are defined to one variable only
the last will be used!
This is how you redefine the variables:
commentSpelling = comment abbrevSpelling = string
This is the default values and they will be used if you don't redefine them (in the plainStyle this part is just commented away to show the syntax). If you DO change these values remember to use the new values as the keywords in [Special]. The only reason we included these variables is to avoid hardcoding spellings.
This part contains a list of 'special' types, that is
elements with syntax similar to an entry (starts with @
) but
should not be parsed as a entry. Each special type is
defined with its spelling (without the @
sign), the equals sign (=
)
and the one letter value wich can be:
a
for 'abbrevation',
k
for 'keep it' and
i
for 'ignore it' (parse through and discard, be careful with this!).
The typical special types and their values is the following:
string = a preamble = k comment = k
See also: [General]
One very special field is a comment where the first word after the {
is
Bib-it,
(e.g. the word that the parser assumes is a BibTeX reference key until it realizes
that it is a special type) wich is a comment that is ALLWAYS discarded. This is used when saving files
to avoid duplicating the autogenerated comments produced by Bib-it. If you happen (for some reason) to
allways start your comment fields with this string you MUST change this before parsing your files
if you want to keep your comments. We assumed that few people do so...
This is the list of field types. The syntax is:
f =
fieldname fieldtype
where the fieldtype can be the following:
nothing | regular text The default parsing |
#name |
list of names Special edit field, added to person list |
#title |
regular text Wide edit field |
#crossref |
regular text Parser-warning if the value is not a allready parsed BibTeX key |
#month |
month These fields get a dropdown in the list to select standard month names, sorted by order of month instead of alphabetically |
#year |
year Sorted by numerical value (ignores characters when sorting) |
#large |
regular text Wide multi line edit field, use this for typically large fields |
#org |
regular text Used in the style generator |
#url |
regular text Printed as hyperlink in preview. Adds a 'open url' button in the edit panel. |
# anything |
regular text (Can be used to implement new features) |
This part contains a list of fields that should be used to compare entries in the duplicate search.
The list contains ONE (optional but recommended) field written
like this: Discriminator =
fieldName
wich is the field that the duplicate search checks first to compare ONLY the entries that have the same
discriminator field. This should be a fiel wich is typically short, almost allways filled in and easy to
write consistently (typically year
). The discriminator is used to limit the comparisons and
speed up the search. The Discriminator should NOT be a #name
type, as the discriminator uses a
simpler comparison than the other fields.
If this is NOT defined it compares ALL entries with ALL others, wich means the duplicate search will do approximately n² comparisons where n is the number of entries in the bib-file (a bib-file with 1000 references will need a Million comparisons).
The other fields are written df =
fieldName. You should not define too many
'df' fields as this will slow down the search and it won't actually increase the accuracy of the search!
Three to four carefully selected fields plus a Discriminator will usually give acceptable results and
search times. Beware that #name
fields is (probably) compared slower than other types.
The field used as a Discriminator shuld NOT be defined as a df as this will "falsely" increase the
similarity!
The standard definitions is the following:
Discriminator = year df = author df = journal df = title
The syntax of the entries (aka. references) is the following:
entryName =
requredFieldName #
optionalFieldName,
where the fieldNames are the names defined in [Fields] separated only by commas.
Fields not added to the required or optional list are treated as ignored fields.
If a entry type for some reason have no optional or required fields write <none>
instead of the list, like the misc
field:
misc = <none> # author,title,howpublished,month,year,note
(having none required fields)