Академический Документы
Профессиональный Документы
Культура Документы
Tableaux
On insre un tableau avec lenvironnement tabular qui prend un para- Version PDF gratuite http://www.latex-howto.be/
mtre qui dcrit les colonnes du tableau. Une nouvelle colonne est dfinie
laide dune lettre qui dcrit lalignement horizontal du texte dans cette
colonne. Les valeurs possibles sont :
65
66 CHAPITRE 5. TABLEAUX
Code
\ begin { tabular }{ lc }
Article & Prix \\
Livres & 12 \\
DVD & 17
\ end { tabular }
5.1.1 Filets
Article Prix
Livres 12
On voit sur lexemple quil y a la fois des filets simples et des filets
doubles. Ce nest pas bien dicile obtenir, il sut de placer deux filets.
Code
\ begin { tabular }{|| l | c ||}
\ hline
\ bf Article & \ bf Prix \\
\ hline \ hline
Livres & 12 \\
DVD & 17 \\
\ hline
\ end { tabular }
Code
\ begin { tabular }{ llll }
A & B & C & D \\
\ cline {1 -2}\ cline {4 -4}
\ end { tabular }
5.1.2 Lgende
Pour ajouter une lgende un tableau, il faut le placer dans un environ-
nement table et utiliser la commande \caption. Attention au fait que
lenvironnement table dfinit un nouvel objet flottant et que vous navez
donc plus le contrle absolu sur le placement de votre tableau. Voici un
exemple :
Article Prix
Livres 12
Code
\ begin { table }[! h ]
\ centering
\ begin { tabular }{|| l | c ||}
\ hline
\ bf Article & \ bf Prix \\
\ hline \ hline
Livres & 12 \\
DVD & 17 \\
\ hline
\ end { tabular }
\ caption { Liste des prix .}
\ end { table }
68 CHAPITRE 5. TABLEAUX
Code
\ begin { tabular }{| l | p {2.1 cm }| c |}
\ hline
\ bf Article & \ bf Description & \ bf Prix \\
\ hline
Livres & Livres A5 avec couverture souple & 12 \\
DVD & DVD vierge vendus par pack de cinq & 17 \\
Entre deux colonnes, jusqu prsent, on avait soit rien du tout, soit un
filet vertical (avec |). On peut dfinir son propre sparateur de colonne
avec @{text}. Voyons par exemple comment avoir le tableau suivant dont
chaque ligne contient deux nombres spars par un /.
12/736
9231/1
9/49
De plus, on voit que le texte de la premire colonne est align droite et
celui de la seconde colonne gauche. Pour avoir le slash entre les deux
colonnes, il sut dutiliser le sparateur @{/}.
5.2. CELLULES SPCIALES 69
Code
\ begin { tabular }{ r@ {/} l }
12 & 736 \\
9231 & 1 \\
9 & 49 \\
\ end { tabular }
ou
\begin{tabular}{|*{10}{c|}}
Code
\ begin { tabular }{| l | c | c | c |}
\ hline
\ bf Produit & \ m u l t i c o l u m n {3}{ c |}{\ bf Anne } \\
\ hline
& 2008 & 2009 & 2010 \\
\ hline
\ end { tabular }
Code multirow
Bla Bla
Remarquez quon a d ajouter une espace fine avec \, pour viter que le
texte ne colle la bordure suprieure du tableau.
Code graphicx
Code array
la mme chose que @{desc}, mais sans supprimer les blancs. Voyons cela
sur un exemple :
A/A / A
On voit bien que les deux premiers A sont colls au /, tandis quentre les
deux derniers, il y a de lespace.
Code array
Code array
On peut par exemple utiliser ces descripteurs pour avoir une colonne
dont toutes les cellules sont passes en mode mathmatique. Pour cela, il
sut de dclarer la colonne comme suit :
>{$}l<{$}
74 CHAPITRE 5. TABLEAUX
Code array
\ n e w c o l u m n t y p e { D }{ >{\ bf }l <{}}
\ n e w c o l u m n t y p e { P }{ >{} l <{~\ euro }}
Notez quon peut galement dfinir des descripteurs qui prennent des
paramtres. On spcifie le nombre de paramtres en option et on utilise
le ie paramtre avec #i (voir chapitre 12 pour plus de dtails).
\newcolumntype{M}[1]{>{}l<{~#1}}
Code dcolumn
5.4 Apparence
Dans cette section, on va voir direntes choses quil est possible de faire
pour personnaliser lapparence des tableaux. On verra dabord comment
A B C
left right center
Code
\ begin { tabular }{|*{3}{ p {2 cm }|}}
\ hline
A & B & C \\
\ hline
\ r a g g e d r i g h t left & \ r a g g e d l e f t right &
\ c e n t e r i n g center \ t a b u l a r n e w l i n e
\ hline
\ end { tabular }
Code
\ s e t l e n g t h {\ d o u b l e r u l e s e p }{\ a r r a y r u l e w i d t h }
Version PDF gratuite http://www.latex-howto.be/
\ begin { tabular }{| l || l |}
\ hline
& Anne \\
\ hline \ hline
Produit & \\
\ hline
\ end { tabular }
En ce qui concerne les filets verticaux, il sut dutiliser une barre verticale
paisse en tant que sparateur de colonne. On pourra ainsi avoir :
Anne
Produit
Remarquez quon a utilis \, pour insrer une espace fine inscable. Sans
cela, le texte aurait t compltement coll au filet vertical. Pour ce
dernier, on a utilis la commande TEX \vrule en spcifiant une certaine
largeur.
5.4. APPARENCE 77
Code
\ begin { tabular }{| l@ {\ ,\ vrule width 1 mm \ ,} l |}
\ hline
& Anne \\
\ hline
Produit & \\
\ hline
\ end { tabular }
Code makecell
On verra galement plus loin dans le chapitre une autre technique pour
changer lpaisseur des filets horizontaux.
Article Prix
Livres 12
DVD 17
78 CHAPITRE 5. TABLEAUX
Vous voyez quon va bien entendu pouvoir combiner les filets normaux
avec ceux en pointills.
Code arydshln
Les longueurs des traits pleins et des zones vides sont contrles par les
deux commandes de longueur \dashlinedash et \dashlinegap. On peut
galement personnaliser ces valeurs pour chaque trait en utilisant loption
des commandes \hdashline et \cdashline et en utilisant ;{length/length}
pour les filets verticaux.
Article Prix
Livres 12
DVD 17
La premire longueur correspond au trait plein et la seconde la longueur Version PDF gratuite http://www.latex-howto.be/
de la zone vide.
Code arydshln
Il est possible de paramtrer encore plus ces filets. Pour plus dinforma-
tions, je vous recommande la documentation du package arydshln.
Comme dit dans la section prcdente, on peut localement dsactiver et
activer la gestion des filets pointills grce aux commandes \ADLinactivate
et \ADLactivate. On utilise cela notamment pour rsoudre les conflits
quil pourrait y avoir avec dautres packages.
5.4. APPARENCE 79
Code colortbl
Code colortbl
Article Prix
Livres 12
DVD 17
Code colortbl
Article Prix
Livres 12
DVD 17
Chaussettes 3
Vodka 15
Code xcolor
5.4.5 Espacement
Article Prix
Livres 12
DVD 17
La valeur de la commande est un nombre qui reprsente le facteur
dagrandissement de lespacement. Dans notre exemple, on a mis 1.5,
cest--dire que lespacement vaut 150% de lespacement normal.
Code
\ r e n e w c o m m a n d {\ a r r a y s t r e t c h }{1.5}
Article Prix
Livres 12
DVD 17
Dans cet exemple, on a ajout une ligne verticale de largeur nulle dans la
premire cellule. La ligne fait 1 cm de haut, et est descendue de 0,4 mm.
Code
\ begin { tabular }{| l | c |}
\ hline
\ bf \ rule [ -0.4 cm ]{0 mm }{1 cm } Article & \ bf Prix \\
\ hline
Livres & 12 \\
DVD & 17 \\
\ hline
\ end { tabular }
On peut vouloir fixer la largeur totale dun tableau. Pour cela, on peut
utiliser lenvironnement tabular* qui prend en paramtre la largeur totale
du tableau.
A B
Il reste un problme avec lenvironnement tabular*. Mme si on contrle
la largeur du tableau, on na pas de contrle sur les largeurs des colonnes.
Afin davoir un tableau esthtique, il faut ajouter un sparateur de colonne
lastique avec !{\extracolsep{\fill}}.
5.5. DIMENSIONS ET POSITIONNEMENT 83
Code
\ begin { tabular *}{4 cm }{|!{\ e x t r a c o l s e p {\ fill }} l | l |}
\ hline
A & B \\
\ hline
\ end { tabular *}
Code tabularx
Article Prix
Livres 12
DVD 17
Chaussettes 3
Vodka 15
Portable 93
84 CHAPITRE 5. TABLEAUX
Article Prix
Chocolat 4
GSM 31
Piles 15
Code longtable
\ begin { l o n g t a b l e }[ c ]{| l | c |}
\ caption { Liste des prix .} \\
\ hline
Code
texte \ begin { tabular }[ t ]{| l |}
\ hline A \\ B \\\ hline
\ end { tabular }
texte \ begin { tabular }[ c ]{| l |}
\ hline A \\ B \\\ hline
\ end { tabular }
texte \ begin { tabular }[ b ]{| l |}
\ hline A \\ B \\\ hline
\ end { tabular }
texte
Code array
ge
25
27
1984
1982
Y
Lenvironnement prend un angle en degrs en paramtre. Notez quon
peut avoir le mme rsultat avec la commande \rotatebox du package
graphicx.
Code rotating
Code rotating
\ begin { s i d e w a y s t a b l e }
\ centering
\ begin { tabular }{| c | c |}
\ hline
\ bf Y & \ bf ge \\
\ hline
1984 & 25 \\
1982 & 27 \\
\ hline
\ end { tabular }
\ caption { ges en fonction de l anne de naissance .}
\ end { s i d e w a y s t a b l e }
5.6. MISE EN PAGE AVANCE 87
Dans cette dernire section sur les tableaux, on va voir quelques mises
en page avances comme les sous-tableaux, la gestion fine des filets
horizontaux ainsi que des tableaux plus complexes.
5.6.1 Sous-tableaux
On peut insrer des sous-tableaux, tout comme on avait des sous-figures
la section 4.2.6. Il sut dutiliser la commande \subtable du package
subfigure.
120 80 60 90 110 90 65 86
Code subfigure
Article Prix
Livres 12
DVD 17
On utilise donc \toprule et \midrule pour le premier et dernier filet
horizontal. Pour tous les autres filets, on utilise \midrule ou \cmidrule
pour avoir un filet partiel.
Code booktabs
\ begin { tabular }{ lc }
\ toprule
\ bf Article & \ bf Prix \\
\ midrule
Livres & 12 \\
DVD & 17 \\
\ bottomrule
\ end { tabular }
Bilan
Anne
Recettes Dpenses
Code multirow
\ r e n e w c o m m a n d {\ a r r a y s t r e t c h }{1.5}
\ begin { tabular }{| l | l | c |*{2}{ r <{\; k \ euro }}|}
% %% Ligne 1
\ cline {3 -5}
\ m u l t i c o l u m n {1}{ l }{} & & \ m u l t i r o w {2}{1 cm }{ Anne }
& \ m u l t i c o l u m n {2}{ c |}{ Bilan } \\
% %% Ligne 2
\ cline {4 -5}
\ m u l t i c o l u m n {1}{ l }{} & & & \ m u l t i c o l u m n {1}{ c }{ Recettes }
& \ m u l t i c o l u m n {1}{ c |}{ Dpenses } \\
% %% Lignes 3 et 4
\ hline
\ multirow {6}{3 mm }{\ r o t a t e b o x {90}{ Dpartement \;}}
& \ multirow {2}{2.5 cm }{ Informatique } & 2009 & 42 & 36 \\
& & 2010 & 42 & 34 \\
% %% Lignes 5 et 6
\ cline {2 -3}
& \ multirow {2}{2.5 cm }{ lectricit } & 2009 & 130 & 125 \\
& & 2010 & 120 & 122 \\
% %% Lignes 7 et 8
\ cline {2 -3}
& \ multirow {2}{2.5 cm }{ Mathmatique } & 2009 & 37 & 29 \\
& & 2010 & 36 & 27 \\
\ hline
\ end { tabular }
A B Total
12 15 27
21 17 38
TotA 33 TotB 32 65
MoyA 16.5 MoyB 16
Code spreadtab
Code datatool