> 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/figures-et-tableaux/05-tikz-package.md).

# Package TikZ

## Introduction

[Ti*roi*Z](https://en.wikipedia.org/wiki/PGF/TikZ) est probablement l'outil le plus complexe et le plus puissant pour créer des éléments graphiques dans LaTeX. En partant d'un exemple simple, cet article présente quelques notions de base : tracer des lignes, des points, des courbes, des cercles, des rectangles, etc.

Tout d'abord, chargez le `tikz` package en incluant la ligne `\usepackage{tikz}` dans le préambule de votre document, puis tracez un graphique à l'aide de la `tikzpicture` environnement.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west]{Intersection point};
\end{tikzpicture}
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C2%29+--+%282%2C-4%29%3B%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C-1%29+--+%282%2C2%29%3B%0A%5Cfilldraw%5Bblack%5D+%280%2C0%29+circle+%282pt%29+node%5Banchor%3Dwest%5D%7BIntersection+point%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![OLV2tikz1.png](/files/fe019b493149444996fc256cad47613fa11db928)

Dans cet exemple, deux lignes et un point sont tracés. Pour ajouter une ligne, la commande `\draw[gray, thick]` définit un élément graphique dont le *couleur* est `gris` et avec un `épais` trait. La ligne est en réalité définie par ses deux extrémités, `(-1,2)` et `(2,-4)`, reliées par `--`.

Le *point* est en réalité un `cercle` tracé par `\filldraw[black]`, cette commande ne tracera pas seulement le cercle, mais le remplira en noir. Dans cette commande, le point central `(0,0)` et le rayon `(2pt)` sont déclarés. À côté du point se trouve un `nœud`qui est en réalité une boîte contenant le texte `point d'intersection`et ancré à l' `ouest` du point.

Il est important de noter le point-virgule `;` utilisé à la fin de chaque `commande draw` commande.

Remarque : le `tikzfigure` environnement peut être inclus dans un environnement figure ou similaire. Consultez l'article pour plus d'informations sur ce sujet. [Insertion d'images](/latex/fr/autres-sujets/27-inserting-images.md) article pour plus d'informations sur ce sujet.

## Éléments de base : points, lignes et chemins

Dans cette section, nous proposons quelques exemples montrant comment créer des éléments graphiques de base qui peuvent être combinés pour créer des figures plus élaborées.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw (-2,0) -- (2,0);
\filldraw [gray] (0,0) circle (2pt);
\draw (-2,-2) .. controls (0,0) .. (2,-2);
\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);

\end{tikzpicture}
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%0A%5Cdraw+%28-2%2C0%29+--+%282%2C0%29%3B%0A%5Cfilldraw+%5Bgray%5D+%280%2C0%29+circle+%282pt%29%3B%0A%5Cdraw+%28-2%2C-2%29+..+controls+%280%2C0%29+..+%282%2C-2%29%3B%0A%5Cdraw+%28-2%2C2%29+..+controls+%28-1%2C0%29+and+%281%2C0%29+..+%282%2C2%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![OLV2tikz2.png](/files/3c49551e0377b54c4c42ab3ae11e36b52230ab5f)

Il y a trois commandes de base dans cet exemple :

* **`\draw (-2,0) -- (2,0);`** : Cela définit une ligne dont les points d'extrémité sont `(-2,0)` et `(2,0)`.
* **`\filldraw [gray] (0,0) circle (2pt);`** : Le point est créé comme un très petit `gris` `cercle` centré en `(0,0)` et dont le rayon est `(2pt)`. Le `\filldraw` est utilisée pour dessiner des éléments et les remplir avec une couleur spécifique. Consultez la section suivante pour plus d'exemples.
* **`\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);`** : Trace un [courbe de Bézier](https://en.wikipedia.org/wiki/B%C3%A9zier_curve). Quatre points la définissent : `(-2,2)` et `(2,2)` sont ses points d'extrémité, `(-1,0)` et `(1,0)` le sont [*points de contrôle*](https://en.wikipedia.org/wiki/Control_point_\(mathematics\)) qui déterminent à quel point elle est « courbée ». Vous pouvez considérer ces deux points comme des « points attracteurs ».

## Formes géométriques de base : cercles, ellipses et polygones

Les figures géométriques peuvent être construites à partir d'éléments plus simples, commençons donc par les cercles, les ellipses et les arcs.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);
\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);
\draw[ultra thick, ->] (6.5,0) arc (0:220:1);
\end{tikzpicture}
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Third+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cfilldraw%5Bcolor%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%5D%28-1%2C0%29+circle+%281.5%29%3B%0A%5Cfill%5Bblue%2150%5D+%282.5%2C0%29+ellipse+%281.5+and+0.5%29%3B%0A%5Cdraw%5Bultra+thick%2C+-%3E%5D+%286.5%2C0%29+arc+%280%3A220%3A1%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![TikzEx3.png](/files/8eb6f9f9044a5f458ed0c7237d4618ef539dc062)

* **`\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);`** : Cette commande a été utilisée dans la section précédente pour dessiner un *point*, mais dans ce cas, il y a quelques paramètres supplémentaires entre les crochets. Ceux-ci sont expliqués ci-dessous :
  * **`color=red!60`** : La couleur de l'anneau autour du cercle est réglée sur 60 % de rouge (plus clair que le rouge « pur »). Consultez le [guide de référence](#reference-guide) pour une liste des couleurs par défaut disponibles dans LaTeX ; voyez aussi [Utiliser les couleurs dans LaTeX](/latex/fr/mise-en-forme/13-using-colors-in-latex.md) pour apprendre à créer vos propres couleurs.
  * **`fill=red!5`** : Le cercle est rempli d'une teinte de rouge encore plus claire.
  * **`très épais`** : Ce paramètre définit l'épaisseur du trait. Consultez le [guide de référence](#reference-guide) pour une liste complète des valeurs.
* **`\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);`** : Pour créer une ellipse, vous fournissez un point central `(2.5,0)`, et deux rayons : horizontal et vertical (`1.5` et `0.5` respectivement). Notez également la commande `fill` à la place de `commande draw` ou filldraw, car dans ce cas, il n'est pas nécessaire de contrôler les couleurs extérieure et intérieure.
* **`\draw[ultra thick, ->] (6.5,0) arc (0:220:1);`** : Cette commande trace un arc commençant à `(6.5,0)`. Le paramètre supplémentaire `->` indique que l'arc aura une flèche à la fin. En plus du point de départ, vous devez fournir trois valeurs supplémentaires : les angles de départ et d'arrivée, ainsi que le rayon ; ici, ces trois valeurs de paramètre sont fournies au format `(0:220:1)`.

En plus des formes géométriques courbes, vous pouvez également créer des éléments utilisant des lignes droites, en utilisant une syntaxe similaire :

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue, very thick] (0,0) rectangle (3,2);
\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;
\end{tikzpicture}
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fourth+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bblue%2C+very+thick%5D+%280%2C0%29+rectangle+%283%2C2%29%3B%0A%5Cdraw%5Borange%2C+ultra+thick%5D+%284%2C0%29+--+%286%2C0%29+--+%285.7%2C2%29+--+cycle%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![OLV2tikz4.png](/files/a050d3501b6937673bfbcdcb13e7825e06fcd97a)

* **`\draw[blue, very thick] (0,0) rectangle (3,2);`** : Les rectangles sont créés par la commande spéciale `rectangle`. Vous devez fournir deux points ; le premier est l'endroit où le « crayon » commence à dessiner le rectangle et le second est le point du coin diagonalement opposé.
* **`\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;`** : Pour dessiner un polygone, nous traçons un *fermé* chemin de lignes droites : une ligne de `(4,0)` à `(6,0)` et une ligne de `(6,0)` à `(5.7,2)`. Le `cycle` signifie que les points de départ et d'arrivée doivent coïncider pour créer un chemin « fermé » (forme), ce qui conduit à la construction du dernier segment de ligne.

## Diagrammes

Les nœuds sont probablement les éléments les plus polyvalents de TikZ. Nous avons déjà utilisé un nœud dans l'introduction — pour ajouter du texte à la figure. L'exemple suivant utilise des nœuds pour créer un diagramme.

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Nœuds
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Lignes
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
\end{tikzpicture}
\end{document}
```

[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+advanced+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![OLV2tikz5.png](/files/984b78f407b2b204065d462bd7bc3dc686630801)

Il y a essentiellement trois commandes dans cette figure : une définition de nœud, une déclaration de nœud et des lignes qui relient deux nœuds.

* **`roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}`** : Transmis comme paramètre à l' `tikzpicture` environnement. Il définit un nœud qui sera référencé comme `roundnode` : ce nœud sera un cercle dont l'anneau extérieur sera tracé avec la couleur `green!60` et sera rempli avec `green!5`. Le trait sera `très épais` et son `taille minimale` est `7mm`. La ligne ci-dessous définit un second nœud de forme rectangulaire appelé `squarednode`, à l'aide de paramètres similaires.
* **`\node[squarednode] (maintopic) {2};`** : Cela créera un `squarednode`, tel que défini dans la commande précédente. Ce nœud aura pour identifiant `maintopic` et contiendra le nombre `2`. Si vous laissez un espace vide entre les accolades, aucun texte ne s'affichera.
* **`[above=of maintopic]`** : Notez que tous les nœuds, sauf le premier, ont un paramètre supplémentaire qui détermine leur position par rapport aux autres nœuds. Par exemple, `[above=of maintopic]` signifie que ce nœud doit apparaître au-dessus du nœud nommé `maintopic`. Pour que ce système de positionnement fonctionne, vous devez ajouter `\usetikzlibrary{positioning}` à votre préambule. Sans la `positionnement` bibliothèque de positionnement, vous pouvez utiliser la syntaxe `above of=maintopic` à la place, mais la `positionnement` syntaxe est plus flexible et plus puissante : vous pouvez l'étendre pour écrire `above=**3cm** of maintopic` c'est-à-dire contrôler la distance réelle par rapport à `maintopic`.
* **`\draw[->] (uppercircle.south) -- (maintopic.north);`** : Une ligne droite en forme de flèche sera tracée. La syntaxe a déjà été expliquée dans la [éléments de base](#basic-elements-points-lines-and-paths) section. La seule différence est la manière dont nous écrivons les extrémités de la ligne : en faisant référence à un nœud (c'est pourquoi nous leur avons donné un nom) et à une position relative au nœud.

## Guide de référence

Paramètres possibles de couleur et d'épaisseur dans le `tikz` package :

| paramètre | valeurs                                                  | image                                                                |
| --------- | -------------------------------------------------------- | -------------------------------------------------------------------- |
| color     | blanc, noir, rouge, vert, bleu, cyan, magenta, jaune     | ![BasicColours.png](/files/c7d3aee8f3d431644ef17af4eeed48cd6bb9a77f) |
| épaisseur | ultra fin, très fin, fin, épais, très épais, ultra épais | ![Thickness.png](/files/12bcd8a83312c5c894f7c9e6570196fb424e3ac9)    |

D'autres couleurs peuvent être disponibles dans votre distribution LaTeX. Voir [Utiliser les couleurs dans LaTeX](/latex/fr/mise-en-forme/13-using-colors-in-latex.md)

## Lectures complémentaires

Pour plus d'informations, voir :

* [Utiliser les couleurs dans LaTeX](/latex/fr/mise-en-forme/13-using-colors-in-latex.md)
* [package Pgfplots](/latex/fr/specifique-a-un-domaine/08-pgfplots-package.md)
* [Insertion d'images](/latex/fr/autres-sujets/27-inserting-images.md)
* [Listes des tableaux et des figures](/latex/fr/figures-et-tableaux/03-lists-of-tables-and-figures.md)
* [Positionnement des images et des tableaux](/latex/fr/figures-et-tableaux/02-positioning-images-and-tables.md)
* [Dessiner des diagrammes directement dans LaTeX](/latex/fr/figures-et-tableaux/04-picture-environment.md)
* [le manuel des paquets TikZ et PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf)
* [Exemples TikZ et PGF sur TeXample.net](http://www.texample.net/tikz/examples/all/)


---

# 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/figures-et-tableaux/05-tikz-package.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.
