This page demonstrates a bibliography inside a book: references are cited
in the running text, numbered in the order they appear, and gathered in a table
at the end of the document.
A reference is numbered the first time it is cited. Every later citation of the
same reference carries that same number. There is a single sequence of numbers
for the whole document, and reloading the page gives the same numbers, because
the order of the text does not change.
The bibliography itself does not depend on the citations: it lists what the
BibTeX data contains. A page without any citation still gets its table — see
publications.html.
Four steps: write the data, cite in the text, add the placeholder, call the JS API.
One stylesheet, and one only. A bibliography is a table that sorts and
whose columns are shown or hidden; bibbook.css brings what
it is built with, so a page has nothing else to know.
Cite with a span carrying a data-bibtex attribute.
A span is allowed between two words of a sentence. Write a
readable citation inside: it is replaced by the number, and it is what the
reader gets when JavaScript is unavailable or has not loaded.
<p>The corpus is described in
<span data-bibtex="bigi2022lrec">Bigi et al., 2022</span>.</p>
<!-- with JavaScript: The corpus is described in [1]. -->
<!-- without JavaScript: The corpus is described in Bigi et al., 2022. -->
Add an empty element where the table is to be placed.
<div id="bibliography"></div>
Instantiate BookBibliography with the id of the data, the id of
the placeholder, and the id of the content to scan for citations. Then call
run(), which returns a promise.
const biblio = new BookBibliography('bibtex', 'bibliography', 'main-content');
biblio.run();
What a citation gives
Reading a citation, on screen and with a screen reader
Case
On screen
Screen reader
The key names a reference
The number, in square brackets.
"Reference", then the number. Never the brackets.
The key names nothing
[?], and no number is given.
"Missing reference".
JavaScript does not run
What is written inside the span.
The same, as part of the sentence.
A citation opens on demand: the full reference, its abstract, its BibTeX source and
its links, without leaving the sentence and without scrolling the page. Several may
stay open at once, and none closes on its own. Keys that name nothing are reported
through Wexa.logger.
A link goes from a citation to its entry in the bibliography, and from that entry
back to every place where it is cited.
CSS classes
Everything the bibliography writes carries a class, and
bibbook.css only styles what a bibliography needs to be read:
the rest is left to whoever writes the document. An unlayered rule of your
own wins over the ones of the framework, so overriding any of these takes
no !important and no complex selector.
A reference
A reference is written in three lines: who wrote it, what it is called, and
where it came out. The three names never change, whatever the type of the
entry, so a stylesheet can lay them out side by side, wrap them, or reorder
them.
The three lines, side by side rather than one under the other.
Inside it: the link to the bibliography, a named part, what it says.
Demonstration
Citations in a running text
The paragraphs below cite five keys. The first three are cited once each, in the
order they appear, and take the numbers 1, 2 and 3. The fourth citation repeats
the first key, and carries the number 1 again. The last one names a key that no
entry defines.
A corpus of French Cued Speech is described in
Bigi et al., 2022, and the kinds of data
collected when studying spoken language are discussed in
Ghio & Bigi, 2023. Tools and
principles for corpus annotation are gathered in
Amoyal et al., 2022.
The same corpus Bigi et al., 2022 is cited
a second time here, and keeps its first number. Resources for a less-resourced
language are presented in
Pakrashi et al., 2026.
This last citation Nobody, 2026 names a
key that no entry defines: it stays visible, says that it is missing, and receives
no number.
Bibliography
@article{pakrashi2026,
TITLE = "Resources Creation of Bengali for SPPAS",
AUTHOR = {Moumita Pakrashi and Brigitte Bigi and Shakuntala Mahanta},
JOURNAL = "Journal of Information and Telecommunication",
PUBLISHER = "Elsevier",
YEAR = "2026",
URL = "https://www.tandfonline.com/doi/full/10.1080/24751839.2025.2611605",
NOTE = "https://hal.science/hal-05474165",
ABSTRACT = {
The development of HLT (Human Language Technology) tools inevitably involves the need for
language resources. However, only a handful of languages possess such resources for free.
This paper presents the development of such speech tools for the Bengali language. It focuses
particularly on developing language resources for text normalisation, phonetization,
forced-alignment and syllabification of Bengali.
}
}
@InProceedings{bigi2022lrec,
author = {Brigitte Bigi and Maryvonne Zimmermann and Carine André},
title = {CLeLfPC: a Large Open Multi-Speaker Corpus of French Cued Speech},
booktitle = {Proceedings of The 13th Language Resources and Evaluation Conference},
year = {2022},
address = {Marseille, France},
publisher = {European Language Resources Association},
pages = {987-994},
url = {http://www.lrec-conf.org/proceedings/lrec2022/pdf/2022.lrec-1.104.pdf},
note = {https://hal.archives-ouvertes.fr/hal-03794830},
abstract = {Cued Speech is a communication system developed for deaf people to complement
speechreading at the phonetic level with hands. This paper describes CLeLfPC, a corpus of
French Cued Speech. It consists in about 4 hours of audio and HD video recordings of 23
participants.}
}
@InBook{ghio2023dunod,
chapter = {{Etudier le langage oral : les diff{\'e}rents types de donn{\'e}es recueillies}},
author = {Alain Ghio and Brigitte Bigi},
title = {{Introduction aux statistiques en sciences du langage}},
editor = {Clara Solier and Lucille Soulier and Nour Ezzedine},
publisher = {{Dunod}},
pages = {7-36},
year = {2023},
note = {https://hal.science/hal-04248428}
}
@Article{bigi2022tipa,
title = {Principes et outils pour l'annotation des corpus},
author = {Mary Amoyal and Roxane Bertrand and Brigitte Bigi and Auriane Boudin and Christine Meunier and Berthille Pallaud and Béatrice Priego-Valverde and Stéphane Rauzy and Marion Tellier},
journal = {Travaux interdisciplinaires sur la parole et le langage},
pages = {186-234},
year = {2022},
volume = {38},
publisher={OpenEdition},
url = {https://doi.org/10.4000/tipa.5424},
note = {https://hal.science/hal-03917814},
}
@techreport{bigi2015tutohk2,
author={Brigitte Bigi},
title={Methodology and software for the semi-automatic annotation of speech},
year = {2015},
institution = {Tutorial at Poly U, Hong Kong},
url = {http://sppas.org/bigi/Doc/2015-SPPAS-Tutorial-HongKong/pdf/SPPAS-tutorial-Handout.pdf},
howpublished = {Documentation}
}
@dataset{demo2026unknown,
title = {An entry with an unknown type and missing fields}
}