Ceci est une ancienne révision du document !
Comment gérer les tableaux de plus d'une page?
Le package supertabular permet de définir de longs
tableaux, qui seront coupés automatiquement par
si
nécessaire, pour changer de page. L'environnement s'appelle
supertabular
. À l'intérieur de cet environnement, on
définit le contenu du tableau de la même façon que dans
l'environnement tabular
. On peut, en plus, utiliser les commandes
suivantes :
\begin{descrcmd}
\item[tablefirsthead\marg{…}] qui définit le contenu de la
première ligne du tableau ;
\item[tablehead\marg{…}] définit le contenu de la première
ligne qui sera insérée en cas de changement de page au milieu du tableau ;
\item[tabletail\marg{…}] définit le contenu de la dernière
ligne d'une page, en cas de changement de page au milieu du tableau ;
\item[tablelasttail\marg{…}] définit le contenu de la
dernière ligne du tableau ;
\item[topcaption\marg{…}] et bottomcaption
\marg{…}
permettent de mettre une légende sur ce tableau, soit au début, soit à la fin (ces deux commandes sont incompatibles, si l'on utilise les deux, seule la légende de fin sera appliquée). ''tablecaption'' place la légende à sa position « habituelle », qui est par défaut le haut du tableau.
\end{descrcmd}
Voici un exemple :
\begin{center} \tablefirsthead{\hline \multicolumn{1}{|c}{Nombre} & \multicolumn{1}{c}{Nombre$^2$} & Nombre$^4$ & \multicolumn{1}{c|}{!Nombre} \\ \hline} \tablehead{\hline \multicolumn{4}{|l|}% {\small\textsl{suite du tableau}}\\ \hline \multicolumn{1}{|c}{ Nombre} & \multicolumn{1}{c}{Nombre$^2$} & Nombre$^4$ & \multicolumn{1}{c|}{Nombre!} \\ \hline} \tabletail{\hline \multicolumn{4}{|r|}% {\small\textsl{% Suite à la page suivante...}}\\ \hline} \tablelasttail{\hline} \topcaption{Exemlp} \bottomcaption{Exemple de grand tableau} % \par \begin{supertabular}{| r@{\hspace{6.5mm}}| r@{\hspace{5.5mm}}| r | r|} 1 & 1 & 1 & 1 \\ 2 & 4 & 16 & 2 \\ 3 & 9 & 81 & 6 \\ 4 & 16 & 256 & 24 \\ 5 & 25 & 625 & 120 \\ 6 & 36 & 1296 & 720 \\ 7 & 49 & 2401 & 5040 \\ 8 & 64 & 4096 & 40320 \\ 9 & 81 & 6561 & 362880 \\ ... & ... & ... & ... \\ \end{supertabular} \end{center}
Le package longtable est assez semblable au
précédent, mais en un peu mieux. Il permet notamment d'avoir
(modulo un nombre suffisant de compilations) la même largeur de
colonnes dans tout le tableau, même si celui-ci est coupé sur
plusieurs pages. Les en-têtes se définissent de manière un peu
différente, comme dans l'exemple suivant :
\begin{longtable}{|p{0.2\linewidth}| p{0.2\linewidth}|p{0.2\linewidth}|} \hline Première colonne & Deuxième & Troisième \endfirsthead \hline Première & Deuxième & Troisième \\ \multicolumn{3}{|p{0.6666\linewidth}|} {Suite...}\\ \endhead \hline \multicolumn{3}{|p{0.6666\linewidth}|} {Suite page suivante} \\ \hline \endfoot \hline \multicolumn{3}{|p{0.6666\linewidth}|} {Fin}\\ \hline \endlastfoot \hline 1 & 1 & 1 \\ 2 & 4 & 16 \\ 3 & 9 & 81 \\ 1 & 1 & 1 \\ 2 & 4 & 16 \\ 3 & 9 & 81 \\ 1 & 1 & 1 \\ 2 & 4 & 16 \\ 3 & 9 & 81 \\ 1 & 1 & 1 \\ 2 & 4 & 16 \\ 3 & 9 & 81 \\ ... & ... & ... \\ \end{longtable}