> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/fr/structure-du-document/06-nomenclatures.md).

# Nomenclatures

## Introduction

Une liste d’abréviations et de symboles est courante dans de nombreux documents scientifiques. Ce type de liste peut être créé avec LaTeX au moyen de `nomencl` package. Cet article explique comment créer des nomenclatures, en personnalisant l’ordre et le sous-groupement des symboles.

Les entrées de nomenclature fonctionnent à peu près comme des entrées d’index :

```latex
\documentclass{article}
\usepackage{nomencl}
\makenomenclature

\begin{document}
Voici un exemple :
\nomenclature{\(c\)}{Vitesse de la lumière dans le vide}
\nomenclature{\(h\)}{Constante de Planck}

\printnomenclature
\end{document}
```

[Ouvrez cet `nomencl` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%5Cnomenclature%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures01OLV2.png](/files/bf77f0c7b8ab7a8c81049cdb3115e6144e3794e7)

Comme d’habitude, le package est importé dans le préambule par `\usepackage{nomencl}`. Les trois commandes de base pour produire les nomenclatures sont :

* `\makenomenclature`. Généralement placée juste après l’import du package.
* `\nomenclature`. Utilisée pour définir les entrées de nomenclature elles-mêmes. Prend deux arguments, le symbole et la description correspondante.
* `\printnomenclatures`. Cette commande affichera la liste des nomenclatures.

## Syntaxe de base

Des options supplémentaires peuvent être utilisées lors de l’import du `nomencl` package. L’exemple suivant montre comment ajouter la nomenclature à la table des matières et comment changer la langue par défaut :

```latex
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[intoc, spanish]{nomencl}
\makenomenclature

\begin{document}
\tableofcontents

\section{Première section}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortisfacilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdie...

\nomenclature{\(c\)}{Vitesse de la lumière dans le vide}
\nomenclature{\(h\)}{Constante de Planck}

\printnomenclature
\end{document}
```

[Ouvrez cet `nomencl` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bspanish%5D%7Bbabel%7D%0A%5Cusepackage%5Bintoc%2C+spanish%5D%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0A%5Ctableofcontents%0A%0A%5Csection%7BPrimera+Secci%C3%B3n%7D%0A%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Etiam+lobortisfacilisis+sem.+Nullam+nec+mi+et+neque+pharetra+sollicitudin.+Praesent+imperdie...%0A%0A%5Cnomenclature%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures02OLV2.png](/files/1e94f84dea1736b70a79b7b383de1f26dc229fbc)

Les options supplémentaires utilisées ici lors de l’import du package sont :

* `intoc` Ajoute la **Nomenclature** à la table des matières.
* `spanish` Change la langue, en traduisant le titre par défaut *Nomenclatures* en conséquence. Les langues prises en charge sont : `croatian`, `danish`, `english`, `french`, `german`, `italian`, `polish`, `portuguese`, `option de langue`, `spanish` et `ukranian`.

D’autres fonctionnalités utiles du `nomencl` package sont la possibilité de définir manuellement le titre de la nomenclature et d’ajouter une annotation supplémentaire.

```latex
\documentclass{article}
\usepackage{nomencl}
\makenomenclature

\renewcommand{\nomname}{Liste des symboles}

\renewcommand{\nompreamble}{La liste suivante décrit plusieurs symboles qui seront utilisés plus tard dans le corps du document}

\begin{document}
Voici un exemple :

\nomenclature{\(c\)}{Vitesse de la lumière dans le vide}
\nomenclature{\(h\)}{Constante de Planck}

\printnomenclature
\end{document}
```

[Ouvrez cet `nomencl` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Crenewcommand%7B%5Cnomname%7D%7BList+of+Symbols%7D%0A%0A%5Crenewcommand%7B%5Cnompreamble%7D%7BThe+next+list+describes+several+symbols+that+will+be+later+used+within+the+body+of+the+document%7D%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures03verbOLV2.png](/files/8ad6dc946d10419c622b3c949cc2e0c749fbc4b1)

La ligne

```
\renewcommand{\nomname}{Liste des symboles}
```

change le titre par défaut.

La commande

```
\renewcommand{\nompreamble}{La liste suivante...}
```

insère du texte entre le titre et la liste des symboles.

## Regroupement

Pour regrouper les symboles selon leur type, un travail supplémentaire est nécessaire. Nous ajoutons un préfixe à chaque symbole et utilisons le `etoolbox` package pour comparer les préfixes.

```latex
\documentclass{article}
\usepackage{amssymb}
\usepackage{nomencl}
\makenomenclature

%% Ce code crée les groupes
% -----------------------------------------
\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{P}{Constantes physiques}{%
  \ifstrequal{#1}{N}{Ensembles de nombres}{%
  \ifstrequal{#1}{O}{Autres symboles}{}}}%
]}
% -----------------------------------------

\begin{document}
Voici un exemple :

\nomenclature[P]{\(c\)}{Vitesse de la lumière dans le vide}
\nomenclature[P]{\(h\)}{Constante de Planck}
\nomenclature[P]{\(G\)}{Constante gravitationnelle}
\nomenclature[N]{\(\mathbb{R}\)}{Nombres réels}
\nomenclature[N]{\(\mathbb{C}\)}{Nombres complexes}
\nomenclature[N]{\(\mathbb{H}\)}{Quaternions}
\nomenclature[O]{\(V\)}{Volume constant}
\nomenclature[O]{\(\rho\)}{Indice de frottement}

\printnomenclature
\end{document}
```

[Ouvrez cet `nomencl` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%25%25+This+code+creates+the+groups%0A%25+-----------------------------------------%0A%5Cusepackage%7Betoolbox%7D%0A%5Crenewcommand%5Cnomgroup%5B1%5D%7B%25%0A++%5Citem%5B%5Cbfseries%0A++%5Cifstrequal%7B%231%7D%7BP%7D%7BPhysics+constants%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BN%7D%7BNumber+sets%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BO%7D%7BOther+symbols%7D%7B%7D%7D%7D%25%0A%5D%7D%0A%25+-----------------------------------------%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%5BP%5D%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%5BP%5D%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%5Cnomenclature%5BP%5D%7B%5C%28G%5C%29%7D%7BGravitational+constant%7D%0A%5Cnomenclature%5BN%5D%7B%5C%28%5Cmathbb%7BR%7D%5C%29%7D%7BReal+numbers%7D%0A%5Cnomenclature%5BN%5D%7B%5C%28%5Cmathbb%7BC%7D%5C%29%7D%7BComplex+numbers%7D%0A%5Cnomenclature%5BN%5D%7B%5C%28%5Cmathbb%7BH%7D%5C%29%7D%7BQuaternions%7D%0A%5Cnomenclature%5BO%5D%7B%5C%28V%5C%29%7D%7BConstant+volume%7D%0A%5Cnomenclature%5BO%5D%7B%5C%28%5Crho%5C%29%7D%7BFriction+index%7D%0A%0A%5Cprintnomenclature%0A%5Cend%7Bdocument%7D)

![Nomenclatures04OLV2.png](/files/afd8d28550714b5159c5c66dcf3282f150306c80)

Des groupes supplémentaires sont ajoutés. Le code pour cela n’est pas si simple, il utilise la commande `\ifstrequal{}{}{}{}`, les deux premiers arguments sont les chaînes à comparer ; s’ils sont égaux, le terme est ajouté au groupe, sinon la condition imbriquée suivante est vérifiée.

Notez que maintenant chaque `\nomenclature` commande possède un argument supplémentaire, le préfixe, entre crochets ; celui-ci est utilisé dans le code de regroupement.

Si `etoolbox` n’est pas disponible, on peut utiliser le `ifthen` package à la place, qui fournit la condition `\ifthenelse{}{}{}`, mais la syntaxe est un peu plus complexe :

```latex
\usepackage{ifthen}
  \renewcommand{\nomgroup}[1]{%
  \item[\bfseries
  \ifthenelse{\equal{#1}{P}}{Constantes physiques}{%
  \ifthenelse{\equal{#1}{O}}{Autres symboles}{%
  \ifthenelse{\equal{#1}{N}}{Ensembles de nombres}{}}}%
  ]}
```

Cela produira les mêmes groupes de nomenclature.

## Ajout d’unités pour les constantes physiques

Une autre fonctionnalité intéressante consiste à utiliser le `siunitx` package pour ajouter des unités, en les alignant à droite des entrées correspondantes. Pour cela, il faut définir la `nomunit` macro comme indiqué dans l’exemple suivant :

```latex
\documentclass{article}
\usepackage{amssymb}
\usepackage{nomencl}
\usepackage{siunitx}
\usepackage{hyperref}
\makenomenclature
\hypersetup{
    colorlinks=true,
    urlcolor=blue,
}
%% Cela ajoutera les sous-groupes
%----------------------------------------------
\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{A}{Constantes physiques}{%
  \ifstrequal{#1}{B}{Ensembles de nombres}{%
  \ifstrequal{#1}{C}{Autres symboles}{}}}%
]}
%----------------------------------------------

%% Cela ajoutera les unités
%----------------------------------------------
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}#1}}
%----------------------------------------------

\title{Exemple de nomenclatures}
\author{Équipe Overleaf}
\date{\today}

\begin{document}
\maketitle

\noindent Voici un exemple montrant comment fonctionne le package \texttt{nomencl}, avec les unités mises en forme via le package \texttt{siunitx}. \href{https://www.nist.gov/pml/fundamental-physical-constants}{NIST} a été consulté pour fournir les valeurs des constantes physiques, ainsi que leurs unités correspondantes --- des liens sont fournis via le package \texttt{hyperref} :

\nomenclature[A, 02]{\(c\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?c}
{Vitesse de la lumière dans le vide}
\nomunit{\SI{299792458}{\meter\per\second}}}
\nomenclature[A, 03]{\(h\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?h}
{Constante de Planck}
\nomunit{\SI[group-digits=false]{6.62607015e-34}{\joule\per\hertz}}}
\nomenclature[A, 01]{\(G\)}{\href{https://physics.nist.gov/cgi-bin/cuu/Value?bg}
{Constante gravitationnelle}
\nomunit{\SI[group-digits=false]{6.67430e-11}{\meter\cubed\per\kilogram\per\second\squared}}}
\nomenclature[B, 03]{\(\mathbb{R}\)}{Nombres réels}
\nomenclature[B, 02]{\(\mathbb{C}\)}{Nombres complexes}
\nomenclature[B, 01]{\(\mathbb{H}\)}{Quaternions}
\nomenclature[C]{\(V\)}{Volume constant}
\nomenclature[C]{\(\rho\)}{Indice de frottement}

\printnomenclature

\end{document}
```

[Ouvrir dans Overleaf (exemple utilisant `nomencl` et `siunitx` packages).](/latex/fr/structure-du-document/06-nomenclatures.md)

![Nomcomplex.png](/files/d11effb924c0142713d1118d17d83557645c4d51)

## Tri des entrées

Voici l’ordre de tri par défaut :

```latex
\documentclass{article}
\usepackage{nomencl}

\makenomenclature

\begin{document}
Voici un exemple :

\nomenclature{\(+a\)}{Opérateur}
\nomenclature{\(2a\)}{Nombre}
\nomenclature{\(:a\)}{Symbole de ponctuation}
\nomenclature{\(Aa\)}{Lettre majuscule}
\nomenclature{\(aa\)}{Lettre minuscule}
\nomenclature{\(\alpha\)}{Caractère grec}

\printnomenclature

\end{document}
```

[Ouvrez cet `nomencl` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=nomencl+default+sort+order\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%7B%5C%28%2Ba%5C%29%7D%7BOperator%7D%0A%5Cnomenclature%7B%5C%282a%5C%29%7D%7BNumber%7D%0A%5Cnomenclature%7B%5C%28%3Aa%5C%29%7D%7BPunctuation+symbol%7D%0A%5Cnomenclature%7B%5C%28Aa%5C%29%7D%7BUppercase+letter%7D%0A%5Cnomenclature%7B%5C%28aa%5C%29%7D%7BLowercase+letter%7D%0A%5Cnomenclature%7B%5C%28%5Calpha%5C%29%7D%7BGreek+character%7D%0A%0A%5Cprintnomenclature%0A%0A%5Cend%7Bdocument%7D)

![Nomenclatures05OLV2.png](/files/aa5d03b1b6d2e97bc8004187eab9dd64d0a193bf)

Notez que le caractère grec apparaît avant les caractères alphabétiques à cause de la barre oblique inverse `\` dans `\alpha`.

Tout comme pour le regroupement, il est possible d’utiliser un préfixe pour trier manuellement les entrées de nomenclature :

```latex
\documentclass{article}
\usepackage{nomencl}

\makenomenclature

\begin{document}
Voici un exemple :

\nomenclature[06]{\(+a\)}{Opérateur}
\nomenclature[03]{\(2a\)}{Nombre}
\nomenclature[05]{\(:a\)}{Symbole de ponctuation}
\nomenclature[04]{\(Aa\)}{Lettre majuscule}
\nomenclature[01]{\(aa\)}{Lettre minuscule}
\nomenclature[02]{\(\alpha\)}{Caractère grec}

\printnomenclature

\end{document}
```

[Ouvrez cet `nomencl` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Sorting+nomencl+entries\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bnomencl%7D%0A%0A%5Cmakenomenclature%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%5B06%5D%7B%5C%28%2Ba%5C%29%7D%7BOperator%7D%0A%5Cnomenclature%5B03%5D%7B%5C%282a%5C%29%7D%7BNumber%7D%0A%5Cnomenclature%5B05%5D%7B%5C%28%3Aa%5C%29%7D%7BPunctuation+symbol%7D%0A%5Cnomenclature%5B04%5D%7B%5C%28Aa%5C%29%7D%7BUppercase+letter%7D%0A%5Cnomenclature%5B01%5D%7B%5C%28aa%5C%29%7D%7BLowercase+letter%7D%0A%5Cnomenclature%5B02%5D%7B%5C%28%5Calpha%5C%29%7D%7BGreek+character%7D%0A%0A%5Cprintnomenclature%0A%0A%5Cend%7Bdocument%7D)

![Nomenclatures06OLV2.png](/files/7420fc85c91f8da137d74925b82d8db8791ef3a4)

Le nombre à l’intérieur des crochets détermine l’ordre d’affichage du symbole correspondant. On peut aussi combiner le regroupement et le tri manuel :

```latex
\documentclass{article}
\usepackage{amssymb}
\usepackage{nomencl}
\makenomenclature

\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
  \item[\bfseries
  \ifstrequal{#1}{A}{Constantes physiques}{%
  \ifstrequal{#1}{B}{Ensembles de nombres}{%
  \ifstrequal{#1}{C}{Autres symboles}{}}}%
]}

\begin{document}
Voici un exemple :

\nomenclature[A, 02]{\(c\)}{Vitesse de la lumière dans le vide}
\nomenclature[A, 03]{\(h\)}{Constante de Planck}
\nomenclature[A, 01]{\(G\)}{Constante gravitationnelle}
\nomenclature[B, 03]{\(\mathbb{R}\)}{Nombres réels}
\nomenclature[B, 02]{\(\mathbb{C}\)}{Nombres complexes}
\nomenclature[B, 01]{\(\mathbb{H}\)}{Octonions}
\nomenclature[C]{\(V\)}{Volume constant}
\nomenclature[C]{\(\rho\)}{Indice de frottement}

\printnomenclature

\end{document}
```

[Ouvrez cet `nomencl` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Grouping+and+sorting+with+nomencl\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cusepackage%7Bnomencl%7D%0A%5Cmakenomenclature%0A%0A%5Cusepackage%7Betoolbox%7D%0A%5Crenewcommand%5Cnomgroup%5B1%5D%7B%25%0A++%5Citem%5B%5Cbfseries%0A++%5Cifstrequal%7B%231%7D%7BA%7D%7BPhysics+Constants%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BB%7D%7BNumber+Sets%7D%7B%25%0A++%5Cifstrequal%7B%231%7D%7BC%7D%7BOther+Symbols%7D%7B%7D%7D%7D%25%0A%5D%7D%0A%0A%5Cbegin%7Bdocument%7D%0AHere+is+an+example%3A%0A%0A%5Cnomenclature%5BA%2C+02%5D%7B%5C%28c%5C%29%7D%7BSpeed+of+light+in+a+vacuum%7D%0A%5Cnomenclature%5BA%2C+03%5D%7B%5C%28h%5C%29%7D%7BPlanck+constant%7D%0A%5Cnomenclature%5BA%2C+01%5D%7B%5C%28G%5C%29%7D%7BGravitational+constant%7D%0A%5Cnomenclature%5BB%2C+03%5D%7B%5C%28%5Cmathbb%7BR%7D%5C%29%7D%7BReal+numbers%7D%0A%5Cnomenclature%5BB%2C+02%5D%7B%5C%28%5Cmathbb%7BC%7D%5C%29%7D%7BComplex+numbers%7D%0A%5Cnomenclature%5BB%2C+01%5D%7B%5C%28%5Cmathbb%7BH%7D%5C%29%7D%7BOctonions%7D%0A%5Cnomenclature%5BC%5D%7B%5C%28V%5C%29%7D%7BConstant+volume%7D%0A%5Cnomenclature%5BC%5D%7B%5C%28%5Crho%5C%29%7D%7BFriction+index%7D%0A%0A%5Cprintnomenclature%0A%0A%5Cend%7Bdocument%7D)

![Nomenclatures07OLV2.png](/files/7aa3950d90e468b592b46b4b3c360a757b6075e0)

Notez que les lettres majuscules utilisées pour le regroupement sont différentes de celles utilisées dans l’exemple de la section précédente, car cette lettre sert à trier les groupes.

## Lectures complémentaires

Pour plus d'informations, voir :

* [Glossaires](/latex/fr/structure-du-document/05-glossaries.md)
* [Projets LaTeX multi-fichiers](/latex/fr/structure-du-document/08-multi-file-latex-projects.md)
* [Alignement du texte](/latex/fr/mise-en-forme/06-text-alignment.md)
* [Gras, italiques et soulignement](/latex/fr/bases-de-latex/03-bold-italics-and-underlining.md)
* [Expressions mathématiques](/latex/fr/mathematiques/01-mathematical-expressions.md)
* [Création et redéfinition de macros](/latex/fr/commandes/01-commands.md)
* [`nomencl` documentation du paquet](http://mirror.jmu.edu/pub/CTAN/macros/latex/contrib/nomencl/nomencl.pdf)
* [`ifthen` documentation du paquet](http://texdoc.net/texmf-dist/doc/latex/base/ifthen.pdf)
* [`etoolbox` documentation du paquet](http://mirror.math.ku.edu/tex-archive/macros/latex/contrib/etoolbox/etoolbox.pdf)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/fr/structure-du-document/06-nomenclatures.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
