Module Sebib.Biblio


module Biblio: sig .. end
Module handling the whole bibliography.

type field = [ `abstract of string
| `authors of Sebib.AuthorList.t
| `bibtex of string
| `citation of string
| `comment of string * string
| `doi of string
| `how of string
| `id of string
| `keywords of string list
| `note of string
| `pdfurl of string
| `tags of string list
| `title of string
| `url of string
| `year of string ]
The type of fields.
type field_name = [ `abstract
| `authors
| `bibtex
| `citation
| `comment of string
| `doi
| `how
| `id
| `keywords
| `note
| `pdfurl
| `tags
| `title
| `url
| `year ]
The names of the fields (useful for querying).
type entry = field list 
One entry is a list of fields.
type set = entry list 
A bibliography is a list of entries.
val is_valid : set -> [ `no of entry list | `yes ]
Check the validity of the set (i.e. that each entry has an `id field, if not it returns the list of entries that are wrong.
val is_bibtexable : set -> [ `no of entry list | `yes ]
Check that the bibliography is compatible with BibTeX generation, i.e. that it either has a `bibtex field, or has an `id, a `title, and a `how (in order to build a '@misc' BibTeX entry).
val find_field : field_name -> entry -> field option
Find a field in an entry.
val field_or_empty : ?title_style:[ `none | `punct ] ->
?authors_style:Sebib.AuthorList.style ->
field_name -> entry -> string
For a given entry, retrieve a field convert to a string.
val field_name_of_string : string -> field_name
"Parse" a field name.
val sort : ?by:field_name ->
?reverse:bool -> set -> set
Sort the bibliography set (it is functional, the original one is not modified).
val unique : ?cmp:(entry -> entry -> bool) ->
set -> entry list
Remove redundant entries (by default, using compare).
val compare_by_field : field_name -> entry -> entry -> bool
Compare two entries by a given field, if the field is not present in both it returns false.