ConTeXt/Références internes et externes
← Page précédente : Comment organiser les références, citations et autres index | Sommaire du Wikilivre ConTeXt | Page suivante : Références bibliographiques →
Références internes (sections, figures…) et références externes
[modifier | modifier le wikicode]Objectifs de cette section
Cette page présente les références internes et externes dans ConTeXt. Elle explique :
- comment marquer des emplacements dans le document (sections, figures, passages) ;
- comment créer des références croisées vers ces emplacements ;
- comment afficher le numéro, la page ou le titre d’un élément référencé ;
- comment insérer des liens externes (sites web, documents, fichiers PDF) ;
- quelles bonnes pratiques adopter pour un travail académique lisible et maintenable.
Dans un mémoire, une thèse ou un ouvrage long, les références croisées jouent un rôle central : elles orientent le lecteur, relient les parties du texte entre elles et facilitent la navigation dans le PDF final.
On distingue deux grandes familles de références :
- les références internes : renvois vers la structure du document (chapitres, sections, figures, formules, passages marqués) ;
- les références externes : liens vers des ressources situées hors du document (sites web, articles PDF, pages de documentation, etc.).
1. Principe général des références croisées
[modifier | modifier le wikicode]Le mécanisme repose sur deux opérations très simples :
- marquer un emplacement dans le document en lui donnant un identifiant unique ;
- y faire référence plus loin dans le texte en appelant cet identifiant.
ConTeXt se charge ensuite :
- d’afficher le bon numéro (chapitre, section, figure, formule) ;
- d’indiquer la bonne page ;
- et, si l’interactivité est activée, de rendre ces références cliquables dans le PDF.
Pour activer l’interaction dans le document :
\setupinteraction[state=start]
Une fois ce réglage en place, la plupart des commandes de renvoi produisent des liens actifs dans le PDF.
2. Références internes : chapitres, sections et sous-sections
[modifier | modifier le wikicode]Les commandes de structuration acceptent un identifiant entre crochets. Cet identifiant sera utilisé par la suite comme « clé » de renvoi.
\chapter[chap:intro]{Introduction}
\section[sec:method]{Méthodologie}
\subsection[sec:method:data]{Collecte des données}
Dans cet exemple, les identifiants sont :
chap:intropour le chapitre d’introduction ;sec:methodpour la section de méthodologie ;sec:method:datapour la sous-section de collecte des données.
Adopter une convention de nommage régulière (préfixes chap:, sec:, etc.) simplifie énormément la lecture du code source.
3. Faire référence à ces éléments
[modifier | modifier le wikicode]Trois commandes sont particulièrement utiles :
\in: renvoie vers le numéro (chapitre, section, figure, etc.) ;\at: renvoie vers la page ;\about: renvoie vers le titre (texte associé).
Exemples :
Voir \in{le chapitre}[chap:intro].
La méthode est expliquée dans \in{la section}[sec:method].
Cette section commence \at{page}[sec:method].
Son titre est : \about[sec:method].
Les formes abrégées sont aussi possibles :
Voir \in[chap:intro].
Détails à la page \at[sec:method].
Si l’interaction est activée, ces renvois deviennent des liens cliquables vers le bon endroit dans le PDF.
Astuce
En pratique, il est souvent plus lisible d’écrire la phrase en français et de laisser ConTeXt gérer la numérotation :
Voir \in{la section}[sec:method] pour les détails.
En cas de réorganisation du plan (sections déplacées ou renumérotées), les références restent correctes sans aucune intervention manuelle.
4. Références à des figures, tableaux et formules
[modifier | modifier le wikicode]La même logique s’applique aux figures, tableaux et équations : on pose un identifiant au moment où l’on place l’élément, puis on y fait référence.
4.1 Figures
[modifier | modifier le wikicode]\placefigure[here][fig:cow]
{Une vache de démonstration}
{\externalfigure[cow][width=4cm]}
Dans le texte :
Comme le montre \in{la figure}[fig:cow] à la \at{page}[fig:cow],
la vache se tient au centre de l’illustration.
Son titre exact est : \about[fig:cow].
4.2 Formules
[modifier | modifier le wikicode]Pour une formule ou une équation, on peut également poser un identifiant :
\placeformula[eq:fondement]
E = mc^2
\endplaceformula
Voir la formule \in[eq:fondement].
4.3 Tableaux
[modifier | modifier le wikicode]Les tableaux suivent le même principe, avec un identifiant du type tab:... :
\placetable[here][tab:donnees]
{Données expérimentales}
{\starttable[|c|c|]
\HL
\NC x \NC y \NC\AR
\HL
\NC 1 \NC 2 \NC\AR
\NC 2 \NC 4 \NC\AR
\HL
\stoptable}
Renvoi dans le texte :
Les résultats sont rassemblés dans \in{le tableau}[tab:donnees].
5. Références internes hors structure
[modifier | modifier le wikicode]Il arrive qu’on veuille marquer un passage précis à l’intérieur d’un paragraphe, sans lien direct avec un titre, une figure ou un tableau.
ConTeXt propose pour cela des commandes dédiées :
\textreference[ref:momentcle]{Un moment important}
Plus loin dans le texte :
Voir \about[ref:momentcle] à la \at{page}[ref:momentcle].
On peut également utiliser :
\pagereference: marque uniquement la page, sans texte associé ;\somewhere: permet d’obtenir automatiquement une indication de type « plus haut » / « plus bas » selon la position relative du renvoi.
Astuce
Pour des travaux longs, il est judicieux de rassembler les références « hors structure » selon une convention claire, par exemple :
ref:intro:motif, ref:ch3:preuve1, etc. Cela facilite énormément la recherche d’un passage précis dans le code source.
6. Références externes : liens vers des ressources
[modifier | modifier le wikicode]Les références externes couvrent les liens vers des sites web, des documents en ligne, des ressources PDF, etc.
6.1 Liens simples vers des sites web
[modifier | modifier le wikicode]La forme la plus directe est :
\gotoURL{Site officiel de ConTeXt}{https://wiki.contextgarden.net}
Le premier argument est le texte affiché, le second l’URL réelle.
6.2 Définition réutilisable d’URLs
[modifier | modifier le wikicode]Lorsque la même URL doit être utilisée plusieurs fois, il est préférable de la définir une fois pour toutes avec \useURL :
\useURL[ctxsite][https://wiki.contextgarden.net][][ConTeXt Garden]
Vous pouvez consulter \from[ctxsite] pour plus d'informations.
Ici :
ctxsiteest le nom de la référence (clé interne) ;https://wiki.contextgarden.netest l’URL ;ConTeXt Gardenest le texte affiché dans le document.
6.3 Affichage propre des URLs longues
[modifier | modifier le wikicode]Pour afficher une adresse très longue en laissant à ConTeXt le soin de couper proprement aux endroits autorisés, on peut utiliser :
\hyphenatedurl{https://www.example.org/chemin/très/long/vers/une/page.html}
Cela évite les débordements en marge et rend la mise en page beaucoup plus propre.
7. Bonnes pratiques de nommage et compilation
[modifier | modifier le wikicode]Pour rester lisible et éviter les collisions de noms, il est recommandé d’adopter des préfixes cohérents :
chap:pour les chapitres ;sec:pour les sections ;fig:pour les figures ;tab:pour les tableaux ;eq:pour les formules ;ref:pour les références « libres » dans le corps du texte.
Astuce
Dans un document long (thèse, ouvrage), une convention hiérarchique aide à rester cohérent, par exemple :
ch3:sec2:fig1, ch5:eq:fond, ch2:ref:definition1.
Problème courant
Si une référence affiche ?? dans le document, c’est que ConTeXt n’a pas encore résolu le renvoi.
Il faut compiler le document au moins deux fois pour que toutes les références croisées soient correctement établies.
Avertissement
Si vous renommez ou supprimez un identifiant (sec:..., fig:..., etc.), pensez à mettre à jour tous les renvois correspondants.
Sinon, vous obtiendrez soit des références mortes, soit des renvois incohérents dans le PDF.