Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
composition:tableaux:construire_un_tableau [2002/09/07 11:36] – créée markey3_composition:tableaux:construire_un_tableau [2022/10/10 14:53] (Version actuelle) – Correction précédente modification dbitouze
Ligne 1: Ligne 1:
-\question{Comment faire un tableau ?} %7.1+====== Comment faire un tableau? ======
  
-\reponse L'environnement permettant de faire un tableau en mode texte 
-s'appelle \env{tabular}. Il prend un argument optionnel et un argument 
-obligatoire.  
  
-L'argument optionnel d\'efinit la position vertical du tableau +$\Reponse$  L'environnement permettant de faire un tableau en mode texte 
-par rapport \`a la ligne courante : \texttt t pour \texttt{top} (le haut du +s'appelle ''tabular''Il prend un argument optionnel et un argument obligatoire:
-tableau sera align\'e avec la ligne courante), \texttt c pour \texttt{center}, +
-et \texttt b pour \texttt{bottom} (le bas du +
-tableau sera align\'e avec la ligne courante).+
  
-L'argument obligatoire d\'ecrit le format des colonnes du tableau. Une colonne +<code latex> 
-est repr\'esent\'ee par une lettre parmi \texttt l (pour que le texte soit +\begin{tabular}[⟨position⟩]{⟨format⟩} 
-align\'e \`a gauche dans la colonne), \texttt c (pour que le texte soit +  contenu du tableau 
-centr\'e dans la colonne) et \texttt r pour que le texte soit align\'e \`a +\end{tabular} 
-droite. Il existe d'autres possibilit\'es, que nous verrons plus bas. Chaque +</code>
-colonne peut \^etre s\'epar\'ee de sa voisine par une ou plusiurs lignes +
-verticales, que l'on indique \`a l'aide du caract\`ere \texttt{\string|}+
  
-\`A l'int\'erieur de l'environnement \env{tabular}, on remplit chaque case du +L'argument obligatoire ⟨//format//⟩ décrit le format des colonnes du tableau. 
-tableauligne par ligne, de gauche \`a droite et de haut en basDeux cases +Cela suppose que vous connaissiez à l'avance le nombre de colonnes 
-cons\'ecutives doivent \^etre  +que vous aller produiresinon <latex>\TeX</latex> affichera un message d'erreur
-s\'epar\'ees par le caract\`ere \texttt\&deux lignes cons\'ecutives par \cmd{\char92\relax}. +Une colonne est représentée par une lettre parmi: 
-Deux lignes peuvent \^etre s\'epar\'ees par un trait horizontal en pla\cant +  ''l'' (pour que le texte soit aligné à gauche dans la colonne)
-la commande \cmd{hline} apr\`es le \cmd{\char92\relax}+  ''c'' (pour que le texte soit centré dans la colonne) et 
 +  * ''r'' (pour que le texte soit aligné à droite).
  
-La figure~\ref{extabdonne un exemple de tableau simple+Les trois types de colonne (''l'', ''c'' et ''r''
-\DeleteShortVerb{\|} +ne passent jamais à la ligne et sont, par conséquent, adaptées aux 
-\begin{exemple}{Exemple de tableau\label{extab}} +cellules dont le contenu est court.  Lorsque les cellules sont bien 
-\begin{center} +remplies, il faut opter pour ''p{//larg//}'' (''p'' comme //**p**aragraphe//
-\begin{tabular}{|l|r|c||r|}+qui compose le contenu de la cellule dans un paragraphe justifié de largeur ''//larg//''
 + 
 +Une répétition ''//n//'' fois d'un motif élémentaire est facilitée par 
 +''*{//n//}{//motif//}'' ''*{20}{lcc}'' est équivalent à ''lcclcclcc...lcc'' (en tout 
 +60 colonnes), plus concrètement l'exemple suivant montre un tableau 
 +utilisant ce genre de descriptions. 
 + 
 +Exemple de tableau (remarquez que le second ''|'' fait partie de l'argument de ''*''). 
 + 
 +<WRAP column 50ex> 
 +<code latex> 
 +\begin{tabular}{|*{5}{p{1cm}|}}
 \hline \hline
-Article Prix unitaire Quantit\'Prix total \\ +3 & 4 \\
 \hline \hline
-Arrosoir &  $19,90$~\EUR & 2 & $39,80$~\EUR \\ +& 2 & \\ 
-Brouette  $129,00$~\EUR 1 & $129,00$~\EUR \\ +\hline 
-Rateau $9,90$~\EUR $9,90$~\EUR \\+5 & 6 \\
 \hline \hline
-Total & & & $178,70$~\EUR \\ 
-\hline  
 \end{tabular} \end{tabular}
-\end{center} +</code> 
-\end{exemple} +</WRAP
-\MakeShortVerb{\|} +<WRAP column 30ex> 
- +<latex>
-\medskip +
-Il existe quelques autres descripteurs de colonnes ; en particulier, le +
-descripteur \texttt{p\marg{<longueur>}}, qui sp\'ecifie une colonne de +
-longueur donn\'ee, et dont le texte est align\'e \`a gauche. On peut aussi +
-utiliser la construction \texttt{*\marg{<nombre>}{<description>}}, qui permet +
-de d\'efinir de mani\`ere succinte en ensemble de colonnes similaires. Le +
-tableau~\ref{extab2} donne un exemple utlisant ce genre de descriptions. +
-Enfin, il est possible de s\'eparer deux colonnes par autre chose qu'un trait +
-vertical, en rempla\c cant le \text{\string|} par \texttt{@\marg{...}}. Dans +
-ce cas, l'espacement entre les colonnes est supprim\'e, et l'argument de +
-\texttt{\string@} est mis \`a la place. +
- +
-\DeleteShortVerb{\|} +
-\begin{exemple}{Exemple de tableau\label{extab2}} +
-\begin{center}+
 \begin{tabular}{|*{5}{p{1cm}|}} \begin{tabular}{|*{5}{p{1cm}|}}
 \hline \hline
Ligne 69: Ligne 56:
 \hline \hline
 \end{tabular} \end{tabular}
 +</latex>
 +</WRAP>
 +<WRAP clear />
 +
 +
 +L'argument optionnel ⟨//position//⟩ définit la position verticale du
 +tableau par rapport à la ligne courante: ''t'' pour //**t**op//
 +(le haut du tableau sera aligné avec la ligne courante),
 +''c'' pour //**c**enter// et ''b'' pour //**b**ottom// (le bas du tableau
 +sera aligné avec la ligne courante).
 +L'effet de ces options est illustré ici:
 +
 +<code latex>
 +b \begin{tabular}[b]{l} A \\ B \end{tabular}\quad
 +c \begin{tabular}[c]{l} A \\ B \end{tabular}\quad
 +t \begin{tabular}[t]{l} A \\ B \end{tabular}
 +</code>
 +
 +<latex>
 +b \begin{tabular}[b]{l} A \\ B \end{tabular}\quad
 +c \begin{tabular}[c]{l} A \\ B \end{tabular}\quad
 +t \begin{tabular}[t]{l} A \\ B \end{tabular}
 +</latex>
 +
 +
 +Il existe d'autres possibilités, que nous verrons plus bas.
 +Chaque colonne peut être séparée de sa voisine par un ou plusieurs filets verticaux,
 +que l'on indique à l'aide du caractère ''|'' (la barre verticale).
 +
 +
 +À l'intérieur de l'environnement ''tabular'', on remplit ligne par ligne,
 +chaque ligne se terminant par ''\\'' (ou ''\tabularnewline''):
 +
 +<WRAP column 55ex>
 +<code latex>
 +\begin{tabular}{c}
 +  ligne $1$ \\
 +  ligne $2$ \\
 +  $\vdots$  \\
 +  ligne $n$ \\
 +\end{tabular}
 +</code>
 +</WRAP>
 +<WRAP column 30ex>
 +<latex>
 +\begin{tabular}{c}
 +  ligne $1$ \\
 +  ligne $2$ \\
 +  $\vdots$  \\
 +  ligne $n$ \\
 +\end{tabular}
 +</latex>
 +</WRAP>
 +<WRAP clear />
 +
 +
 +et à l'intérieur de chaque ligne, on remplit cellule par cellule de
 +gauche à droite, chaque cellule étant séparée de la suivante par ''&'':
 +
 +<code latex>
 +\begin{tabular}{cccc}
 +  cellule $1$  &  cellule $2$  &  \dots  &  cellule $m$  \\
 +\end{tabular}
 +</code>
 +<latex>
 +\begin{tabular}{cccc}
 +  cellule $1$  &  cellule $2$  &  \dots  &  cellule $m$  \\
 +\end{tabular}
 +</latex>
 +
 +
 +L'exemple suivant présente un tableau simple:
 +
 +<WRAP column 55ex>
 +<code latex>
 +\begin{tabular}{|l|r|c||r|}
 +\hline
 +Article  & Prix unitaire & Quantité & Prix total \\
 +\hline
 +Arrosoir &  $19,90$~\EUR & 2 &  $39,80$~\EUR \\
 +Brouette & $129,00$~\EUR & 1 & $129,00$~\EUR \\
 +Râteau   &   $9,90$~\EUR & 1 &   $9,90$~\EUR \\
 +\hline
 +Total & & & $178,70$~\EUR \\
 +\hline
 +\end{tabular}
 +</code>
 +</WRAP>
 +<WRAP column 30ex>
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage{eurosym}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\begin{tabular}{|l|r|c||r|}
 +\hline
 +Article  & Prix unitaire & Quantité & Prix total \\
 +\hline
 +Arrosoir &  $19,90$~\EUR & 2 &  $39,80$~\EUR \\
 +Brouette & $129,00$~\EUR & 1 & $129,00$~\EUR \\
 +Râteau   &   $9,90$~\EUR & 1 &   $9,90$~\EUR \\
 +\hline
 +Total & & & $178,70$~\EUR \\
 +\hline
 +\end{tabular}
 +\end{document}
 +</latexdoc>
 +</WRAP>
 +<WRAP clear />
 +
 +Pour placer des filets verticaux (traits délimitant les colonnes), il
 +faudra insérer ''|'' dans l'argument ''//format//'' de l'environnement ''tabular''.
 +Placer des filet horizontaux se fait en plaçant la commande ''\hline'' (//horizontal line//)
 +après le ''\\''.
 +
 +Par défaut, toutes les colonnes, quel que soit leur type, sont
 +entourées par un blanc contrôlé par le paramètre ''\tabcolsep''.
 +Deux colonnes successives sont donc séparées par un espace de largeur ''2 × \tabcolsep''.
 +Dans un tableau à trois colonnes, on aurait:
 +
 +<latex>
 +\begin{center}
 +  \setlength{\tabcolsep}{12pt}
 +  \def \tempa #1{%
 +    \makebox[0pt][#1]{%
 +      \setlength{\unitlength}{\tabcolsep}%
 +      \raisebox{.4ex}{%
 +        \begin{picture}(1,0)
 +          \put(0.5,0){\vector(-1,0){0.5}}
 +          \put(0.5,0){\vector( 1,0){0.5}}
 +          \put(0.5,.3){\makebox[0pt]%
 +            {\fboxsep=1pt \fcolorbox{white}{white}%
 +              {$\scriptstyle \vphantom{p} x$}}}
 +        \end{picture}%
 +      }%
 +    }%
 +  }
 +  \def \tempb {%
 +    \makebox[0pt][r]{%
 +      \setlength{\unitlength}{2\tabcolsep}%
 +      \raisebox{.4ex}{%
 +        \begin{picture}(1,0)
 +          \put(0.5,0){\vector(-1,0){0.5}}
 +          \put(0.5,0){\vector(1,0){0.5}}
 +          \put(0.5,0.15){\makebox[0pt]%
 +            {\fboxsep=1pt \fcolorbox{white}{white}%
 +              {$\scriptstyle \vphantom{p} 2x$}}}
 +        \end{picture}%
 +      }%
 +    }%
 +  }
 +  \begin{tabular}{|c|c|c|}
 +    \hline
 +    \tempa{r}Cellule 1          &
 +    \tempb   Cellule 2          &
 +    \tempb   Cellule 3\tempa{l} \\
 +    \hline
 +  \end{tabular}
 \end{center} \end{center}
-\end{exemple} +</latex> 
-\MakeShortVerb{\|}+ 
 +où $x = \verb+tabcolsep+$. 
 + 
 +Enfin, il est possible de séparer deux colonnes par autre chose qu'un 
 +filet vertical, en remplaçant le ''|'' par ''@{//code//}''
 +Dans ce cas, l'espacement entre les colonnes est supprimé, 
 +et l'argument ''//code//'' de ''@'' remplace la barre verticale « classique ». 
 + 
 + 
 +$\Reponse$  Pour faire un tableau en mode mathématique, on utilisera l'environnement ''array'', 
 +dont l'utilisation est similaire. Voir la question 
 +« [[4_domaines_specialises:mathematiques:composer_un_tableau_en_mode_mathematique|Comment composer un tableau en mode mathématique?]] » 
 +pour un exemple
 + 
 + 
 +$\Reponse$  L'environnement ''tabbing'' permet également de créer des 
 +tableaux, avec une optique assez différente. Voir la section 
 +« [[3_composition:tableaux:tabulations:composer_un_tableau_avec_des_tabulations|tabulations]] » 
 +pour des informations complémentaires. 
 +===== Où placer son tableau? ===== 
 + 
 + 
 +$\Reponse$  Placé tel quel dans un paragraphe, votre tableau va 
 +s'intégrer au texte avec les règles d'alignement évoquées ci-dessus. 
 + 
 + 
 +$\Reponse$  Le flottant ''table'' défini par la plupart des classes 
 +classiques (les classes standard, et leurs clones [[ctanpkg>memoir]] et 
 +les classes [[ctanpkg>KOMA-script]]).  Le tableau peut alors flotter (c'est-à-dire 
 +trouver la place la plus confortable) et être affublé d'une légende 
 +(commande ''\caption'') accompagnée d'un numéro que l'on peut 
 +référencer par le mécanisme habituel (''\label'', ''\ref''). 
 + 
 + 
 +<code latex> 
 +\dots{}voir le tableau~\ref{tab=Un_tableau_simple}. 
 +% 
 +\begin{table} 
 +  \begin{tabular}{ll} 
 +    A & B \\ 
 +    C & D \\ 
 +  \end{tabular} 
 +  \caption{Un tableau simple} 
 +  \label{tab=Un_tableau_simple} 
 +\end{table} 
 +</code> 
 + 
 + 
 + 
 +$\Reponse$  Si l'on désire que le tableau ne flotte pas, on pourra utiliser 
 +les environnements ''center'', ''flushleft'', qui placeront le tableau 
 +dans un paragraphe à part avec un peu d'espace pour le séparer du texte. 
 + 
 +<code latex> 
 +\dots{}le tableau suivant: 
 + 
 +\begin{center} 
 +  \begin{tabular}{ll} 
 +    A & B \\ 
 +    C & D \\ 
 +  \end{tabular} 
 +\end{center} 
 +</code> 
  
 +On perd cependant toute possibilité d'attacher une légende et de
 +référencer le tableau.  Lisez les réponses à la question
 +« [[3_composition:flottants:positionnement|Comment est géré le positionnement des flottants?]] ».
  
-\reponse Pour faire un tableau en mode math\'ematiques, on utilisera 
-l'environnement \env{array}, donc l'utilisation est similaire. Voir la 
-question~\ref{tableau-maths} pour un exemple. 
  
-\reponse L'environnement \env{tabbing} permet \'egalement de cr\'eer des +{{htmlmetatags>metatag-keywords=(LaTeX,initiation aux tableaux,composer un tableau,environnement “tabular”,faire un tableau,construire un tableau) 
-tableaux, avec une optique assez diff\'erente. Voir la section~\ref{tabbing} +metatag-og:title=(Comment faire un tableau?) 
-pour des informations compl\'ementaires.+metatag-og:site_name=(FAQ LaTeX francophone) 
 +}}
  
3_composition/tableaux/construire_un_tableau.1031398579.txt.gz · Dernière modification : 2002/09/07 11:36 de markey
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0