---
myst:
html_meta:
keywords: LaTeX, mathématiques, tableau de variation, TikZ, PStricks
---
# Comment tracer un tableau de variation ?
## Avec les commandes de base
Pour un tableau simple, l'environnement `array` du mode mathématique standard de LaTeX peut donner une réponse appropriée. En voici un exemple :
```
\documentclass{article}
\pagestyle{empty} % N'affiche pas de numéro de page
\begin{document}
$
\begin{array}{|c|ccccr|}
\hline
x & -\infty & & 0 & & +\infty \\ \hline
f'(x) & 5 & + & 0 & - & -10 \\ \hline
& & & 10 & & \\ % ligne des "max"
f(x) & &\nearrow & &\searrow & \\ % flèches
& -\infty & & & & -10 \\ % ligne des "min"
\hline
\end{array}
$
\end{document}
```
Les flèches sont nommées d'après les points cardinaux : `\nearrow` est pour *north-east*, `\searrow` pour *south-east* :
| Commande | Résultat |
| ---------- | ---------- |
| `\nearrow` | $\nearrow$ |
| `\searrow` | $\searrow$ |
| `\nwarrow` | $\nwarrow$ |
| `\swarrow` | $\swarrow$ |
On peut faire de plus jolies flèches (redimensonnables) avec les commandes graphiques, mais le code est moins lisible.
Pour cela, il faut choisir une unité de longueur avant par exemple `\unitlength=1cm` et remplacer par exemple `nearrow` par des flèches de 2cm de large et de haut, comme dans cet exemple :
```
\documentclass{article}
\pagestyle{empty} % N'affiche pas de numéro de page
\begin{document}
\unitlength=1cm
$
\begin{array}{|c|ccccr|}
\hline
x & -\infty & & 0 & & +\infty \\ \hline
f'(x) & 5 & + & 0 & - & -10 \\ \hline
& & & 10 & & \\ % ligne des valeurs "max"
f(x) & &
\begin{minipage}{1cm}
\begin{picture}(1,1)
\put(0,0){\vector(1,1){1}}
\end{picture}
\end{minipage}
& &
\begin{minipage}{1cm}
\begin{picture}(1,1)
\put(0,1){\vector(1,-1){1}}
\end{picture}
\end{minipage}
& \\ % flèches
& -\infty & & & & -10 \\ % ligne des valeurs "min
\hline
\end{array}
$
\end{document}
```
## Avec l'extension
La méthode actuellement conseillée utilise l'extension , écrite par Alain Matthes et basée sur Ti*k*Z, pour composer tableaux de signes et tableaux de variations. La richesse de sa syntaxe permet toutes les fantaisies (utilisation de la couleur, par exemple) et sa [documentation](texdoc:tkz-tab), très complète, est écrite en français.
```
\documentclass{article}
\usepackage{tkz-tab}
\pagestyle{empty} % N'affiche pas de numéro de page
\begin{document}
\begin{tikzpicture}
\tikzset{h style/.style = {pattern=north west lines}}
\tkzTabInit[lgt=1,espcl=2]{$x$ /1, $f$ /2}{$0$,$1$,$2$,$3$}%
\tkzTabVar{+/ $1$ / , -CH/ $-2$ / , +C/ $5$, -/ $0$ / }
\end{tikzpicture}
\end{document}
```
## Avec l'extension
L'extension , de Nicolas Kisselhoff, permet également d'effectuer des mises en page grâce à [PStricks](ctanpkg:pstricks). Par exemple :
```{noedit}
\documentclass{article}
\usepackage{ifthen,minimum,tableau}
\newpsstyle{hachured}
{fillstyle=hlines,
hatchwidth=0.2pt,
hatchsep=2pt}
\begin{document}
\setlength{\TabTitreL}{1cm}
\begin{MonTableau}{1}{9}{1.5}
\psframe[style=hachured,%
linestyle=none](.3,1)(.45,0)
\TabNewCol{0}
\rTabPut{Br}{-.15}{.25}{$x$}
\rTabPut{Br}{-.15}{.40}{$f(x)$}
\TabNewCol{0}
\rTabPut{Bl}{.15}{.25}{$0$}
\rTabPut{Bl}{.15}{.60}{$\frac{3}{2}$}
\TabNewCol{.30}
\rTabPut{B}{0}{.25}{$1$}
\rTabPut{Br}{-.15}{.80}{$+\infty$}
\psline[style=TabDblBarre](.3,0)(.3,1)
\TabNewCol{.45}
\rTabPut{B}{0}{.25}{$\frac{3}{2}$}
\rTabPut[2]{B}{0}{.10}{\TabZ}
\TabNewCol{1}
\rTabPut{Br}{-.15}{.25}{$+\infty$}
\rTabPut{Br}{-.15}{.40}{$1$}
\TabFleche{B1}{C1}
\TabFleche{D1}{E1}
\end{MonTableau}
\end{document}
```