> 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/commandes/01-commands.md).

# Commandes

## Introduction

Cet article propose une première introduction à *commandes*, qui sont un composant essentiel des capacités de composition de LaTeX. La plupart des commandes LaTeX sont de simples mots précédés d'un caractère spécial, généralement `\`, le caractère barre oblique inverse. Regardons quelques exemples :

```latex
\documentclass{article}
\begin{document}
Dans un document, il existe différents types de \textbf{commandes}
qui définissent la manière dont les éléments sont affichés. Ces
commandes peuvent insérer des éléments spéciaux : $\alpha \beta \Gamma$
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+commands+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIn+a+document+there+are+different+types+of+%5Ctextbf%7Bcommands%7D+%0Athat+define+the+way+the+elements+are+displayed.+This+%0Acommands+may+insert+special+elements%3A+%24%5Calpha+%5Cbeta+%5CGamma%24%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Mise en forme de base du texte avec LaTeX](/files/09205f0e0860a57dce1c29230c869164a179284a)

Dans l'exemple précédent, il existe différents types de commandes ; par exemple, `\textbf` mettra en gras le texte passé en paramètre à la commande. En mode mathématique, il existe des commandes spéciales, comme `\alpha`, `\beta` et `\Gamma` pour afficher des caractères grecs.

## Commandes

Voici un exemple de code LaTeX avec des commandes pour créer une liste à puces :

```latex
\documentclass{article}
\begin{document}
Un exemple de liste :
\begin{itemize}
  \item[\S] Premier élément
  \item Deuxième élément
\end{itemize}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+itemized+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AA+list+example%3A%0A%5Cbegin%7Bitemize%7D%0A++%5Citem%5B%5CS%5D+First+item%0A++%5Citem+Second+item%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Une liste de base composée en LaTeX](/files/c533f49b13ebb8d508e9b43e7f0995d99e4c5f02)

La commande `\begin{itemize}` démarre un `itemize` *environnement*—voir l' [article sur les environnements](/latex/fr/commandes/02-environments.md) pour plus de détails. Sous la déclaration d'environnement se trouve la commande `\item` qui indique à LaTeX de commencer une nouvelle entrée de liste : pour la mettre en forme, ajoutez un marqueur spécial (un petit point noir appelé puce) et faites un retrait de l'entrée.

Certaines commandes nécessitent un ou plusieurs *paramètres*; par exemple, la `\textbf` commande (utilisée ci-dessus) qui prend un seul paramètre — le texte à afficher en gras, écrit entre accolades comme ceci : `\textbf{mettez ceci en gras}`.

Il existe aussi *ensemble facultatif* paramètres qui peuvent être passés à une commande pour en changer le comportement ; ces paramètres optionnels doivent être placés entre crochets : `[...]`. Dans l'exemple ci-dessus, la commande `\item[\S]` fait la même chose que `\item`, sauf qu'entre les crochets se trouve `\S`, qui remplace le point noir devant le texte de l'entrée par un autre caractère.

## Définir une nouvelle commande

Bien que LaTeX soit fourni avec un grand nombre de commandes, il devient souvent nécessaire de définir vos propres commandes spéciales pour simplifier votre travail, réduire les tâches répétitives ou réaliser une mise en forme complexe.

### Commandes simples

Les nouvelles commandes sont définies par `\newcommand`; voyons donc un exemple simple :

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\R}{\mathbb{R}}
L'ensemble des nombres réels est généralement représenté
par un R majuscule en style tableau noir : \( \R \).
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+simple+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5CR%7D%7B%5Cmathbb%7BR%7D%7D%0AThe+set+of+real+numbers+are+usually+represented+%0Aby+a+blackboard+bold+capital+R%3A+%5C%28+%5CR+%5C%29.%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Résultat d'une nouvelle commande](/files/d8276fbac1c03adf18c90eceec8d7532a70d4697)

L'instruction `\newcommand{\R}{\mathbb{R}}` a deux paramètres qui définissent une nouvelle commande, où :

* `\R` : est le nom de la nouvelle commande.
* `\mathbb{R}` : est ce que fait la nouvelle commande. Dans ce cas, la lettre R sera écrite en style gras tableau noir. L'utilisation de la `\mathbb` commande nécessite le `amssymb` package, qui a été ajouté à l'exemple ci-dessus (dans le préambule).

Une fois la commande définie, nous pouvons l'utiliser dans le texte, comme démontré ci-dessus. Dans cet exemple, la nouvelle commande est définie juste avant le paragraphe dans lequel elle est utilisée ; cependant, disperser de telles définitions dans tout votre document n'est pas considéré comme une bonne pratique. En général, les définitions des nouvelles commandes sont rassemblées dans le préambule du document ou, pour des collections plus importantes, placées dans un fichier séparé qui peut être [importé dans votre document principal](/latex/fr/structure-du-document/07-management-in-a-large-project.md#inputting-and-including-files).

### Commandes avec paramètres

Il est également possible de créer de nouvelles commandes qui acceptent certains paramètres ; par exemple :

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\bb}[1]{\mathbb{#1}}
D'autres systèmes numériques ont des notations similaires.
Les nombres complexes \( \bb{C} \), les rationnels
\( \bb{Q} \) et les entiers \( \bb{Z} \).
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+command+with+1+parameter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cbb%7D%5B1%5D%7B%5Cmathbb%7B%231%7D%7D%0AOther+numerical+systems+have+similar+notations.+%0AThe+complex+numbers+%5C%28+%5Cbb%7BC%7D+%5C%29%2C+the+rational+%0Anumbers+%5C%28+%5Cbb%7BQ%7D+%5C%29+and+the+integer+numbers+%5C%28+%5Cbb%7BZ%7D+%5C%29.%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Résultat d'une commande LaTeX avec un paramètre](/files/666c762c25ac73edb8fed50682c3b44da28da454)

La ligne `\newcommand{\bb}[1]{\mathbb{#1}}` définit une nouvelle commande qui prend un paramètre, où :

* `\bb` est le nom de la nouvelle commande.
* `[1]` est le nombre de paramètres que la nouvelle commande prendra.
* `\mathbb{#1}` est ce que la commande fait réellement — sa définition.

Dans ce cas, le paramètre, référencé comme `#1`, sera écrit en caractères gras de style tableau noir. Si une commande a besoin de plus d'un paramètre, vous pouvez faire référence à chaque paramètre en utilisant `#1`, `#2` et ainsi de suite. Jusqu'à 9 paramètres sont pris en charge.

### Commandes avec paramètres optionnels

Les commandes définies par l'utilisateur peuvent être encore plus flexibles que les exemples montrés jusqu'ici : vous pouvez définir des commandes qui prennent *ensemble facultatif* paramètres :

```latex
\documentclass{article}
\begin{document}

Lorsque l'on écrit de nombreuses expressions avec des exposants, on peut simplifier la tâche et gagner du temps en définissant une commande appropriée :

\newcommand{\plusbinomial}[3][2]{(#2 + #3)^#1}

Nous pouvons l'utiliser ainsi : \[ \plusbinomial{x}{y} \]

Et même l'exposant peut être modifié :

\[ \plusbinomial[4]{a}{b} \]
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+command+with+optional+parameters\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%0AWhen+writing+many+expressions+with+exponents+we+can+simplify+our+task%2C+and+save+time%2C+by+defining+a+suitable+command%3A%0A%0A%5Cnewcommand%7B%5Cplusbinomial%7D%5B3%5D%5B2%5D%7B%28%232+%2B+%233%29%5E%231%7D%0A%0AWe+can+use+it+like+this%3A+%5C%5B+%5Cplusbinomial%7Bx%7D%7By%7D+%5C%5D%0A%0AAnd+even+the+exponent+can+be+changed%3A%0A%0A%5C%5B+%5Cplusbinomial%5B4%5D%7Ba%7D%7Bb%7D+%5C%5D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Résultat d'une commande avec paramètres optionnels](/files/8b5c09cdf97072ebd8d1341cf62205054ec540ec)

Analysons la syntaxe de la ligne `\newcommand{\plusbinomial}[3][2]{(#2 + #3)^#1}`:

* `\plusbinomial` est le nom de la nouvelle commande.
* `[3]` est le nombre de paramètres que la commande prendra, dans ce cas 3.
* `[2]` est la valeur par défaut du premier paramètre. C'est ce qui rend le premier paramètre facultatif ; s'il n'est pas fourni, cette valeur par défaut sera utilisée.
* `(#2 + #3)^#1` est ce que la commande fait. Dans ce cas, elle placera les deuxième et troisième paramètres sous une « forme binomiale » élevée à la puissance représentée par le premier paramètre.

## Écraser des commandes existantes

Si vous essayez de définir une nouvelle commande qui porte le même nom qu'une *déjà existante* commande LaTeX, la compilation échouera avec un message d'erreur. Ceci est démontré dans l'exemple suivant qui tente de définir la (déjà existante) `\textbf` commande :

```latex
\documentclass{article}
\newcommand{\textbf}[1]{#1}% Cela ne fonctionnera pas
\begin{document}

\section{Cela échouera}
\end{document}
```

[Ouvrez cet exemple (**générateur d'erreur**) dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Duplicate+command+name\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cnewcommand%7B%5Ctextbf%7D%5B1%5D%7B%231%7D%25+This+will+not+work%0A%5Cbegin%7Bdocument%7D%0A%0A%5Csection%7BThis+will+fail%7D%0A%5Cend%7Bdocument%7D)

La compilation de cet exemple produit le résultat suivant :

![Erreur générée par une définition dupliquée de commande LaTeX](/files/0c278efeebe29d07c66cb1371713565b9ae57017)

Comme le montre la capture d'écran, notre tentative de définir `\textbf` a échoué : LaTeX a généré le message d'erreur **Erreur LaTeX : la commande \textbf est déjà définie**.

Si vous souhaitez vraiment remplacer une commande existante, cela peut être fait avec `\renewcommand`, qui utilise la même syntaxe que `\newcommand`:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}

\renewcommand{\S}{\mathbb{S}}

La sphère de Riemann (les nombres complexes plus $\infty$) est
parfois représentée par \( \S \).
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Redefine+existing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Crenewcommand%7B%5CS%7D%7B%5Cmathbb%7BS%7D%7D%0A%0AThe+Riemann+sphere+%28the+complex+numbers+plus+%24%5Cinfty%24%29+is+%0Asometimes+represented+by+%5C%28+%5CS+%5C%29.%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Résultat d'une commande LaTeX redéfinie](/files/71d85d856f04bd802022d808499a131cabdb9d65)

Dans cet exemple, la commande `\S` (voir l'exemple dans la [commandes](#commands) section) est remplacée pour afficher un S en gras de style tableau noir.

## Lectures complémentaires

Pour plus d'informations, voir :

* [Environnements](/latex/fr/commandes/02-environments.md)
* [Comprendre les paquets et les fichiers de classe](/latex/fr/fichiers-de-classe/01-understanding-packages-and-class-files.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)
* [Longueurs en LaTeX](/latex/fr/mise-en-forme/01-lengths-in-latex.md)
* [Utiliser les couleurs dans LaTeX](/latex/fr/mise-en-forme/13-using-colors-in-latex.md)
* [Format de page et marges](/latex/fr/mise-en-forme/07-page-size-and-margins.md)
* [Liste des paquets et des fichiers de classe](/latex/fr/fichiers-de-classe/02-overleaf-and-tex-live.md)
* [L'introduction pas si courte à LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [LaTeX/Creating\_Packages sur WikiBooks](http://en.wikibooks.org/wiki/LaTeX/Creating_Packages)


---

# 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/commandes/01-commands.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.
