---
myst:
html_meta:
keywords: LaTeX, schémas, schéma, schema, circuits, circuit, électriques, tikZ, tikz, électronique
---
# Comment tracer des circuits électriques avec ?
:::{note}
Bien que cela ne soit pas indispensable, une connaissance basique du package
est un plus.
:::
Le package fournit un environnement `circuitikz` dans lequel on décrit le circuit à
construire.
## Chargement du package et symboles européens
```{noedit}
\usepackage[
european resistor,
RPvoltages,
european current,
european voltage,
straightvoltages
]{circuitikz}
\usetikzlibrary{babel}
```
- `RPvoltages` (Rising Potential voltages) : les flèches de tensions suivent par défaut le
sens conventionnel (pour les récepteurs et les générateurs) ;
- `straightvoltages` : flèche des tensions droites (courbées par défaut) ;
- `european voltage` et `european current` : sources de tension et d’intensité idéale au
format européen.
## Circuit sans dipôles
Pour construire un circuit, pour l’instant sans dipôles, on utilise le code suivant :
```
\documentclass{article}
\usepackage[
european resistor,
RPvoltages,
european current,
european voltage,
straightvoltages
]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
\draw (0,0) to (4,0) to (4,-4) to (0,-4) to (0,0);
\end{circuitikz}
\end{document}
```
On comprend qu’il s’agit d’indiquer des coordonnées des points.
```{attention}
Bien penser à terminer chaque instruction par `;`.
```
## Ajout des dipôles
Pour ajouter des dipôles, on indique un paramètre optionnel après la liaison
`to` :
```
\documentclass{article}
\usepackage[
european resistor,
RPvoltages,
european current,
european voltage,
straightvoltages
]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
\draw (0,0) to [vsource] (4,0) to [lamp] (4,-4) to [R] (0,-4) to [empty led] (0,0);
\end{circuitikz}
\end{document}
```
Pour les autres dipôles, voir [la liste des dipôles usuels](#dipoles-usuels).
## Intensité et tension
Reprenons le circuit précédent pour y ajouter les tensions et l’intensité :
```
\documentclass{article}
\usepackage[
european resistor,
RPvoltages,
european current,
european voltage,
straightvoltages
]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
\draw (0,0) to [vsource, v=$u_G$, i=$i$] (4,0)
to [lamp, v=$u_L$] (4,-4)
to [R, v=$u_R$] (0,-4)
to [empty led, v=$u_D$] (0,0);
\end{circuitikz}
\end{document}
```
## Ajout d'une dérivation
Pour ajouter une boucle supplémentaire, on ajoute une nouvelle instruction `\draw` qui
doit également se terminer par `;`.
```
\documentclass{article}
\usepackage[
european resistor,
RPvoltages,
european current,
european voltage,
straightvoltages
]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
% première boucle
\draw (0,0) to [vsource, v=$u_G$, i=$i$] (4,0)
to [lamp, v=$u_L$, i=$i_2$] (4,-4)
to [R, v=$u_R$] (0,-4)
to [empty led, v=$u_D$] (0,0);
% deuxième boucle
\draw (4,0) to (6,0)
to [lamp, i=$i_1$] (6,-4)
to (4,-4);
\end{circuitikz}
\end{document}
```
## Réglages manuels
Pour régler manuellement le sens des flèches, ou pour modifier leur position, on utilise
les caractères `<`, `>`, `_` et `^`.
```
\documentclass{article}
\usepackage[
european resistor,
RPvoltages,
european current,
european voltage,
straightvoltages
]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
\draw (0,0) to [vsource, v=$u_G$, i=$i$] (4,0)
to [lamp, v=$u_L$, i^>=$i_2$, *-*] (4,-4)
to [R, v=$u_R$] (0,-4)
to [empty led, v=$u_D$] (0,0);
%
\draw (4,0) to (6,0)
to [lamp, i>^=$i_1$] (6,-4)
to (4,-4);
\end{circuitikz}
\end{document}
```
:::{note}
L’ordre dans lequel on indique la position du nom et le sens du courant a une
influence. On peut constater la différence en comparant les positions de $i_1$ et $i_2$ dans le
code précédent.
:::
## Quelques exemples de dipôles
:::{table} Dipôles de bases
:widths: auto
:name: dipoles-usuels
:align: left
| Dipôles | Argument optionnel à passer à `to` |
|--------------------------------|------------------------------------|
| Résistance | `R` |
| Résistance variable | `vR` |
| Photorésistance | `phR` |
| Thermistance | `thR` |
| Diode | `empty diode` |
| Led | `empdy led` |
| Photodiode | `empty photodiode` |
| Pile | `battery2` |
| Source de tension | `vsource` |
| Source de tension sinusoïdale | `sV` |
| Ampèremètre | `rmeter, t=A` |
| Voltmètre | `rmeter, t=V` |
| Lampe | `lamp` |
| Interrupteur | `normal open switch` |
| Interrupteur qu’on ouvre | `opening switch` |
| Interrupteur qu’on ferme | `closing swich` |
| Condensateur | `C` |
| Bobine | `L` |
| Fil vide (pour ajouter u ou i) | `short` |
| Oscilloscope | `oscope` |
:::
:::{note}
Pour la Terre on définit un node (au sens de Ti*k*Z) auquel on passe l’option `eground`.
:::
Ci-dessous, un dernier exemple.
```
\documentclass{article}
\usepackage[
european resistor,
RPvoltages,
european current,
european voltage,
straightvoltages
]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
\draw (0,0)
to [sV] (0,3)
to[lamp] (3,3)
to [R, *-*] (3,0)
-- (0,0);
\draw (3,3) -- (5,3) to [oscope, l=Ocsillo] (5,0) -- (3,0);
\draw (0,0) to[short, *-] (0,-.5) node[eground]{};
\end{circuitikz}
\end{document}
```
```{sources}
https://nboulaire.developpez.com/tutoriels/latex/circuitikz_base/#LI-A
```