Aller au contenu

ConTeXt/Comment organiser les références, citations et autres index

Un livre de Wikilivres.

ConTeXt/Comment organiser les références, citations et autres index

[modifier | modifier le wikicode]

Objectifs de cette section

Cette page explique comment organiser les éléments suivants dans un document ConTeXt :

  • les citations et la bibliographie ;
  • la ventilation de la bibliographie (par thèmes, corpus, périodes) ;
  • la génération automatique des références ;
  • les index (noms, notions) et leur placement en fin d’ouvrage ;
  • la structure générale du backmatter d’un document long.

L’objectif est de fournir une méthode claire, progressive et conforme aux usages de l’édition savante.

1. Principes généraux

[modifier | modifier le wikicode]

Dans les travaux universitaires, la bibliographie et les index se trouvent dans la partie finale du document, le backmatter. ConTeXt respecte cette organisation. La seule variation concerne la ToC (Table of Contents = table des matières), traditionnellement placée en fin d’ouvrage dans les usages francophones.

Les commandes principales sont :

Bibliographie

\placelistofpublications[Litt][method=local]

Index

\completeindex

Table des matières

\completecontent[criterium=previous]

La commande bibliographique possède la forme générale suivante :

\placelistofpublications[NomDeDataset][method=local]

Elle produit automatiquement les références associées au dataset, lequel est alimenté dans le texte par des commandes de citation :

\cite[alternative=entry][NomDeDataset::clé_biblio]

Schéma général : citations → données → backmatter

[modifier | modifier le wikicode]
                Texte principal (.tex)
             -----------------------------------
             |  ...                            |
             |  \cite[Litt::nails2000]         |
             |  \index{Académie}               |
             -----------------------------------
                         |
                         v
          Jeu de données bibliographiques (.bib)
      ------------------------------------------------
      | \usebtxdataset[Litt][mabiblio.bib]           |
      | Entrées : nails2000, plato1984, ...          |
      ------------------------------------------------
                         |
                         v
                    Backmatter
      ------------------------------------------------
      | \placelistofpublications[Litt]               |
      | \completeindex                               |
      | \completecontent                              |
      ------------------------------------------------

2. Exemple simple : citations et index

[modifier | modifier le wikicode]

On suppose que le préambule contient :

\usebtxdataset[Litt][mabiblio.bib]
\usebtxdefinitions[apa]

Alors le texte :

Enfin, Platon est le fondateur d'une école appelée l'Académie\index{Académie},
dissoute par Justinien\index{Justinien} en 529.

Selon Debra Nails\cite[alternative=entry][Litt::nails2000],
l'histoire de cette école se déploie sur huit siècles.

produira automatiquement :

  • une entrée bibliographique correspondant à nails2000 ;
  • deux entrées d’index : Académie, Justinien.

Comprendre le vocabulaire bibliographique de ConTeXt

[modifier | modifier le wikicode]

Le système bibliographique de ConTeXt, dit btx, repose sur les fichiers .bib et sur quatre notions fondamentales :

  • dataset : jeu de données bibliographiques ;
  • clé bibliographique : identifiant d’une référence ;
  • style : norme de mise en forme (APA, MLA, Chicago...) ;
  • rendu : sélection et tri des entrées d’un dataset.

2.2 Le fichier *.bib

[modifier | modifier le wikicode]

Exemple minimal :

@book{nails2000,
  author    = {Debra Nails},
  title     = {The People of Plato},
  year      = {2000},
  publisher = {Princeton University Press},
}

La clé nails2000 est l’identifiant utilisé dans :

\cite[Litt::nails2000]

Astuce
Utilisez Zotero ou JabRef pour générer vos fichiers .bib. Évitez les accents, espaces et majuscules dans les clés bibliographiques.

2.3 Charger un dataset : \usebtxdataset

[modifier | modifier le wikicode]
\usebtxdataset[Litt][mabiblio.bib]

2.4 Choisir un style : \usebtxdefinitions

[modifier | modifier le wikicode]
\usebtxdefinitions[apa]

Styles disponibles : apa, mla, chicago, numeric

2.5 Citer une référence : \cite

[modifier | modifier le wikicode]
Selon Debra Nails\cite[alternative=entry][Litt::nails2000] ...

2.6 Produire la bibliographie : \placelistofpublications

[modifier | modifier le wikicode]
\placelistofpublications[Litt][method=local]

2.7 Schéma récapitulatif

[modifier | modifier le wikicode]
        +-----------------------------+
        |      Fichier .bib           |
        |   (nails2000, plato1984…)   |
        +-------------+---------------+
                      |
                      v
        +-----------------------------+
        | \usebtxdataset[Litt][mabiblio.bib]  |
        | => charge toutes les données        |
        +-------------+-----------------------+
                      |
                      v
        +------------------------------+
        | \cite[Litt::clé]            |
        | => collecte des références   |
        +-------------+----------------+
                      |
                      v
        +-----------------------------------------+
        | \placelistofpublications[Litt][local]   |
        | => génère la bibliographie finale       |
        +-----------------------------------------+

Important
ConTeXt n’interprète ni ne corrige les fichiers .bib. Une entrée incorrecte produira une référence incorrecte.

Schéma d'organisation de l'import des références dans un document produit avec ConTeXt

3. Ventilation de la bibliographie

[modifier | modifier le wikicode]

On peut répartir la bibliographie en plusieurs sections :

3.1 Déclarer les datasets

[modifier | modifier le wikicode]
\usebtxdataset[philosophie-ancienne][mabiblio.bib]
\usebtxdataset[philosophie-medievale][mabiblio.bib]
\usebtxdataset[litterature-secondaire][mabiblio.bib]

3.2 Choisir un style

[modifier | modifier le wikicode]
\usebtxdefinitions[apa]

3.3 Définir le rendu

[modifier | modifier le wikicode]
\definebtxrendering[philosophie-ancienne][apa][dataset=philosophie-ancienne]
\definebtxrendering[philosophie-medievale][apa][dataset=philosophie-medievale]
\definebtxrendering[litterature-secondaire][apa][dataset=litterature-secondaire]

3.4 Bibliographie continue

[modifier | modifier le wikicode]
\setupbtxrendering[continue=yes]

4. Disposition dans le backmatter

[modifier | modifier le wikicode]
\startbackmatter

\chapter{Bibliographie}

\section{\em Philosophie ancienne}
\placelistofpublications[philosophie-ancienne][method=local]

\section{\em Philosophie médiévale}
\placelistofpublications[philosophie-medievale][method=local]

\section{\em Littérature secondaire}
\placelistofpublications[litterature-secondaire][method=local]

\completeindex
\completecontent

\stopbackmatter

5. MWE complet

[modifier | modifier le wikicode]
% mwe-biblio-index-a4.tex
% Exemple complet : 2 pages A4, citations, bibliographie, index fourni

% -------------------------------------------------
% 1. Format de page et mise en page (A4)
% -------------------------------------------------
\setuppapersize[A4][A4]

\setuplayout
  [location=middle,   % texte centré sur la page
   width=130mm,       % largeur du bloc de texte
   height=200mm,      % hauteur du bloc de texte
   backspace=25mm,    % marge intérieure
   topspace=18mm,     % marge haute
   header=10mm,
   footer=10mm]

% -------------------------------------------------
% 2. Police principale :  Pagella, en 10 pt, afin que tout l'exemple puisse tenir sur 2 pages PDF
% -------------------------------------------------
\definefontfamily[mainface][serif][Pagella]
\setupbodyfont[mainface,10pt]

% Quelques réglages de confort typographique
\setupalign[hz,hanging]            % micro-justification + ponctuation pendante
\setupinterlinespace[line=2.6ex]   % interligne légèrement augmenté

% -------------------------------------------------
% 3. Titres de chapitre
%    "page=no" : pas de saut de page forcé avant un chapitre
% Ce qui évite les pages blanches
% -------------------------------------------------
\setuphead[chapter][page=no]

% -------------------------------------------------
% 4. Bibliographie btx
%    - on déclare un dataset : ici il se nomme : Litt
%    - on choisit un style : ici c'est le style apa
%    - on définit un "rendering" Litt qui pointe vers le dataset Litt
% -------------------------------------------------
\usebtxdataset[Litt][mabiblio.bib]
\usebtxdefinitions[apa]

\definebtxrendering[Litt][apa][dataset=Litt]
\setupbtxrendering[continue=yes]   % numérotation continue si plusieurs sections

% -------------------------------------------------
% 5. Index : l'index est appelé par \setupregister
%    - index "index" standard
%    - n=3 : trois colonnes
%    - balance=yes : équilibrer le contenu des colonnes
%style= \tfx, diminue la taille de la police dans l'index
% -------------------------------------------------
\setupregister[index][n=3,balance=yes,style=\tfx]


\starttext

% -------------------------------------------------
% 6. Chapitre 1 : texte philosophique + citations + index
% -------------------------------------------------
\chapter{De la cité à l'empire}

La philosophie de Platon\index{Platon} naît dans le cadre
de la cité grecque\index{cité grecque}, à l'intérieur
d'un horizon politique structuré par la{\em  polis} athénienne.
L'Académie\index{Académie de Platon}
est une institution {\em civique} et {\em locale},
même si l'exigence de vérité qu'elle porte se veut
universelle.

\blank[small]

Pour suivre les personnages qui gravitent autour de
Platon et de son école, on peut se reporter au travail
prosopographique de Debra Nails%
\cite[alternative=entry][Litt::nails2000]%
\index{Nails, Debra}, qui montre comment l'Académie
s'inscrit dans un réseau de familles, de cités et
de fonctions politiques\index{réseau@réseau de relations}.

\blank[small]

Avec l'empire d'Alexandre\index{Alexandre le Grand},
l'horizon de la cité se trouve débordé. Festugière,
dans \quotation{Épicure et ses dieux}%
\cite[alternative=entry][Litt::festugiere1956]%
\index{Festugière, André-Jean}, insiste sur le lien entre
la disparition de la cité comme cadre exclusif et la
naissance d'un cosmopolitisme\index{cosmopolitisme}
hellénistique\index{monde hellénistique} où l'individu
se pense désormais comme citoyen du monde.

\blank[small]

Ce changement d'échelle modifie aussi la question
de l'appartenance religieuse\index{religion antique}
et de la communauté philosophique\index{communauté philosophique} :
le sage n'est plus seulement un citoyen d'Athènes ou
de Corinthe, mais un membre d'une communauté dispersée,
en dialogue avec d'autres langues\index{langues anciennes}
et d'autres traditions.

% -------------------------------------------------
% 7. Chapitre 2 : autre bloc de texte + index
% -------------------------------------------------
\chapter{Translatio studiorum et médiations multiples}

On a parfois raconté la {\em translatio studiorum}
\index{translatio studiorum} comme une ligne droite\,:
des Grecs aux Arabes, des Arabes aux Latins.\footnote{Cette présentation
est commode (c'est la thèse de A. de Libera\index{Alain de Libera}: \cite[alternative=entry][Litt::libera2019]), mais elle simplifie à l'excès le jeu des médiations tardo-antiques
et byzantines, ainsi que la diversité des traditions latines.}
Cette image signale quelque chose de vrai, mais elle est trop simple.

\blank[small]

Dans l'Antiquité tardive, une partie importante des
textes d'Aristote\index{Aristote} est traduite en latin
par Boèce\index{Boèce} (logique, catégories, interprétation).
Ces traductions circulent dans le monde latin bien avant
le grand mouvement de traductions arabo-latines du
XII\high{e} siècle —  XIII\high{e} siècle(Cf. Les thèses d'Axel Tisserand dans \cite[alternative=entry][Litt::tisserand2008] et l'ouvrage classique de Courcelle :\cite[alternative=entry][Litt::courcelle1948]).

\blank[small]

Cela relativise l'idée d'une dépendance exclusive de
l'Occident latin à l'égard des traductions arabes\index{monde arabe}
pour l'accès à Aristote et, plus largement, à la philosophie
grecque\index{philosophie grecque}.

Les médiations sont multiples\,:
Constantinople\index{Constantinople}, le monde syriaque,
les écoles monastiques\index{écoles monastiques} et, plus
tard, les universités médiévales\index{universités médiévales}.

\blank[small]

La philosophie antique\index{philosophie antique} n'est donc pas
transmise comme un bloc figé, mais comme un ensemble
de textes et de problèmes qui se laissent réinscrire
dans des cadres politiques, religieux et institutionnels
toujours nouveaux\index{cadres institutionnels}.

% -------------------------------------------------
% 8. Chapitre Bibliographie
%    \placelistofpublications[Litt] :
%    - "Litt" = nom du rendering défini plus haut
%    - dataset = Litt (fichier mabiblio.bib)
%    - method=local : uniquement les références citées
% -------------------------------------------------
\chapter{Bibliographie}

\placelistofpublications[Litt][method=local]

% -------------------------------------------------
% 9. Chapitre Index
%    \completeindex utilise les entrées marquées par \index
%    L'affichage se fait ici sur 3 colonnes (cf. \setupregister)
% -------------------------------------------------


\completeindex

\stoptext

  • Le code ConTeXt ci-dessus produit les deux pages PDF suivantes :

Page 1 du MWE Page 2 du MWE

Points importants : ce qu’il faut absolument retenir

L’organisation des citations, de la bibliographie et des index dans ConTeXt repose sur une logique simple mais très structurée. Voici les étapes essentielles, dans l’ordre où il faut les suivre.

  1. Séparer les données et la mise en forme Le fichier .bib contient des données (auteurs, titres, éditeurs). ConTeXt ne se charge ni de les corriger ni de les compléter : il faut des entrées propres.
  2. Déclarer explicitement les jeux de données bibliographiques \usebtxdataset indique : « ce fichier .bib alimente ce jeu de données ». Un oubli ici = une bibliographie vide.
  3. Choisir un style bibliographique cohérent \usebtxdefinitions[apa] ou un autre style. Mélanger les styles conduit rapidement à un document incohérent.
  4. Citer au fil du texte pour collecter les références \cite[Litt::clé] ajoute automatiquement l’entrée à la liste finale. Sans citation → la référence n’apparaît pas dans la bibliographie locale.
  5. Placer bibliographie, index et table des matières dans le backmatter C’est la structure des documents longs dans ConTeXt. L’index doit être généré seulement à la fin avec \completeindex.
  6. Indexer régulièrement Utiliser \index{mot} dès qu’un terme important apparaît, surtout dans les documents de plus de quelques dizaines de pages.
  7. Tester la configuration sur un MWE avant de l’intégrer dans un projet réel Cela permet d’identifier rapidement les erreurs d’orthographe de clé, les problèmes de style, ou les jeux de données mal déclarés.

Attention : erreurs fréquentes

  • Ne pas déclarer le fichier .bib ⇒ bibliographie vide.
  • Utiliser Litt::clé alors que le dataset s’appelle litt ⇒ aucune entrée trouvée.
  • Importer un .bib contenant des caractères non UTF-8 ⇒ blocage ou notices incomplètes.
  • Placer la bibliographie dans le bodymatter ⇒ la ToC ou l’index devient incohérent.

En suivant ces étapes dans cet ordre, la gestion bibliographique de ConTeXt devient fiable, reproductible, et conforme aux standards de l’édition savante.


7. Indexation automatique

[modifier | modifier le wikicode]

Indexation automatique : indispensable dans les documents longs

L’indexation manuelle avec la commande \index convient pour les documents courts, mais elle devient rapidement fastidieuse lorsque le texte dépasse plusieurs dizaines de pages : répétitions, incohérences, oubli de variantes orthographiques, ajouts ultérieurs difficiles à repérer, etc.

Pour un ouvrage long, il est fortement recommandé d’utiliser un mécanisme d’indexation semi-automatique ou automatique, par exemple :

  • un script externe (Python, Lua) qui scanne le texte à la recherche de termes à indexer ;
  • un dictionnaire d’index (liste de lemmes) utilisé par un script pour générer les commandes \index{...} ;
  • des macros de type \lemma*\{mot\} permettant d’annoter un mot et de l’envoyer automatiquement dans l’index en plus d’une note ou d’un commentaire ;
  • ou encore un travail préparatoire dans un éditeur (Zotero, Obsidian, Notepad++ avec regex) qui repère les occurrences avant compilation.

Dans les ouvrages savants, cette phase de préparation est essentielle. Elle permet d’obtenir un index cohérent, riche, et surtout maintenable : les modifications du texte n’obligent plus à tout reprendre manuellement.