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.
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
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 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() ![]() ![]() 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
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).
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 |