FAQ LaTeX/TeXConsultez toutes les FAQ
Nombre d'auteurs : 25, 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.
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} |
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.
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} |
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} |
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} |
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.
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.
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. |
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} |
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. |
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 çaLes 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 © 2024 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.