Bib-it

A BibTeX manager.

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 parts of a Style.ini file

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.

[General]

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.

[Special]

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...

[Fields]

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)

[Dupsearch]

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

[EntryTypes]

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)

SourceForge.net
Valid HTML 4.01 Transitional