Tableaux

Tableaux Simples

Historique de Tableaux.TableauxSimples

Cacher les modifications mineures - Affichage de la sortie

19/10/2011 23:37 par Bertrand Masson -
Ligne 347 modifiée:
%lfloat% [++←++] [[Latex/Tableaux|Tableaux]]%%
en:
%lfloat% [++←++] [[LateX/Tableaux|Tableaux]]%%
19/10/2011 23:31 par Bertrand Masson -
Lignes 347-348 modifiées:
%lfloat% [++←++] [[Tableaux|Tableaux]]%%
%rfloat% [[Iableaux/TableauxArray|Deuxième partie : améliorer ses tableaux avec le package array]] [++→++]%%
en:
%lfloat% [++←++] [[Latex/Tableaux|Tableaux]]%%
%rfloat% [[Tableaux/TableauxArray|Deuxième partie : améliorer ses tableaux avec le package array]] [++→++]%%
19/10/2011 23:29 par Bertrand Masson -
Ligne 348 modifiée:
%rfloat% [[TableauxArray|Deuxième partie : améliorer ses tableaux avec le package array]] [++→++]%%
en:
%rfloat% [[Iableaux/TableauxArray|Deuxième partie : améliorer ses tableaux avec le package array]] [++→++]%%
19/10/2011 23:22 par Bertrand Masson -
Lignes 1-348 ajoutées:
%left bgcolor=#dfd border='3px dotted green' define=rem%
%left bgcolor=#ff7a7a border='3px dotted red' define=alert%

!Première partie : les tableaux simples avec l'environnement tabular

----

!!!Sommaire

[[#premtabl | Ton premier tableau]]

[[#colonnes | Créer les colonnes]]

[[#lignes | Créer les lignes]]

[[#taille | 1'^er^' problème : la taille des tableaux]]

[[#soluce | La solution : p%red%{%%valeurUnité%red%}%%]]

[[#raccourci | Un raccourci *%red%{%%nb%red%}{%%type%red%}%%]]

[[#traitverti | Remplacer les traits verticaux : @%red%{%%texte%red%}%%]]

[[#cline | Traits Des traits horizontaux partiels = %blue%\cline%%]]

[[#espaceco | Modifier l'espace entre les colonnes]]

[[#epaistrait | Modifier l'épaisseur des traits]]

[[#espacetrait | Modifier l'espacement entre 2 traits]]

[[#espaceligne | Modifier l'espacement entre 2 lignes]]

[[#fusion | Fusion de colonnes]]
----

!!Ton premier tableau[[#premtabl]]

La réalisation de tableaux se fait au moyen de l'environnement %red%tabular%%. On n'a pas besoin de charger un package, c'est compris dans LaTeX. Un exemple valant mieux qu'un long discourt, voici un tableau, les explications suivent:

%green%\begin{tabular}%red%{%%|l|c||rc|||%red%}%%
%blue%\hline%%
Première ligne & colonne 2 & colonne 3 & colonne 4%blue%\\%%
%blue%\hline \hline%%
aligné à gauche & centré & aligné à droite & 4 %blue%\\%%
ligne3 &&colonne 3& 4%blue%\\%%
%blue%\hline%%
%green%\end{tabular}

%center%%width=500px%Attach:tabSimple1.png

!!Créer les colonnes[[#colonnes]]
Comme tous les environnements LaTeX tu commences par un begin %green%\begin{tabular}%% et tu finis par un end %green%\end{tabular}%%.

Maintenant il te faut définir le nombre et le type de colonnes, c'est le rôle de la commande %red%{%%|l|c|r|%red%}%% qui suit le %green%\begin{tabular}%%.

Dans cet exemple tu crées 3 colonnes : avec %blue%l%%, pour left, donc la première colonne est justifiée gauche, %blue%c%% (center) une 2'^e^' colonne centrée, %blue%r%% (right) une 3'^e^' colonne justifiée droite.

Les %blue%|%% (''pipe'' en anglais) obtenus par AltGr 6 dessinent des traits verticaux séparant les colonnes. Ils ne sont pas obligatoire, dans ce cas, pas de lignes verticales et plusieurs accolés donnent des lignes verticales multiples. %red%{%%lcr%red%}%% donnera un tableau sans filets, %red%{%%|l|c||r|%red%}%% dans ce cas, les 2'^e^' et 3'^e^' colonnes sont séparées par un double trait vertical.


!!Créer les lignes [[#lignes]]

textecolonne1 %red%&%% textecolonne2 %red%&%%textecolonne3 %red%&%% textecolonne4 %blue%\\%%

Permet de remplir une ligne du tableau. %red%&%% sépare les colonnes et le %blue%\\%% final indique la fin de la ligne.

%alert%Attention il doit y avoir nombreDeColonne – 1 %red%&%% (il n'y en a pas ni au début de la ligne, ni à la fin) sous peine d'erreurs de compilation.%%

Une cellule vide est note %red%&&%% ou %red%& &%%, comme la 3'^e^' ligne 2'^e^' colonne de notre premier exemple.

Remarques, que les espaces juste avant et juste après les %red%&%% sont purement inutiles, mais ils facilitent la lecture.

%red%&%%un mot%red%&%%

et

%red%&%% un mot %red%&%%

on le même résultat, les espaces ajoutées, n'ont aucune influence sur l'espacement entre le texte et les filets.

%blue%%blue%\hline%% trace une ligne horizontale sur toute la largeur du tableau. Il se comporte comme les %blue%|%%.

!!1'^er^' problème : la taille des tableaux [[#taille]]

La première difficulté que tu vas rencontrer, concerne la taille du tableau. En effet %red%tabular%% dimensionne la taille de la colonne à la taille de la plus grande ligne et très vite on déborde de la page, d'autant plus que %red%{%%lcr%red%}%% ne reconnait pas les sauts de ligne.


%green%\begin{tabular}%red%{%%|l|l|%red%}%%
%blue%\hline%%
Première ligne longue, très

longue, trop longue%red%&%% colonne 2%blue%\\%%
%blue%\hline%%
ligne2 %red%&%%rien%blue%\\%%
%blue%\hline%%
%green%\end{tabular}%%

%center%%width=500px%Attach:tabSimple2.png

Même la commande %blue%\par%% n'est pas reconnue et retourne une erreur de compilation.

!!La solution : p%red%{%%valeurUnité%red%}%% [[#soluce]]

Cette commande permet de fixer la largeur de la colonne. Elle reconnait toutes les unités comprises par LaTeX (voir fiche Unités \& longueurs). Le même tableau que précédemment avec une première colonne fixée à 3 cm.

%green%\begin{tabular}%red%{%%|p%red%{%%3cm%red%}%%|l|%red%}%%
%blue%\hline%%
Première ligne longue, très longue, trop longue%red%&%% colonne 2%blue%\\%%
%blue%\hline%%
ligne2 %red%&%%rien%blue%\\%%
%blue%\hline%%
%green%\end{tabular}%%

%center%%width=250px%Attach:tabSimple3.png

Cette commande ne produit que des colonnes justifiées, ce qui peut avoir comme dans l'exemple précédent des effets désastreux. Tu as plusieurs façons de remédier à cela : l'utilisation de la commande %blue%\par%% (saut de paragraphe, reconnue dans les colonnes p), ou les commandes %blue%\centering \raggedright%% et %blue%\raggedleft%%.

%green%\begin{tabular}%red%{%%|p%red%{%%3cm%red%}%%|l|%red%}%%
%blue%\hline%%
Première ligne longue,%blue%\par%% très longue, trop longue%red%&%% colonne 2%blue%\\%%
%blue%\hline%%
ligne2 %red%&%%rien%blue%\\%%
%blue%\hline%%
%green%\end{tabular}%%

%center%%width=250px%Attach:tabSimple4.png

%green%\begin{tabular}%red%{%%|p%red%{%%3cm%red%}%%|l|%red%}%%
%blue%\hline%
%blue%\centering%% Première ligne longue, très longue,trop longue%red%&%% colonne 2%blue%\\%%
%blue%\hline%%
ligne2 %red%&%%rien%blue%\\%%
%blue%\hline%%
%green%\end{tabular}%%

%center%%width=250px%Attach:tabSimple5.png

Je te laisse essayer les commandes %blue%\raggedright%% et%blue% \raggedleft%%.


!!Un raccourci *%red%{%%nb%red%}{%%type%red%}%% [[#raccourci]]

Pour éviter de taper plusieurs fois la même définition de colonne, il existe la commande %blue%*%red%{%%nombreColonnes%red%}{%%formatColonne%red%}%%.

%red%{%%|*%red%{%%5%red%}{%%p%red%{%%2cm%red%}%%|%red%}}%%

est équivalent à

%red%{%%|p%red%{%%2cm%red%}%%|p%red%{%%2cm%red%}%%|p%red%{%%2cm%red%}%%|p%red%{%%2cm%red%}%%|p%red%{%%2cm%red%}%%|%red%}%%

et

%red%{%%|*%red%{%%3%red%}{%%c|%red%}%%*%red%{%%2%red%}{%%p%red%{%%4cm%red%}%%|%red%}%%l|*%red%{%%3%red%}{%%p%red%{%%2cm%red%}%%|%red%}}%%

est équivalent à

%red%{%%|c|c|c|p%red%{%%4cm%red%}%%|p%red%{%%4cm%red%}%%|l|p%red%{%%2cm%red%}%%|p%red%{%%2cm%red%}%%|p%red%{%%2cm%red%}%%|%red%}%%

!!Remplacer les traits verticaux : @%red%{%%texte%red%}%% [[#traitverti]]
La commande @%red%{%%texte%red%}%% permet de remplacer les lignes verticales par la valeur de %blue%texte%%. Voici un exemple où la séparation entre les 2'^e^' et 3'^e^' colonne est constituée d'une flêche %red%$%blue%\rightarrow%red%$%% = → et la séparation entre les 3'^e^'et 4'^e^'est un téléphone %blue%\ding{37}%% (%blue%\ding%% est une commande du package %red%pifont%% qui permet d'afficher les symboles Dingbats, il faut charger le package : %blue%\usepackage{pifont}%%).

%green%\begin{tabular}%red%{%%|l@%red%{$%blue%\rightarrow%red%$}%%c@%red%{%blue%\ding%red%{%%37%red%}}%%l|%red%}%%
%blue%\hline%%
Robert Bidochon%red%&%%RB%red%&%%03.03.03.03.01%blue%\\\hline%%
Ginette Lacaille%red%&%%GL%red%&%%02.02.02.02.01%blue%\\\hline%%
%green%\end{tabular}%%

%center%%width=250px%Attach:tabSimple6.png

%alert%Attention comme tu peux le remarquer sur l'exemple pécédent, la commande @%red%{%%texte%red%}%% supprime les espaces avant et après le trait de séparation.%%


%green%\begin{tabular}%red%{%%|l|l|l|%red%}%%
%blue%\hline%%
Robert Bidochon%red%&%%RB%red%&%%03.03.03.03.01%blue%\\\hline%%
Ginette Lacaille%red%&%%GL%red%&%%02.02.02.02.01%blue%\\\hline%%
%green%\end{tabular}%%

%center%%width=250px%Attach:tabSimple7.png


%green%\begin{tabular}%red%{%%|l@%red%{%%|%red%}%%c@%red%{%%|%red%}%%l|%red%}%%
%blue%\hline%%
Robert Bidochon%red%&%%RB%red%&%%03.03.03.03.01%blue%\\\hline%%
Ginette Lacaille%red%&%%GL%red%&%%02.02.02.02.01%blue%\\\hline%%
%green%\end{tabular}%%

%center%%width=250px%Attach:tabSimple8.png

L'avantage c'est que tu peux utiliser cette méthode pour aligner des chiffres sur la décimale :

%green%\begin{tabular}%red%{%%r@%red%{%%,%red%}%%l}
4%red%&%%14159%blue%\\%%
+96%red%&%%2%blue%\\%%
%blue%\hline%%
100%red%&%%34159%blue%\\%%

%center%%width=150px%Attach:tabSimple9.png


!!Des traits horizontaux partiels = %blue%\cline%% [[#cline]]
%blue%\cline%red%{%%colonneDébut-colonneFin%red%}%%, trace des lignes partielles : %blue%\cline%red%{%%1-1%red%}%% trace une ligne uniquement dans la 1'^er^' colonne, %blue%\cline%red%{%%2-4%red%}%% du début de la colonne 2 à la fin de la colonne 4.

%green%\begin{tabular}%red%{%%|l|l|l|l|%red%}%%
%blue%\hline%%
case n°1%red%&%%case n°2%red%&%%case n°3%red%&%%case n°4%blue%\\%%
%blue%\cline%red%{%%1-1%red%}%%
case n°5%red%&%%case n°6%red%&%%case n°7%red%&%%case n°8%blue%\\%%
%blue%\cline%red%{%%2-4%red%}%%
case n°9%red%&%%case n°10%red%&%%case n°11%red%&%%case n°12%blue%\\%%
%blue%\cline%red%{%%1-2%red%}%%%blue%\cline%red%{%%4-4%red%}%%
case n°13%red%&%%case n°14%red%&%%case n°15%red%&%%case n°16%blue%\\%%
%blue%\hline%%
%green%\end{tabular}%%

%center%%width=400px%Attach:tabSimple10.png

!!Modifier l'espace entre les colonnes [[#espacecol]]

%blue%\tabcolsep%% correspond à la valeur de l'espace avant ou après un | (donc la moitié de l'espace inter-colonne). Tu le modifies à l'aide des commandes %blue%\setlength%% ou %blue%\addtolength%% (voir la fiche sur « LaTeX, les unités & les longueurs»). Sa valeur par défaut est de 6 pt.

%green%\begin{tabular}%red%{%%|c|c|c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline%%
%green%\end{tabular}%%

%center%%width=200px%Attach:tabSimple11.png

le même tableau avec une valeur de %blue%\tabcolsep%% de 12pt.

%red%{%blue%\setlength%red%{%blue%\tabcolsep%red%}{%%12pt%red}%%
%green%\begin{tabular}%red%{%%|c|c|c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline%%
%green%\end{tabular}
%red%}%%

%center%%width=250px%Attach:tabSimple12.png

!!Modifier l'épaisseur des traits [[#epaistrait]]
%blue%\arrayrulewidth%% correspond à l'épaisseur d'un | , d'un %blue%\hline%% ou d'un %blue%\cline%%. Tu le modifies à l'aide des commandes %blue%\setlength%% ou %blue%\addtolength%%. Sa valeur par défaut est de 0.4 pt.

%alert%Attention cette commande affecte toutes les lignes d'un tableau on verra dans une autre fiche comment ne modifier qu'une seule ligne.%%

%green%\begin{tabular}%red%{%%|c|c|c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline%%
%green%\end{tabular}%%

%center%%width=200px%Attach:tabSimple11.png

Le même tableau avec une valeur de %blue%\arrayrulewidth%% de 2pt.

%red%{%blue%\setlength%red%{%blue%\arrayrulewidth%red%}{%%2pt%red%}%%
%green%\begin{tabular}%red%{%%|c|c|c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline%%
%green%\end{tabular}%%
%red%}%%

%center%%width=250px%Attach:tabSimple13.png

!!Modifier l'espacement entre 2 traits[[#espacetrait]]

Il te faut modifier la valeur de %blue%\doublerulesep%% pour écarter 2 || ou 2 %blue%\hline%% consécutifs. Sa valeur par défaut est de 2 pt. %alert%Attention cette commande affecte toutes les lignes d'un tableau on verra dans une autre fiche comment ne modifier qu'une seule ligne.}\pat

%green%\begin{tabular}%red%{%%|c||c||c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline\hline%%
%green%\end{tabular}%%

%center%%width=200px%Attach:tabSimple14.png

Le même tableau avec une valeur de %blue%\doublerulesep%% de 10pt.

%red%{%blue%\setlength%red%{%blue%\doublerulesep%red%}{%%10pt%red%}%%
%green%\begin{tabular}%red%{%%|c||c||c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline\hline%%
%green%\end{tabular}%%
%red%}%%

%center%%width=200px%Attach:tabSimple15.png

!!Modifier l'espacement entre 2 lignes[[#espaceligne]]

Il te faut modifier la valeur de %blue%\arraystretch%% pour augmenter l'espacement entre 2 lignes. La valeur de %blue%\arraystretch%% est un coefficient multiplicateur : 0.5 diminue l'espace de moitié, 2.0 le double. Sa valeur par défaut est de 1.0.

%alert%Attention cette commande se modifie à l'aide de %blue%\renewcommand%%.%%

%green%\begin{tabular}%red%{%%|c|c|c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline%%
%green%\end{tabular}%%

%center%%width=200px%Attach:tabSimple11.png

Le même tableau avec une valeur de %blue%\arraystretch%% de 2.0.

%red%{%blue%\renewcommand%red%{%blue%\arraystretch%red%}{%%2%red%}%%
%green%\begin{tabular}%red%{%%|c|c|c|%red%}%%
%blue%\hline%%
case 1%red%&%%case 2%red%&%%case 3%blue%\\ \hline%%
case 4%red%&%%case 5%red%&%%case 6%blue%\\ \hline%%
%green%\end{tabular}%%
%red%}%%

%center%%width=250px%Attach:tabSimple16.png


!!Fusion de colonnes[[#fusion]]


La fusion de colonnes se fait avec la commande %blue%\multicolumn%red%{%%nombCol%red%}{%%alignement%red%}{%%contenu%red%}%% où alignement vaut %blue%l%%,%blue%c%%,%blue%r%%. Tu n'es pas obligé de respecter le choix que tu as fait à l'initialisation des colonnes ; regarde le comportement des cellules n°1 et n°10.

%green%\begin{tabular}%red%{%%|l|l|l|l|%red%}%%
%blue%\hline%%
%blue%\multicolumn%red%{%%2%red%}{%%|r|%red%}{%%Cellules fusionnées%red%}&%%case n°3%red%&%%case n°4%blue%\\%%
%blue%\hline%%
case n°5%red%&%blue%\multicolumn%red%{%%2%red%}{%%l|%red%}{%%Cellules fusionnées%red%}&%%case n°8%blue%\\%%
%blue%\hline%%
case n°9%red%&%blue%\multicolumn%red%{%%3%red%}{%%|c|%red%}{%%Cellules fusionnées%red%}%blue%\\%%
%blue%\hline%%
case n°13%red%&%%case n°14%red%&%%case n°15%red%&%%case n°16%blue%\\%%
%blue%\hline%%
%green%\end{tabular}%%

%center%%width=300px%Attach:tabSimple17.png

%alert%Attention aux | dans multicolumn qui peuvent tracer 2 traits comme dans la case n°10, il vaut mieux procéder comme pour la case n°6.%%

!!Conclusion

Voilà on vient de voir toutes les commandes associées à l'environnement %blue%tabular%%. Il permet de réaliser pas mal de tableaux. Mais bien sûr c'est pas suffisant, et de nombreux packages existent pour réaliser des tableaux plus complexes. Dans d'autres fiches nous aborderons les packages %blue%multirow%% pour fusionner les lignes, %blue%supertabular%% ou %blue%longtable%% pour faire des tableaux qui s'étendent sur plusieurs pages, %blue%colortbl%% pour colorier les cellules. . .


----

%lfloat% [++←++] [[Tableaux|Tableaux]]%%
%rfloat% [[TableauxArray|Deuxième partie : améliorer ses tableaux avec le package array]] [++→++]%%