# LaTeX/Faire des tableaux

LATEX
* Généralités
* Premiers pas
** Installer LaTeX
** Premier exemple
** Lettre
** Éléments de base
** Les classes
** Structuration du texte
** Mise en forme du texte
** Faire des tableaux
** Inclure des images
** Options de mise en forme avancées
** Écrire des mathématiques
** Écrire de la physique
** Écrire des formules chimiques
** Créer une feuille de style
** À l'aide !
* Structure du document
* Gestion de la bibliographie
* Tableaux
* Images
* Éléments flottants
* Mise en forme du texte
* Choix de la police
* Mise en page
* Mathématiques
* Gestion des gros documents
* Faire des présentations
* LaTeX pour enseignants
* Arts et loisirs
** Écrire de la musique
** Dessiner des échiquiers
* Dessiner avec LaTeX
** Dessiner en LaTeX pur
** Dessiner avec PSTricks
** Dessiner avec PGF et TikZ
** Dessiner des molécules
** Réalisation de graphiques mathématiques
* Créer une extension ou une classe
* Programmer avec LaTeX
Annexes
* Vadémécum
* Conversion vers d'autres formats
* Glossaire de typographie
* Index
* Commandes
* Liens externes
N. B. : Pour obtenir des tableaux typographiquement corrects, il est préférable de charger l’extension array. On placera donc un \usepackage{array} dans le préambule du document. Cependant, sauf exception signalée, les exemples ci-dessous sont utilisables sans cette extension.
Commencons par faire un tableau assez simple qui contient 2 lignes et trois colonnes :
| Fichier source | Résultat (en PostScript) |
| \begin{tabular}{lll} 1.1 & 1.2 & 1.3 \\ 2.1 & 2.2 & 2.3 \\ \end{tabular} | |
L'environnement de base pour les tableaux en LaTeX est tabular, il prend un argument obligatoire qui spécifie le nombre de colonnes du tableau :
L'argument <colonnes> est une suite de caractères qui peuvent être :
* un l pour une colonne alignée à gauche (left) ;
* un r pour une colonne alignée à droite (right) ;
* un c pour une colonne centrée (center).
* un p{largeur} pour une colonne avec un paragraphe en pavé (c'est-à-dire justifié, mais sans alinéa) ; la largeur est indiquée de manière classique, par exemple p{3cm} ou p{10em}.
Les <lignes> sont représentées par les valeurs des colonnes séparées par des esperluettes & et terminées par deux contre-obliques \\.
Si l'on veut séparer les colonnes par des filets (traits) verticaux, on ajoutera des tubes | à l'endroit souhaité dans l'argument de l'environnement.
On peut aussi ajouter des filets horizontaux avec la commande \hline.
| Fichier source | Résultat (en PostScript) |
| \begin{tabular}{|l|c|r|} \hline colonne 1 & colonne 2 & colonne 3 \\ \hline 1.1 & 1.2 & 1.3 \\ 2.1 & 2.2 & 2.3 \\ \hline \end{tabular} | |
On peut faire suivre deux \hline pour avoir une ligne double.

## Fusionner les colonnes

Pour fusionner des colonnes, on utilise l'instruction \multicolumn. Celle-ci se place à l'endroit où se trouve la première des cellules fusionnées. Sa syntaxe est :
où
* <nombre> est le nombre de colonnes fusionnées ;
* <colonne> indique l'alignement (l, c, r) ; le filet de gauche est le filet normal de la première cellule (celui défini dans la définition du tableau), mais il faut définir le filet de droite.
Par exemple :
donne
| colonne 1 | colonnes 2 et 3 | colonnes 2 et 3 |
| 1.1 | 1.2 | 1.3 |
| 2.1 | 2.2 | 2.3 |
Si l'on veut changer la composition du texte (alignement) pour une cellule, on peut utiliser \multicolumn{1}{<colonne>}{<texte>}. À moins que la première colonne ne soit incluse, on n'indique que le filet de droite (par exemple {l|}, le filet de gauche étant déterminé par la description générale.

## Fusionner les lignes

La fusion des lignes stricto sensu nécessite le recours à une extension particulière, multirow. Son utilisation est décrite dans la section Tableaux > Colonnes enveloppant des lignes multiples. Nous allons ici procéder à une approche simplifiée, consistant à laisser des cellules vides et à tracer un filet horizontal ne faisant pas toute la largeur.
Pour tracer ce filet, on utilise l'instruction
Par exemple :
donne
| colonne 1 | colonnes 2 et 3 | colonnes 2 et 3 |
| 1.1 | 1.2 | 1.3 |
| 1.1 | 2.2 | 2.3 |

## Tableau flottant

On peut laisser notre typographe virtuel placer le tableau ; on parle alors de tableau flottant. On indique l'endroit où l'on souhaiterait voir le tableau (à côté du texte le précédant dans le fichier source, ou bien en haut ou en bas d'une page), et LaTeX fait de son mieux en fonction des contraintes, notamment de la présence d'autres objets flottants. S'il n'arrive pas à placer le flottant sur la page en cours, il est « mis en attente » et sera placé plus loin. De plus, LaTeX numérote automatiquement le tableau, ce qui permet de dresser un index des tableaux.
Pour cela, on encapsule le tableau dans un environnement table :
où <position> est une lettre indiquant l'emplacement désiré :
* h pour qu'il soit à côté du texte précédant dans le source (here),
* t : en haut d'une page (top),
* b : en bas d'une page (bottom),
* p : dans une page ne contenant que des flottants (regroupement des figures et tableaux).
Si l'on veut donner un titre et placer une étiquette permettant de faire référence au tableau (cf. Structuration du texte > Références), on utilisera la syntaxe suivante :
Si l'on veut centrer le tableau dans l'environnement, il est recommandé d'utiliser l'extension array et la commande \centering plutôt que l'environnement center :
Lorsqu'il y a trop de flottants, la mise en page peut devenir problématique. On pourra avoir recours à l'instruction \clearpage qui provoque un changement de page et l'affichage de tous les flottants en attente. L'instruction \cleardoublepage a le même effet, mais le texte qui suit est placé sur une page impaire (« belle page » si l'on est en recto-verso).
L'index des tables s'obtient avec l'instruction \listoftables. L'extension tocbibind permet de faire figurer cet index dans la table des matières.

## Creation des tableaux en WYSIWYG
### En ligne

* http://www.tablesgenerator.com
* http://truben.no/table

### Logiciels

* La Table (Win & Mac)

## Voir aussi

* Programmation LaTeX Tableaux