FAQ LaTeX/TeXConsultez toutes les FAQ

Nombre d'auteurs : 27, nombre de questions : 148, dernière mise à jour : 31 août 2017  Ajouter une question

 

Bienvenue sur la FAQ LaTeX, elle répondra aux questions les plus fréquemment posées.
Je tiens à souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose soient correctes ; les auteurs font le maximum, mais l'erreur est humaine. Cette faq ne prétend pas non plus être complète.


SommaireLes tableauxLes tableaux simples (5)
précédent sommaire suivant
 

Pour la réalisation d'un tableau, on se placera dans l'environnement tabular défini par LaTeX.
Prenons en exemple le code suivant :

Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
9
\begin{tabular}{|c|c|l|r|} 
\hline  
Un tableau & quatre colonnes & avec des cellules centr\'ees & d'autres align\'ees \`a droite ou \`a gauche \\  
\hline 
centr\'ee & centr\'ee & \`a gauche & \`a droite \\  
\hline\hline 
un & deux & trois & quatre\\ 
\hline 
\end{tabular}
nous donne :


En argument de l'environnement tabular, on définit :
  • les descripteurs de colonnes et leur nombre :
    • c pour une cellule centrée,
    • l pour une cellule alignée à gauche,
    • r pour une cellule alignée à droite ;
  • le caractère « | » ( tube ou pipe) dessine les filets verticaux.

Dans l'environnement tabular :
  • la commande \hline trace les filets horizontaux ;
  • l'esperluette & sert de séparateur de colonnes ;
  • et \\ indique la fin de la ligne.

Mis à jour le 3 mai 2014 -Nikopol-

Les colonnes de type "c", "l" et "r" ne permettent pas de retour à la ligne. La largeur des colonnes est celle de la plus grande ligne de cette colonne. Ce qui peut très vite devenir inesthétique et provoquer des débordements.
Pour résoudre ce problème, on va utiliser le descripteur de colonnes p{<taille>} où <taille> sera la longueur souhaitée de la colonne dans une unité reconnue par LaTeX.
Ainsi, le code suivant :

Code LaTeX : Sélectionner tout
1
2
3
4
5
\begin{tabular}{|p{3cm}|p{3cm}|} 
\hline  
Une cellule contenant un texte tr\`es long & Une autre cellule contenant un texte encore plus long, beaucoup, beaucoup plus long   \\  
\hline  
\end{tabular}
nous donne :


Les deux colonnes ont maintenant une largeur de 3cm, mais force est de constater que ce résultat n'est pas du meilleur effet.
Mais contrairement aux colonnes "c", "l", "r", les colonnes de type "p" acceptent les commandes telles que :
  • \centering ;
  • \raggedright ;
  • \raggedleft ;
  • \par.

Les commandes telles que \centering et \raggedright redéfinissent \\, il va donc falloir utiliser \tabularnewline à la place de \\.

Ainsi le code suivant qui utilise \raggedright et \centering :
Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
\begin{tabular}{|p{3cm}|p{3cm}|} 
\hline  
\raggedright 
Une cellule contenant un texte très long & Une autre cellule contenant un texte encore plus long, beaucoup, beaucoup plus long \raggedright  \tabularnewline  
\hline  
\end{tabular}\hfill% 
\begin{tabular}{|p{3cm}|p{3cm}|} 
\hline 
\centering 
Une cellule contenant un texte très long & \centering Une autre cellule contenant un texte encore plus long, beaucoup, beaucoup plus long\tabularnewline 
\hline  
\end{tabular}
donne :

Mis à jour le 3 mai 2014 -Nikopol-

Pour fusionner des colonnes, il faut utiliser la commande \multicolumn{<nombre>}{<type>}{<text>} où :

  • <nombre> est le nombre de colonnes que l'on veut fusionner ;
  • <type> est le type de colonne que l'on va utiliser ("c", "l", "r", "p", ...) ;
  • <texte> est le texte que l'on insère.

Ainsi le code suivant :
Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
9
\begin{tabular}{|c|c|c|} 
\hline 
une colonne&\multicolumn{2}{c|}{Texte sur 2 colonnes}\\ 
\hline 
\multicolumn{2}{|c|}{Texte sur 2 colonnes}& une cellule\\ 
\hline 
un&deux&trois\\ 
\hline 
\end{tabular}
donne :


Faites attention à l'encadrement du type de colonne par |, il faut éviter de tracer les filets verticaux deux fois. Vous pouvez noter les différences dans le code précédent.

Mis à jour le 3 mai 2014 -Nikopol-

L'extension longtable permet d'obtenir des tableaux s'étendant sur plusieurs pages. Il faut donc ajouter \usepackage{longtable} dans le préambule et utiliser l'environnement longtable.

Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
\begin{longtable}{|c|c|c|} 
\hline 
1&2&3\\ 
4&5&6\\ 
7&8&9\\ 
1&2&3\\ 
4&5&6\\ 
7&8&9\\ 
\hline 
\end{longtable}

Pour les options, vous pouvez vous reportez à la documentation de l'extension sur le CTAN.

Mis à jour le 3 mai 2014 -Nikopol-

Pour fixer la largeur d'un tableau, il existe l'extension tabularx. Il faut donc ajouter au préambule \usepackage{tabularx}.
L'environnement tabularx fonctionne de la même façon que l'environnement tabular à ceci près qu'il introduit un paramètre supplémentaire (la longueur totale du tableau) et un nouveau descripteur de colonne qui prendra la largeur restante du tableau après que LaTeX ait affecté la longueur nécessaire aux autres colonnes ("c", "l", "r", "p", ...).
Par exemple, pour la déclaration suivante :

Code LaTeX : Sélectionner tout
\begin{tabularx}{<longueur>}{|c|X|l|}

  • <longueur> sera la longueur totale du tableau ;
  • X prendra la longueur restante après que les colonnes "c" et "l" aient été remplies.

<longueur> peut prendre toutes les unités de longueur définies par LaTeX ainsi que les commandes \textwidth ou \linewidth pour avoir un tableau de la longueur totale de la ligne.
Ainsi le code suivant :
Code LaTeX : Sélectionner tout
1
2
3
4
5
6
7
8
\noindent\begin{tabularx}{\linewidth}{|c|X|l|} 
\hline 
Du texte centr\'e & ici la colonne s'adapte \`a la longueur de la ligne restante & du texte align\'e \`a gauche\\ 
\hline 
4&5&6\\ 
7&\centering 8&9\\ 
\hline 
\end{tabularx}
nous donne un tableau de la largeur de la ligne :

Si l'environnement tabularx ne se trouve pas dans un autre environnement de mise en page, il ne faut pas oublier de supprimer l'indentation avec la commande \noindent.

Mis à jour le 3 mai 2014 -Nikopol-

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2018 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsable bénévole de la rubrique LaTeX : Sébastien Lataix (Nikopol) -