![]() ![]() ![]() ![]() |
Les tableaux en TEX |
|||||||||||||||||||||||
IntroductionCaractèresMathsFontesTables
StructureParagraphesEspaces |
Deux environnements similairesLATEX propose deux environnements pour créer tables, tableaux, ... Il s'agit de array et tabular. Ils permettent de faire pratiquement la même chose. Alors, quelle est la différence ?
Sinon, les deux obéissent à la syntaxe générale de mise en place des environnements, déjà décrite ici : l'environnement commence avec un \begin{...} et finit avec un \end{...}. Comme on a rarement besoin de tableaux complexes en mode mathématique, nous commençons par quelques exemples simples avec array, avant de voir plus élaboré avec tabular. L'environnement arrayPremier exemple : une matriceSupposons qu'on veuille coder la matrice [1] suivante :
Le code à employer serait le suivant :
Explications : après le $ initial qui introduit le mode mathématique, \left( crée une parenthèse gauche extensible. Vient ensuite le array proprement dit. L'en-tête \begin{array}{cc} déclare un tableau à deux colonnes centrées. Pour trois colonnes alignées à gauche, ce serait bien sûr \begin{array}{lll}, et \begin{array}{lcr} produirait trois colonnes : la première alignée à gauche, la deuxième centrée, et la troisième alignée à droite. Puis a & b \\ fait la première ligne : les "cellules" sont séparées par des "&", et la ligne se finit par une marque de passage à la ligne : \\. On procède de même pour chaque ligne suivante [2]. Enfin, les deux dernières lignes de code ferment successivement : l'environnement array, la parenthèse et le mode mathématique. Deuxième exemple : un systèmeEssayons de coder le système suivant :
Cette fois in écrirait :
Explications : qu'est-ce qui change ? On ouvre une accolade (\left{) au lieu d'une parenthèse. On déclare ensuite un tableau avec une seule colonne, alignée à droite. On place nos équations sur chaque ligne. À noter simplement le "délimiteur vide" \right. : il faut quelque chose qui réponde au \left{, mais qui ne produise aucune sortie. L'environnement tabularProfitons de cet environnement pour illustrer d'autre possibilités des tableaux en LATEX. Alignement vertical de l'ensemble du tableauPar défaut le tableau "en ligne" est centré en hauteur (par rapport à la ligne qui le contient). Pour l'aligner sur la ligne du haut (resp. du bas), il suffit de faire suivre le \begin{tabular} du paramètre optionnel [t] (resp. [b]). Par exemple,
pour un tableau de 3 colonnes (centrées), aligné en hauteur sur la ligne du haut. Lignes verticalesDans la déclaration du tableau, on utilise le caractère "barre verticale". Par exemple,
déclare un tableau de 4 colonnes (centrées) encadrées par des lignes (avec 2 lignes entre les première et deuxième colonnes). Séparation des colonnes par du texteAu lieu de séparer deux colonnes par une ligne verticale, on peut utiliser à cet effet un élément de texte. Il suffit de remplacer la barre verticale précédente par
Lignes horizontalesPour produire une ligne horizontale s'étendant sur la largeur du tableau :
Deux \hline consécutifs sont possibles pour une double séparation, mais cela crée une petite interruption dans les lignes verticales. Mais pour une ligne ne s'étendant que de la colonne n° c1 à la colonne c2, on utilisera :
Plusieurs lignes de texte dans une cellulePour qu'une colonne adopte une largeur fixée (plutôt qu'adaptée à son contenu), remplacer les options l/c/r d'alignement de colonne par
Le texte dans cette colonne passera à la ligne si nécessaire. longueur peut être exprimée en toute unité reconnue par LATEX. Texte s'étendant sur plusieurs cellulesPour qu'un texte s'étende sur plusieurs colonnes, on utilisera la syntaxe
où nbcol est le nombre de colonnes, alignement vaut l ou c ou r pour gauche, centré et droite resp., et texte est le contenu de la cellule multicolonne. Notons que nbcol peut valoir 1, ce qui permet éventuellement d'outrepasser l'alignement de colonne déclaré dans l'en-tête du tableau. Exemple récapitulatifSoit à coder le tableau suivant : On pourrait par exemple écrire (parmi bien d'autres possibilités) :
On notera simplement, dans les trois dernières lignes, l'usage de \multicolumn{1}... pour modifier l'alignement par défaut (centré) déclaré dans l'en-tête du tableau. Dans ce cas, il faut faire attention à bien mettre en place les traits verticaux, pour les cellules dont l'alignement a été modifié. Notes[1] ... qui aurait bien meilleure allure en LATEX que sur cette malheureuse page HTML ! [2] Le nombre de lignes n'est pas déclaré à l'avance, contrairement à celui des colonnes. |