## Some words about the BibTeX format supported by Bib2HTML

Written by Stéphane GALLAND
and modified by Luca Paolini

Bib2HTML use as input files which respest as much as possible the BibTeX file format. It add more restrictive constraints than this official format, and includes some additional fields.

### 1 Short Recall on Bib2TeX's File Format

To be recognized by Bib2HTML, each entry must begin with an '@', immediately followed by the type of entry it is (see the list of recognized entry types), immediately followed by a '{'. It will then process the fields you've specified for that entry until it hits the closing '}' (see the list of recognized fields). The format then looks something like this:


@entrytype{entry_key,
fieldname1 = "Contents",
fieldname2 = {Contents},
fieldname3 = contents,
...
}


The first information required by the BibTeX's file format is the identifier of the entry. This entry_key must be unique and, in most of the cases, it is composed by the author's name, the publication year... In LaTeX, this key was used to reference this bibliographical entry.

Three types of field contents are valid, as shown here. In fieldname1, the contents are enclosed in quotes; in fieldname2 they are enclosed in curly braces, and in fieldname3 there are no surrounding characters. The third type is often used to specify pre-defined string values, and any value specified in this way will be compared to the list of @strings you've defined for a possible match (if there is a match, it will be expanded out to the full value of the @string).

Any amount of whitespace can come between the fieldname and the '=', or between the '=' and the contents. In addition, Bib2HTML can handle nested {}'s in the contents of a field.

### 2 Recognized Entry Types

Bib2HTML recognizes the following bibliography entry types (by the generator HTML):

• @article: an article inside a national or international journal, e.g. International Journal of Production Economics.
• @book: a book, e.g. Les Systèmes Multi-Agents by Professor Jacques Ferber.
• @booklet: a standalone part of a book, i.e. a part with its own author, title...
• @inbook: a chapter or a part of a book.
• @incollection: an article inside a collection of national or international journals, e.g. Lecture Notes on Artificial Intelligence.
• @inproceedings: a paper inside the proceedings of an national ou international conference, e.g. European Simulaton Multiconferences.
• @manual: a technical manual published (or not) by an university. Don't be confused with the technical report which is a report, not a manual.
• @mastersthesis: a student thesis made under the authority of an university of a school, e.g. engineering's report.
• @misc: see the note below
• @phdthesis: a research thesis made under the authority of a laboratory, an institution, an university, e.g. PhD thesis, Doctorat thesis...
• @proceedings: a book that contains all the papers of a conference. Don't choose if you want a paper inside a conference (see the @inproceedings instead), e.g. Proceedings of the International Conference on Multi-Agent Systems.
• @techreport: a technical report published by an university. In general a technical report has a internal number which is specific to the institution. Don't be confused with the technical manual which is a manual, not a report.
• @unpublished: a document which are never published.

Any other entry type will be proceeded as @misc.

Note about the type @misc:
this entry type is considered as the default. It requires the following fields: author and year. This constraint is not from the definition of the standard BibTeX file format. But it was introduced for the page's generation of Bib2HTML.

I welcome requests to support other entry types. The generators could support their own entry types. See the section about supported generator for more details

### 3 Recognized Fields

Bib2html recognizes the following bibliography field types (by the generator HTML):

• address
• annote
• author (see the definitions of the names)
• booktitle
• chapter
• comments (alias annote)
• edition
• editor (see the definitions of the names)
• howpublished
• institution
• month
• note
• number
• organization
• pages
• publisher
• school
• series
• title
• type
• volume
• year

The real support of a field depends on the entry type in which it appears. The following table explains where the fields are needed and where they are optional.

 Supported Fields by the Generator HTML article book booklet inbook inproceeding incollection manual masterthesis misc phdthesis proceedings techreport unpublished address annote author booktitle chapter edition editor howpublished institution journal month note number organization pages publisher school series title type volume year : this field was required by Bib2HTML : this field was required by Bib2HTML if the other required field was not given : this field was required by Bib2HTML if the other required field was not given : this field was not required by Bib2HTML When a cell was empty, this field is ignored by Bib2HTML

I welcome requests to support other fields. The generators could support their own. See the section about supported generator for more details

### 4 Definition of Strings and Preambles

Like BibTeX, Bib2HTML also handles arbitrary @string definitions, which can be used in any entry field, e.g.


@string{acl = "Association for Computational Linguistics"}
...
@proceedings{PROC,
publisher = acl,
...
}


Bib2HTML also supports the definition of TeX preambles. The TeX preambles are TeX commands which are evaluated and ran before any treatement on the BibTeX entries. The definition of a preamble is done with @preamble, e.g.


@preamble{\def\th{\ensuremath{^{th}}}}
...


The TeX commands which can be put inside a @preamble are limited to the commands supported by Bib2HTML (see the command-line option --texcmd to obtain a list).

### 5 Definition of the Lists of Names

In some fields (e.g. author and editor) you must specify a list of names. This list is composed of names separated by the keyword AND. Each name must respect one of the following syntaxes:

• [von] Last, jr, First
• First [von] Last, jr
• [von] Last, First [jr]
• First [von] Last [jr]

If present the jr part must be one of 'junior', 'jr.', 'jr', 'senior', 'sen.', 'sen', 'esq.', 'esq', 'phd.' and 'phd'.

Good Example: DUPONT, Henri and Pierre, Alain Michel and Jim WASHINGTON jr. 

 DUPONT,  Henri  and  Pierre,  Alain Michel  and  Jim  WASHINGTON  jr. last first last first first fast jr

Bad Example: Henri DUPONT, Alain Michel Pierre and Jim WASHINGTON jr. 

 Henri DUPONT,  Alain Michel Pierre  and  Jim  WASHINGTON  jr. last first first fast jr