> 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/mise-en-forme/10-counters.md).

# Compteurs

## Introduction aux compteurs LaTeX

La composition de documents avec LaTeX est une forme spécialisée de programmation : vous utilisez un langage de composition (les commandes LaTeX) pour fournir des « instructions » qui produisent un résultat : le document LaTeX compilé sous la forme d’un fichier PDF. Comme pour toute entreprise de programmation, il est probable que vous ayez besoin que LaTeX stocke temporairement des valeurs entières pour une réutilisation ultérieure dans votre document (code) — vous pourriez vouloir :

* composer ces entiers stockés dans votre document
* fournir une numérotation automatique de certains éléments de votre document
* les utiliser comme variables pour contrôler du code conditionnel (ou des boucles)
* modifier et mettre à jour leurs valeurs en les incrémentant/décrémentant à l’aide d’une certaine valeur fixe
* les réinitialiser à des valeurs complètement différentes

De telles activités de traitement d’entiers sont extrêmement courantes dans les langages de programmation « ordinaires » tels que JavaScript, C, Lua ou tout autre langage de votre choix, dans lesquels vous déclarez généralement (créez un nom pour) une variable (pour contenir un entier) puis lui attribuez une valeur. Le langage de composition LaTeX offre des capacités similaires, bien qu’implémentées d’une manière assez différente, comme nous allons le voir ci-dessous.

En essence, un compteur LaTeX est le nom d’une « variable LaTeX » utilisée pour stocker des valeurs entières qui peuvent être utilisées pour les activités listées ci-dessus, et bien plus encore. LaTeX utilise lui-même de nombreux compteurs internes qui assurent la numérotation des pages, des sections, des tableaux, des figures, des listes à puces/numérotées, etc. Cet article explique comment accéder à ces compteurs et les modifier, ainsi que comment en créer et en utiliser de nouveaux.

## Commandes LaTeX pour travailler avec les compteurs

Voici une liste des commandes de compteurs LaTeX, avec des liens vers leur description dans les sections suivantes.

Création et incrémentation des compteurs :

* [`\newcounter{somecounter}[anothercounter]`](#newcountersomecounteranothercounter)
* [`\setcounter{somecounter}{number}`](#setcountersomecounternumber)
* [`\addtocounter{somecounter}{number}`](#addtocountersomecounternumber)
* [`\stepcounter{somecounter}`](#stepcountersomecounter)
* [`\refstepcounter{somecounter}`](#refstepcountersomecounter)

Accès et affichage des valeurs des compteurs :

* [`\arabic{somecounter}`](#arabicsomecounter)
* [`\roman{somecounter}`](#romansomecounter)
* [`\Roman{somecounter}`](#romanoutput)
* [`\alph{somecounter}`](#alphsomecounter)
* [`\Alph{somecounter}`](#alphoutput)
* [`\fnsymbol{somecounter}`](#fnsymbolsomecounter)
* [`\value{somecounter}`](#valuesomecounter)

Autres commandes de compteurs :

* [`\counterwithin{somecounter}{anothercounter}`](#counterwithinsomecounteranothercounter)
* [`\counterwithout{somecounter}{anothercounter}`](#counterwithoutsomecounteranothercounter)

### Création et incrémentation des compteurs

#### \newcounter{somecounter}\[anothercounter]

Utilisé pour définir un nouveau compteur. Le deuxième argument, encadré par `[]`, est facultatif mais, lorsqu’il est utilisé, il définit `*somecounter*` \*anothercounter\* `est incrémenté.` est incrémenté. `\newcounter` est souvent utilisé sous sa forme plus simple `\newcounter{*somecounter*}` qui crée `*somecounter*` et l’initialise à 0.

* **Remarque**: Pour chaque compteur créé par la `\newcounter` commande, elle *également* définit une commande qui peut être utilisée pour composer la valeur du compteur. Par exemple, `\newcounter{*mycounter*}` définit une commande appelée `\the*mycounter*`. Un exemple est présenté dans l’extrait de code LaTeX suivant, que vous pouvez ouvrir dans Overleaf sous forme de document complet en utilisant le lien fourni :

```latex
\newcounter{mycounter}
\setcounter{mycounter}{42}
Vous pouvez maintenant écrire \verb|\themycounter| pour obtenir \themycounter.
```

[Ouvrez cet extrait LaTeX dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bmycounter%7D%0A%5Csetcounter%7Bmycounter%7D%7B42%7D%0AYou+can+now+write+%5Cverb%7C%5Cthemycounter%7C+to+obtain+%5Cthemycounter.%0A%5Cend%7Bdocument%7D)

Cet exemple produit $$\text{You can now write }\verb|\themycounter|\text{ to obtain 42.}$$

* **Remarque**: Si `*mycounter*` a déjà été défini, LaTeX émettra l’erreur `c@mycounter already defined`, comme le montre l’exemple suivant que vous pouvez ouvrir dans Overleaf.

```latex
\newcounter{mycounter}
...beaucoup de code... mais nous oublions et écrivons à nouveau \verb|\newcounter{mycounter}|
\newcounter{mycounter}
```

[Ouvrez cet ***code générateur d’erreurs*** dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bmycounter%7D%0A...lots+of+code...+but+we+forget+and+write+%5Cverb%7C%5Cnewcounter%7Bmycounter%7D%7C+again%0A%5Cnewcounter%7Bmycounter%7D%0A%5Cend%7Bdocument%7D)

#### \setcounter{somecounter}{number}

Définit `*somecounter*` pour contenir la valeur `*nombre*`.

* **Remarque**: `*nombre*` peut être positif ou négatif.

Un exemple est présenté dans l’extrait de code LaTeX suivant, que vous pouvez ouvrir dans Overleaf sous forme de document complet en utilisant le lien fourni :

```latex
\noindent Créez un nouveau compteur \texttt{myvar} et attribuez-lui la valeur \texttt{42}.
\vspace{10pt}

\newcounter{myvar}
\setcounter{myvar}{42}

\noindent Écrire \verb|\themymar| affiche \texttt{\themyvar}.
\vspace{10pt}

\noindent Ensuite, nous allons changer \texttt{myvar} en \texttt{-42} en écrivant \verb|\setcounter{myvar}{-42}|
\setcounter{myvar}{-42}. Maintenant, écrire \verb|\themyvar| affiche \texttt{\themyvar}.
```

[Ouvrez cet extrait LaTeX dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Create+a+new+counter+%5Ctexttt%7Bmyvar%7D+and+assign+it+the+value+%5Ctexttt%7B42%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnewcounter%7Bmyvar%7D%0A%5Csetcounter%7Bmyvar%7D%7B42%7D+%0A%0A%5Cnoindent+Writing+%5Cverb%7C%5Cthemymar%7C+typesets+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+Next%2C+we%27ll+change+%5Ctexttt%7Bmyvar%7D+to+%5Ctexttt%7B-42%7D%2C+writing+%5Cverb%7C%5Csetcounter%7Bmyvar%7D%7B-42%7D%7C%0A%5Csetcounter%7Bmyvar%7D%7B-42%7D.+Now%2C+writing+%5Cverb%7C%5Cthemyvar%7C+outputs+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cend%7Bdocument%7D)

#### \addtocounter{somecounter}{number}

Augmente le compteur `*somecounter*` d’un montant `*nombre*`.

* **Remarque**: `*nombre*` peut être positif pour augmenter la valeur du compteur, ou négatif pour la diminuer. Par exemple :

```latex
\addtocounter{somecounter}{-1} % diminue somecounter de 1
```

Un exemple est présenté dans l’extrait de code LaTeX suivant, que vous pouvez ouvrir dans Overleaf sous forme de document complet en utilisant le lien fourni :

```latex
\noindent Créez un nouveau compteur \texttt{myvar} et attribuez-lui la valeur \texttt{42}.
\vspace{10pt}

\newcounter{myvar}
\setcounter{myvar}{42}

\noindent Écrire \verb|\themymar| affiche \texttt{\themyvar}.
\vspace{10pt}

\noindent Ensuite, nous allons changer \texttt{myvar} en \texttt{142} en écrivant \verb|\addtocounter{myvar}{100}|\addtocounter{myvar}{100}. Maintenant, écrire \verb|\themyvar| affiche \texttt{\themyvar}.
```

[Ouvrez cet extrait LaTeX dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+addtocounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Create+a+new+counter+%5Ctexttt%7Bmyvar%7D+and+assign+it+the+value+%5Ctexttt%7B42%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnewcounter%7Bmyvar%7D%0A%5Csetcounter%7Bmyvar%7D%7B42%7D+%0A%0A%5Cnoindent+Writing+%5Cverb%7C%5Cthemymar%7C+typesets+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+Next%2C+we%E2%80%99ll+change+%5Ctexttt%7Bmyvar%7D+to+%5Ctexttt%7B142%7D+by+writing+%5Cverb%7C%5Caddtocounter%7Bmyvar%7D%7B100%7D%7C%5Caddtocounter%7Bmyvar%7D%7B100%7D.+Now%2C+writing+%5Cverb%7C%5Cthemyvar%7C+outputs+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cend%7Bdocument%7D)

#### \stepcounter{somecounter}

Incrémente `*somecounter*` de 1. Un exemple est présenté dans l’extrait de code LaTeX suivant, que vous pouvez ouvrir dans Overleaf sous forme de document complet à l’aide du lien fourni :

```latex
Si nous créons un nouveau compteur en écrivant \verb|\newcounter{mycounter}|
\newcounter{mycounter} alors le compteur \texttt{mycounter} est créé et
initialisé à zéro, comme vous pouvez le voir si vous écrivez \verb|\themycounter| :
\texttt{mycounter} stocke actuellement : \themycounter.

Si nous écrivons maintenant \verb|\stepcounter{mycounter}|\stepcounter{mycounter}, alors
\verb|\themycounter| contient maintenant la valeur \themycounter.
```

[Ouvrez cet extrait LaTeX dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+stepcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIf+we+create+a+new+counter+by+writing+%5Cverb%7C%5Cnewcounter%7Bmycounter%7D%7C%0A%5Cnewcounter%7Bmycounter%7D+then+the+counter+%5Ctexttt%7Bmycounter%7D+is+created+and+%0Ainitialized+to+zero%2C+as+you+can+see+if+you+write+%5Cverb%7C%5Cthemycounter%7C%3A%0A%5Ctexttt%7Bmycounter%7D+currently+stores%3A+%5Cthemycounter.+%0A%0AIf+we+now+write+%5Cverb%7C%5Cstepcounter%7Bmycounter%7D%7C%5Cstepcounter%7Bmycounter%7D+then+%0A%5Cverb%7C%5Cthemycounter%7C+now+contains+the+value+%5Cthemycounter.%0A%5Cend%7Bdocument%7D)

#### \refstepcounter{somecounter}

Augmente `*somecounter*` de 1 et le rend visible pour le mécanisme de référencement, tout en définissant la valeur de sorte que vous puissiez utiliser `\label` par la suite.

**Exemple utilisant \refstepcounter**

L'exemple suivant utilise `\refstepcounter` pour créer un nouveau compteur pour un `example` environnement et utilise `\label` et `\ref` pour illustrer le référencement à l’aide de la `example` variable de compteur.

```latex
\documentclass{article}

\newcounter{example}[section]
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
   \noindent\textbf{Exemple~\theexample. #1} \rmfamily}{\medskip}

\begin{document}
\section{Trois exemples}
\begin{example}
Créez une étiquette dans ce premier exemple \verb|\label{ex:1}|\label{ex:1}. Voici le premier exemple. Le compteur \texttt{example} sera réinitialisé au début de chaque nouvelle section \verb|\section| du document.
\end{example}

\begin{example}
Et voici un autre exemple numéroté. Créez une deuxième \verb|\label{ex:2}|\label{ex:2} pour faire ultérieurement référence à celui-ci. Dans l’exemple \ref{ex:1}, nous lisons... quelque chose.
\end{example}

\begin{example}
Et voici un autre exemple numéroté : utilisez \verb|\theexample| pour composer le numéro actuellement attribué au compteur \texttt{example} : il est \theexample.
\end{example}

\section{Une autre section}
Nous venons de commencer une nouvelle section, ce qui signifie que le compteur \texttt{example} a été réglé à \theexample.
Nous ferons référence aux exemples de la section précédente (exemples \ref{ex:1} et \ref{ex:2}). Il s’agit d’une section factice, sans aucun autre but que de contenir du texte. Le compteur \texttt{section} pour cette section peut être composé à l’aide de \verb|\thesection| : il a actuellement la valeur \thesection.

\begin{example}
Voici le premier exemple dans cette section : le compteur \texttt{example} a été incrémenté et est maintenant réglé à \theexample.
\end{example}
\end{document}
```

[Ouvrez cet `\refstepcounter` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=An+example+using+refstepcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%0A%5Cnewcounter%7Bexample%7D%5Bsection%5D%0A%5Cnewenvironment%7Bexample%7D%5B1%5D%5B%5D%7B%5Crefstepcounter%7Bexample%7D%5Cpar%5Cmedskip%0A+++%5Cnoindent%5Ctextbf%7BExample%7E%5Ctheexample.+%231%7D+%5Crmfamily%7D%7B%5Cmedskip%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BThree+examples%7D%0A%5Cbegin%7Bexample%7D%0ACreate+a+label+in+this+first+example+%5Cverb%7C%5Clabel%7Bex%3A1%7D%7C%5Clabel%7Bex%3A1%7D.+This+is+the+first+example.+The+%5Ctexttt%7Bexample%7D+counter+will+be+reset+at+the+start+of+each+new+each+document+%5Cverb%7C%5Csection%7C.%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7Bexample%7D%0AAnd+here%27s+another+numbered+example.+Create+a+second+%5Cverb%7C%5Clabel%7Bex%3A2%7D%7C%5Clabel%7Bex%3A2%7D+to+later+reference+this+one.+In+Example+%5Cref%7Bex%3A1%7D+we+read...+something.+%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7Bexample%7D%0AAnd+here%27s+another+numbered+example%3A+use+%5Cverb%7C%5Ctheexample%7C+to+typeset+the+number+currently+assigned+to+the+%5Ctexttt%7Bexample%7D+counter%3A+it+is++%5Ctheexample.%0A%5Cend%7Bexample%7D%0A%0A%5Csection%7BAnother+section%7D%0AWe%27ve+just+started+a+new+section+meaning+that+the++%5Ctexttt%7Bexample%7D+counter+has+been+set+to+%5Ctheexample.++%0AWe%27ll+reference+examples+from+the+previous+section+%28Examples+%5Cref%7Bex%3A1%7D+and+%5Cref%7Bex%3A2%7D%29.++This+is+a+dummy+section+with+no+purpose+whatsoever+but+to+contain+text.+The+%5Ctexttt%7Bsection%7D+counter+for+this+section+can+be+typeset+using+%5Cverb%7C%5Cthesection%7C%3A+it+is++currently+assigned+the+value+of+%5Cthesection.%0A%0A%5Cbegin%7Bexample%7D%0AThis+is+the+first+example+in+this+section%3A+the+%5Ctexttt%7Bexample%7D+counter+has+been+stepped+and+now+set+to+%5Ctheexample.+%0A%5Cend%7Bexample%7D%0A%5Cend%7Bdocument%7D)

**Résumé du code**

Dans cet exemple, le nouvel environnement `example` est défini ; cet environnement comporte 3 commandes spécifiques au comptage :

* `\newcounter{example}[section]`: Crée un nouveau compteur appelé `example` qui sera réinitialisé à 0 chaque fois que le `section` compteur est incrémenté. Vous pouvez mettre n’importe quel autre compteur à la place de `section` ou omettre le paramètre si vous ne souhaitez pas que votre compteur soit réinitialisé automatiquement.
* `\refstepcounter{example}`: Incrémente le `example` compteur de 1 et le rend visible pour le mécanisme de référencement, de sorte que vous puissiez utiliser `\label` par la suite.
* `\theexample`: Affiche la valeur actuelle du compteur `example`.

Pour plus d’informations sur les environnements définis par l’utilisateur, voir [l’article sur la définition de nouveaux environnements](/latex/fr/commandes/02-environments.md#defining-a-new-environment)

### Accès et affichage des valeurs des compteurs

Les discussions suivantes s’appuient sur les valeurs par défaut de LaTeX avant toute personnalisation appliquée par les packages chargés par l’utilisateur.

#### \arabic{somecounter}

Affiche la représentation de `*somecounter*` sous forme de chiffres arabes : 1, 2, 3...

#### \roman{somecounter}

Affiche la représentation de `*somecounter*` sous forme de chiffres romains minuscules : i, ii, iii...

* **Remarque**: Si `*somecounter*` $$\leq$$ `0` aucune sortie n’est produite. De plus, convertir *extrêmement* de grandes valeurs entières en chiffres romains minuscules peut prendre beaucoup de temps — et produit une longue séquence de `m` caractères (représentant le nombre `1000`).
* **ASTUCE** : Si vous vous intéressez à l’algorithme que TeX utilise pour convertir des nombres arabes en chiffres romains, vous pouvez en lire davantage dans cet article sur [Algorithmes pour les chiffres romains](https://www.hanshq.net/roman-numerals.html#tex).

#### \Roman{somecounter}

Affiche la représentation de `*somecounter*` sous forme de chiffres romains majuscules : I, II, III...

* **Remarque**: Si `*somecounter*` $$\leq$$ `0` aucune sortie n’est produite. De plus, convertir *extrêmement* de grandes valeurs entières en chiffres romains majuscules peut prendre beaucoup de temps — et produit une longue séquence de `M` caractères (représentant le nombre `1000`).
* **ASTUCE** : Si vous vous intéressez à l’algorithme que TeX utilise pour convertir des nombres arabes en chiffres romains, vous pouvez en lire davantage dans cet article sur [Algorithmes pour les chiffres romains](https://www.hanshq.net/roman-numerals.html#tex).

#### \alph{somecounter}

Affiche la représentation de `*somecounter*` sous forme de lettre minuscule où a=1, b=2, c=3...

* **Remarque**: `*somecounter*` doit être dans la plage `1` $$\leq$$ `*somecounter*` $$\leq$$ `26`, sinon cela déclenchera l’erreur `! Erreur LaTeX : compteur trop grand.`

#### \Alph{somecounter}

Affiche la représentation de `*somecounter*` sous forme de lettre majuscule où A=1, B=2, C=3...

* **Remarque**: `*somecounter*` doit être dans la plage `1` $$\leq$$ `*somecounter*` $$\leq$$ `26`, sinon cela déclenchera l’erreur `! Erreur LaTeX : compteur trop grand.`

#### \fnsymbol{somecounter}

Affiche la représentation de `*somecounter*` sous forme de symbole de note de bas de page où 1 =∗, 2 =†...

* **Remarque**: `*somecounter*` doit être dans la plage `1` $$\leq$$ `*somecounter*` $$\leq$$ `9`, sinon cela déclenchera l’erreur `! Erreur LaTeX : compteur trop grand.`

|                           |                                   |
| ------------------------- | --------------------------------- |
| Valeur de `*somecounter*` | Caractère composé par `\fnsymbol` |
| 1                         | \*                                |
| 2                         | †                                 |
| 3                         | ‡                                 |
| 4                         | §                                 |
| 5                         | ¶                                 |
| 6                         | ∥                                 |
| 7                         | ∗∗                                |
| 8                         | ††                                |
| 9                         | ‡‡                                |

#### Exemple d’affichage des valeurs des compteurs

L’exemple suivant démontre l’utilisation des commandes `\arabic{*somecounter*}`, `\roman{*somecounter*}`, `\Roman{*somecounter*}`, `\alph{*somecounter*}`, `\Alph{*somecounter*}`, et `\fnsymbol{*somecounter*}`.

```latex
\newcounter{somecounter}
\setcounter{somecounter}{9}
\begin{itemize}
    \item \verb|\arabic{somecounter}| affiche la valeur \texttt{somecounter} de \thesomecounter{} sous la forme \arabic{somecounter}
    \item \verb|\roman{somecounter}| affiche la valeur \texttt{somecounter} de \thesomecounter{} sous la forme \roman{somecounter}
    \item \verb|\Roman{somecounter}| affiche la valeur \texttt{somecounter} de \thesomecounter{} sous la forme \Roman{somecounter}
    \item \verb|\alph{somecounter}| affiche la valeur \texttt{somecounter} de \thesomecounter{} sous la forme \alph{somecounter}
   \item \verb|\Alph{somecounter}| affiche la valeur \texttt{somecounter} de \thesomecounter{} sous la forme \Alph{somecounter}
    \item \verb|\fnsymbol{somecounter}| affiche la valeur \texttt{somecounter} de \thesomecounter{} sous la forme \fnsymbol{somecounter}
\end{itemize}
```

[Ouvrez cet extrait LaTeX dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Converting+counter+values\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bsomecounter%7D%0A%5Csetcounter%7Bsomecounter%7D%7B9%7D%0A%5Cbegin%7Bitemize%7D%0A++++%5Citem+%5Cverb%7C%5Carabic%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as+%5Carabic%7Bsomecounter%7D+%0A++++%5Citem+%5Cverb%7C%5Croman%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Croman%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5CRoman%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5CRoman%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5Calph%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Calph%7Bsomecounter%7D%0A+++%5Citem+%5Cverb%7C%5CAlph%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5CAlph%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5Cfnsymbol%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Cfnsymbol%7Bsomecounter%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit la sortie suivante :

![Exemple de conversion des compteurs en LaTeX](/files/b9241d568a979a660b48678089687fcdb55a80f4)

#### \value{somecounter}

L’objectif de cette commande, comme le décrit le code source de LaTeX, est « d’accéder à la valeur du compteur sous forme de nombre TeX » : c’est-à-dire que vous utilisez `\value{somecounter}` dans les situations où LaTeX s’attend à traiter une valeur numérique.

**(Facultatif) notes d’arrière-plan sur la commande \value**

Il est tentant de penser que la commande `\value{*somecounter*}` va *directement* composer la valeur de `*somecounter*`, mais ce n’est pas le cas. Elle est destinée à être utilisée dans d’autres commandes pour accéder à la valeur du compteur sous forme de nombre TeX, contrairement à la commande `\thesomecounter` qui produit la représentation imprimée de `*somecounter*`.

Dans le code source LaTeX, `\value` est définie comme suit :

```latex
\def\value#1{\csname c@#1\endcsname}
```

Par conséquent, `\value{*somecounter*}` crée une instance de la séquence de contrôle interne de LaTeX `\c@somecounter` qui contient la valeur du compteur `*somecounter*`.

**Exemple**

L’exemple suivant montre un cas d’utilisation de base de `\value`.

```latex
\noindent Commencez par déclarer deux nouveaux compteurs :
\begin{verbatim}
\newcounter{first}
\newcounter{second}
\end{verbatim}

\newcounter{first}
\newcounter{second}

\noindent Plus tard dans votre code, vous définissez leurs valeurs :
\begin{verbatim}
\setcounter{first}{100}
\setcounter{second}{50}
\end{verbatim}

\setcounter{first}{100}
\setcounter{second}{50}
\noindent Puis vous écrivez davantage de code \LaTeX{}...\vspace{10pt}

\noindent À un moment donné, on peut vouloir ajouter la valeur du compteur \texttt{second} au compteur \texttt{first}. Une façon de le faire est d’utiliser \verb|\value| pour obtenir la valeur \textit{courante} stockée dans le compteur \texttt{second} :

\begin{verbatim}
\addtocounter{first}{\value{second}}
\end{verbatim}

\addtocounter{first}{\value{second}}\noindent La valeur de \texttt{first} peut être affichée par \verb|\thefirst| : \thefirst. Nous pouvons également écrire \verb|\the\value{first}|, qui affiche aussi \the\value{first}. Cependant, écrire \verb|\value{first}| générera l’erreur \texttt{Missing number, treated as zero} car \LaTeX{} tente alors d’exécuter la commande interne \verb|\c@first|. Décommentez la ligne suivante pour générer l’erreur :
\begin{verbatim}
%\value{first}
\end{verbatim}
%\value{first}
```

[Ouvrez cet extrait de code dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+value+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Start+by+declaring+two+new+counters%3A%0A%5Cbegin%7Bverbatim%7D%0A%5Cnewcounter%7Bfirst%7D%0A%5Cnewcounter%7Bsecond%7D++++%0A%5Cend%7Bverbatim%7D%0A%0A%5Cnewcounter%7Bfirst%7D%0A%5Cnewcounter%7Bsecond%7D%0A%0A%5Cnoindent+Sometime+later+in+your+code+you+set+their+values%3A%0A%5Cbegin%7Bverbatim%7D%0A%5Csetcounter%7Bfirst%7D%7B100%7D%0A%5Csetcounter%7Bsecond%7D%7B50%7D++++%0A%5Cend%7Bverbatim%7D%0A%0A%5Csetcounter%7Bfirst%7D%7B100%7D%0A%5Csetcounter%7Bsecond%7D%7B50%7D++%0A%5Cnoindent+Then+you+write+more+%5CLaTeX%7B%7D+code...%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+At+some+point+we+might+want+to+add+the+value+of+counter+%5Ctexttt%7Bsecond%7D+to+counter+%5Ctexttt%7Bfirst%7D.+One+way+to+do+that+is+using+%5Cverb%7C%5Cvalue%7C+to+obtain+the+%5Ctextit%7Bcurrent%7D+value+stored+in+the+%5Ctexttt%7Bsecond%7D+counter%3A%0A%0A%5Cbegin%7Bverbatim%7D%0A%5Caddtocounter%7Bfirst%7D%7B%5Cvalue%7Bsecond%7D%7D%0A%5Cend%7Bverbatim%7D%0A%0A%5Caddtocounter%7Bfirst%7D%7B%5Cvalue%7Bsecond%7D%7D%5Cnoindent+The+value+of+%5Ctexttt%7Bfirst%7D+can+be+output+by+%5Cverb%7C%5Cthefirst%7C%3A+%5Cthefirst.+We+can+also+write+%5Cverb%7C%5Cthe%5Cvalue%7Bfirst%7D%7C+which+also+typesets+%5Cthe%5Cvalue%7Bfirst%7D.+However%2C++writing+%5Cverb%7C%5Cvalue%7Bfirst%7D%7C+will+generate+the+error+%5Ctexttt%7BMissing+number%2C+treated+as+zero%7D+because+%5CLaTeX%7B%7D+then+tries+to+execute+the+internal+command+%5Cverb%7C%5Cc%40first%7C.+Uncomment+the+following+line+to+generate+the+error%3A%0A%5Cbegin%7Bverbatim%7D%0A%25%5Cvalue%7Bfirst%7D%0A%5Cend%7Bverbatim%7D%0A%25%5Cvalue%7Bfirst%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple utilisant la commande \value](/files/b08e760240d494cd0bfc04d18098537789cd6a21)

### Autres commandes de compteurs

Ici, nous décrivons les commandes `\counterwithin` et `\counterwithout` qui trouvent leur origine dans [`chngcntr` package](https://ctan.org/pkg/chngcntr) mais ont maintenant été intégrées à LaTeX lui-même — voir [LaTeX News, avril 2018](https://www.latex-project.org/news/latex2e-news/ltnews28.pdf). Le `chngcntr` [documentation du paquet](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/chngcntr/chngcntr.pdf) fait les commentaires suivants, qui aident à comprendre l’objectif de ces commandes :

Activée `\counterwithin`:

> Il est parfois souhaitable de modifier un compteur qui a été défini par `\newcounter{<ctr>}` pour qu’il se comporte comme s’il avait été défini par `\newcounter{<ctr>}[<within>]`. Le package fournit la commande `\counterwithin{<ctr>}{<within>}` qui permet d’y parvenir.

Activée `\counterwithout`:

> De même, la commande `\counterwithout{<ctr>}{<within>}` modifie un compteur qui a été créé par `\newcounter{<ctr>}[<within>]` pour qu’il se comporte comme s’il avait été créé par `\newcounter{<ctr>}`.

En substance, ces deux commandes fournissent une méthode pour lier (`\counterwithin`)`\counterwithout`) deux compteurs après leur définition.

**\counterwithin{somecounter}{anothercounter}**

Réinitialise `*somecounter*` à 0 chaque fois que `est incrémenté.` est incrémenté, un mécanisme qui relie les deux compteurs. En plus de créer un lien, cette commande redéfinit ce qui est composé par `\the*somecounter*` : au lieu d’afficher la valeur du compteur `*somecounter*` elle produit `<value of anothercounter>**.**<value of somecounter>`. La forme étoilée (`\counterwithin*{somecounter}{anothercounter}`) ne redéfinit pas le format d’affichage de `*somecounter*`, comme le montre l’exemple suivant — sélectionnez le lien sous le code pour l’ouvrir dans Overleaf :

```latex
\documentclass{article}
\begin{document}
\section{Un court exemple}
\newcounter{example}
\counterwithin{example}{section}
\newcounter{exampletwo}
\counterwithin*{exampletwo}{section}
\setcounter{example}{100}
\setcounter{exampletwo}{100}
\begin{itemize}
\item \verb|\theexample| affiche \theexample
\item \verb|\theexampletwo| affiche \theexampletwo
\end{itemize}
\end{document}
```

[Ouvrez cet `\counterwithin` exemple dans Overleaf](https://www.overleaf.com/docs?engine=\&snip_name=Example+of+starred+version+of+counterwithin\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BA+short+example%7D%0A%5Cnewcounter%7Bexample%7D%0A%5Ccounterwithin%7Bexample%7D%7Bsection%7D%0A%5Cnewcounter%7Bexampletwo%7D%0A%5Ccounterwithin%2A%7Bexampletwo%7D%7Bsection%7D%0A%5Csetcounter%7Bexample%7D%7B100%7D%0A%5Csetcounter%7Bexampletwo%7D%7B100%7D%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Ctheexample%7C+typesets+%5Ctheexample%0A%5Citem+%5Cverb%7C%5Ctheexampletwo%7C+typesets+%5Ctheexampletwo%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Utilisation de la commande \counterwithin](/files/7646b35ed82c757ed1c625aedea78db2df183145)

Vous pouvez utiliser `\counterwithin` avec les compteurs standard fournis par LaTeX, tels que :

* `section`: utilisé par `\section` commande
* `equation` utilisé par le `equation` environnement

ou avec des compteurs que vous avez créés.

**Exemple de \counterwithin et \counterwithin\***

Le code suivant fournit un exemple plus complet d’utilisation de `\counterwithin` et `\counterwithin*`; sélectionnez le lien sous le code pour l’ouvrir dans Overleaf :

```latex
\documentclass{article}
\counterwithin{equation}{section}
\newcounter{example}
\counterwithin*{example}{section}
\newenvironment{example}[1][]{%
\stepcounter{example}%
\par\vspace{5pt}\noindent
\fbox{\textbf{Exemple~\thesection.\theexample}}%
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt\par}
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt\par}
\begin{document}
\section{Première équation}
Un texte d’introduction...
\begin{example}
\begin{equation}
    f(x)=\frac{x}{1+x^2}
\end{equation}
\end{example}

\subsection{Plus de détails}
\begin{example}
Ici, nous discutons
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
... mais ne dites rien
\end{example}

\subsubsection{Encore plus de détails}
\begin{example}
\begin{equation}
    f(x)=\frac{x^2}{1+x^3}
\end{equation}
\begin{equation}
    f(x+\delta x)=\frac{(x+\delta x)^2}{1+(x+\delta x)^3}
\end{equation}
\end{example}

\section{Troisième équation}
\begin{example}
La fonction suivante...
\begin{equation}
    f_1(x)=\frac{x+1}{x-1}
\end{equation}
..est une fonction
\begin{equation}
    f_2(x)=\frac{x^2}{1+x^3}
\end{equation}
\begin{equation}
    f_3(x)=\frac{3+ x^2}{1-x^3}
\end{equation}
\end{example}
\end{document}
```

[Ouvrez cet `\counterwithin` exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+using+counterwithin\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Ccounterwithin%7Bequation%7D%7Bsection%7D%0A%5Cnewcounter%7Bexample%7D%0A%5Ccounterwithin%2A%7Bexample%7D%7Bsection%7D%0A%5Cnewenvironment%7Bexample%7D%5B1%5D%5B%5D%7B%25%0A%5Cstepcounter%7Bexample%7D%25%0A%5Cpar%5Cvspace%7B5pt%7D%5Cnoindent%0A%5Cfbox%7B%5Ctextbf%7BExample%7E%5Cthesection.%5Ctheexample%7D%7D%25%0A%5Chrulefill%5Cpar%5Cvspace%7B10pt%7D%5Cnoindent%5Crmfamily%7D%25%0A%7B%5Cpar%5Cnoindent%5Chrulefill%5Cvrule+width10pt+height2pt+depth2pt%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BFirst+equation%7D%0ASome+introductory+text...%0A%5Cbegin%7Bexample%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%7D%7B1%2Bx%5E2%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%0A%5Csubsection%7BMore+detail%7D%0A%5Cbegin%7Bexample%7D%0AHere+we+discuss%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%2B1%7D%7Bx-1%7D%0A%5Cend%7Bequation%7D%0A...+but+don%27t+say+anything%0A%5Cend%7Bexample%7D%0A%0A%5Csubsubsection%7BEven+more+detail%7D%0A%5Cbegin%7Bexample%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%5E2%7D%7B1%2Bx%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%2B%5Cdelta+x%29%3D%5Cfrac%7B%28x%2B%5Cdelta+x%29%5E2%7D%7B1%2B%28x%2B%5Cdelta+x%29%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%0A%5Csection%7BThird+equation%7D%0A%5Cbegin%7Bexample%7D%0AThe+following+function...%0A%5Cbegin%7Bequation%7D%0A++++f_1%28x%29%3D%5Cfrac%7Bx%2B1%7D%7Bx-1%7D%0A%5Cend%7Bequation%7D%0A..is+a+function%0A%5Cbegin%7Bequation%7D%0A++++f_2%28x%29%3D%5Cfrac%7Bx%5E2%7D%7B1%2Bx%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cbegin%7Bequation%7D%0A++++f_3%28x%29%3D%5Cfrac%7B3%2B+x%5E2%7D%7B1-x%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Utilisation de la commande \counterwithin](/files/b75e7320dfa57b3153e12d6028a4593f2e7c453b)

**Résumé du code**

* `\newcounter{example}`: Cela crée un nouveau compteur à utiliser dans notre environnement, également appelé `example`
* `\counterwithin*{example}{section}`: Cela relie notre `example` compteur au `section` compteur utilisé dans la `\section` commande : chaque fois que nous émettons une `\section` commande, le `example` compteur est réinitialisé à zéro. Notez que nous avons utilisé la version étoilée `\counterwithin*` pour éviter la redéfinition de `\theexample`
* Ensuite, nous créons un nouvel environnement également appelé `example`. Dans cet environnement, nous utilisons `\stepcounter{example}` pour incrémenter le compteur de l’environnement. Notez aussi que nous écrivons `\textbf{Exemple~\thesection.\theexample}` pour afficher **Exemple** `<section number>.<example number>`

```latex
\newenvironment{example}[1][]{%
\stepcounter{example}%
\par\vspace{5pt}\noindent
\fbox{\textbf{Exemple~\thesection.\theexample}}%
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt\par}
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt}
```

**\counterwithout{somecounter}{anothercounter}**

`\counterwithout{*somecounter*}{*anothercounter*}` supprime le lien entre `*somecounter*` et `est incrémenté.` afin qu’ils soient indépendants. Pour n’importe quelle paire de compteurs, vous pouvez alterner entre l’utilisation de `\counterwithout` et `\counterwithin`, comme le montre l’exemple suivant pour les `example` et `section` compteurs — vous pouvez ouvrir cet exemple dans Overleaf en utilisant le lien fourni sous le code.

```latex
\section{Première équation}
\begin{example}
\begin{equation}
    f(x)=\frac{x}{1+x^2}
\end{equation}
\end{example}

\subsection{Deuxième équation}
\begin{example}
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
\end{example}
\vspace{6pt}\noindent Notez comment le compteur \texttt{example} est réinitialisé au début de la section \ref{sec:n0}.
\section{Troisième équation}
\label{sec:n0}
\begin{example}
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
\end{example}
\vspace{6pt}\noindent Ici, nous avons écrit \verb|\counterwithout{example}{section}| afin que \texttt{example} ne soit plus réinitialisé au début d’une section. Dans les sections \ref{sec:n1} et \ref{sec:n2}, le compteur \texttt{example} continue d’augmenter. \counterwithout{example}{section}
\section{Quatrième équation}
\label{sec:n1}
\begin{example}
\begin{equation}
    f(x)=\frac{x^2+x^3}{1+x^3}
\end{equation}
\end{example}
\section{Cinquième équation}
\label{sec:n2}
\begin{example}
\begin{equation}
    f(x,k)=\frac{x^2-x^k}{1+x^3}
\end{equation}
\end{example}
```

[Ouvrez cet `\counterwithout` exemple dans Overleaf](<https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+using+counterwithout\&snip=\documentclass{article}&#xA;\counterwithin{equation}{section}&#xA;\newcounter{example}&#xA;\counterwithin*{example}{section}&#xA;\newenvironment{example}\[1]\[]{%&#xA;\stepcounter{example}%&#xA;\par\vspace{3pt}\noindent&#xA;\fbox{\textbf{Example~\thesection.\theexample}}%&#xA;\hrulefill\par\vspace{3pt}\noindent\rmfamily}%&#xA;{\par\noindent\hrulefill\vrule+width10pt+height2pt+depth2pt\par}&#xA;\begin{document}&#xA;\section{First+equation}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x}{1+x^2}&#xA;\end{equation}&#xA;\end{example}&#xA;&#xA;\subsection{Second+equation}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x+1}{x-1}&#xA;\end{equation}&#xA;\end{example}&#xA;\vspace{6pt}\noindent+Note+how+the+\texttt{example}+counter+is+reset+at+the+start+Section+\ref{sec:n0}.+&#xA;\section{Third+equation}&#xA;\label{sec:n0}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x+1}{x-1}&#xA;\end{equation}&#xA;\end{example}&#xA;\vspace{6pt}\noindent+Here,+we+wrote+\verb|\counterwithout{example}{section}|+so+that+\texttt{example}+is+no+longer+reset+at+the+start+of+a+section.+In+Sections+\ref{sec:n1}+and+\ref{sec:n2}+the+\texttt{example}+counter+keeps+increasing.+\counterwithout{example}{section}&#xA;\section{Fourth+equation}&#xA;\label{sec:n1}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x^2+x^3}{1+x^3}&#xA;\end{equation}&#xA;\end{example}&#xA;\section{Fifth+equation}&#xA;\label{sec:n2}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x,k)=\frac{x^2-x^k}{1+x^3}&#xA;\end{equation}&#xA;\end{example}&#xA;\end{document}>)

Cet exemple produit le résultat suivant :

![Utilisation de la commande counterwithout](/files/6fe0cc2c21b6a53c94e02281aa2950d79434f393)

## Exemple

### enumerate

Le `enumerate` l'environnement de liste utilise quatre *compteur* variables qui gardent la trace de la valeur actuelle de l'étiquette pour chaque niveau :

|            |                                      |
| ---------- | ------------------------------------ |
| **Niveau** | **`enumerate`** variable de compteur |
| Niveau 1   | `enumi`                              |
| Niveau 2   | `enumii`                             |
| Niveau 3   | `enumiii`                            |
| Niveau 4   | `enumiv`                             |

Ces compteurs peuvent être modifiés à l'aide de la `\setcounter` commande. Voir l'exemple ci-dessous — qui n'est pas nécessairement la meilleure solution (voir l' [Overleaf répertorie](/latex/fr/bases-de-latex/04-lists.md) article pour plus d'informations) :

```latex
Cet exemple montre une manière de modifier la numérotation d'une liste ; ici, la valeur du compteur \texttt{enumi} est changée pour commencer la numérotation de la liste à 4 (il est incrémenté par la commande \verb|\item|) :

\begin{enumerate}
\setcounter{enumi}{3}
\item Quelque chose.
\item Autre chose.
\item Un autre élément.
\item Le dernier élément de la liste.
\end{enumerate}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Modifying+an+enumerate+counter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AThis+example+shows+one+way+to+change+the+numbering+of+a+list%3B+here%2C+changing+the+value+of+the+%5Ctexttt%7Benumi%7D+counter+to+start+the+list+numbering+at+4+%28it+is+incremented+by+the+%5Cverb%7C%5Citem%7C+command%29%3A%0A%0A%5Cbegin%7Benumerate%7D%0A%5Csetcounter%7Benumi%7D%7B3%7D%0A%5Citem+Something.%0A%5Citem+Something+else.%0A%5Citem+Another+element.%0A%5Citem+The+last+item+in+the+list.%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Modifier un compteur d'énumération](/files/b9d397f7ed18313bf37ea09c0bc81dfb072b5388)

## Compteurs par défaut dans LaTeX

| Utilisation                        | Nom                                                                                                                                |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Pour la structure du document      | <p>- partie<br>- chapitre<br>- section<br>- sous-section<br>- sous-sous-section<br>- paragraphe<br>- sous-paragraphe<br>- page</p> |
| Pour les flottants                 | <p>- équation<br>- figure<br>- tableau</p>                                                                                         |
| Pour les notes de bas de page      | <p>- note de bas de page<br>- mpfootnote</p>                                                                                       |
| Pour les `enumerate` environnement | <p>- enumi<br>- enumii<br>- enumiii<br>- enumiv</p>                                                                                |

## Lectures complémentaires

Pour plus d'informations, voir :

* [Environnements](/latex/fr/commandes/02-environments.md)
* [Commandes](/latex/fr/commandes/01-commands.md)
* [Listes](/latex/fr/bases-de-latex/04-lists.md)
* [Numérotation des pages](/latex/fr/mise-en-forme/03-page-numbering.md)
* [Sections et chapitres](/latex/fr/structure-du-document/01-sections-and-chapters.md)
* [Expressions mathématiques](/latex/fr/mathematiques/01-mathematical-expressions.md)
* [Insertion d'images](/latex/fr/autres-sujets/27-inserting-images.md)
* [article sur les tableaux](/latex/fr/figures-et-tableaux/01-tables.md)
* [Composer des examens en LaTeX](/latex/fr/specifique-a-un-domaine/09-typesetting-exams-in-latex.md)
* [Écrire votre propre package](/latex/fr/fichiers-de-classe/03-writing-your-own-package.md)
* [Écrire votre propre classe](/latex/fr/fichiers-de-classe/04-writing-your-own-class.md)
* [L'introduction pas si courte à LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)


---

# 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/mise-en-forme/10-counters.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.
