Comment gérer les tableaux de plus d'une page ?

* Le package 'supertabular' permet de gérer automatiquement (ou presque) les coupures de tableaux. Il est disponible sur ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/supertabular/. Il calcule la longueur du tableau à chaque \\ et vérifie si la fin de page est atteinte. Si oui, il coupe le tableau. Les commandes à utiliser sont : + \tablefirsthead{...} pour définir le contenu de la première occurrence de la tête du tableau. Cette commande est optionnelle. + \tablehead{...} pour définir le contenu de la tête des tableaux suivants. + \tabletail{...} définit le contenu de la ligne qui doit être ajoutée avant une coupure + \tablelasttail{...} définit le contenu de la dernière ligne du tableau. Cette commande est optionnelle. + \topcaption{...}, \bottomcaption{...} et \tablecaption{...} permettent de nommer un tableau soit au début ou à la fin du tableau. \tablecaption{...} est l'option par défaut. 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\sl continued from previous page}\\ \hline \multicolumn{1}{|c}{ Nombre} & \multicolumn{1}{c}{Nombre$^2$} & Nombre$^4$ & \multicolumn{1}{c|}{Nombre!} \\ \hline} \tabletail{\hline\multicolumn{4}{|r|}{\small\sl Suite page suivante~\ldots}\\\hline} \tablelasttail{\hline} \bottomcaption{Fin.} \par \begin{supertabular}{| r at {\hspace{6.5mm}}| r at {\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 \\ 10 & 100 & 10000 & 3628800 \\ 11 & 121 & 14641 & 39916800 \\ 12 & 144 & 20736 & 479001600 \\ 13 & 169 & 28561 & 6.22702080E+9 \\ 14 & 196 & 38416 & 8.71782912E+10\\ 15 & 225 & 50625 & 1.30767437E+12\\ 16 & 256 & 65536 & 2.09227899E+13\\ 17 & 289 & 83521 & 3.55687428E+14\\ 18 & 324 & 104976 & 6.40237370E+15\\ 19 & 361 & 130321 & 1.21645100E+17\\ 20 & 400 & 160000 & 2.43290200E+18\\ \hline 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 \\ 10 & 100 & 10000 & 3628800 \\ 11 & 121 & 14641 & 39916800 \\ 12 & 144 & 20736 & 479001600 \\ 13 & 169 & 28561 & 6.22702080E+9 \\ 14 & 196 & 38416 & 8.71782912E+10\\ 15 & 225 & 50625 & 1.30767437E+12\\ 16 & 256 & 65536 & 2.09227899E+13\\ 17 & 289 & 83521 & 3.55687428E+14\\ 18 & 324 & 104976 & 6.40237370E+15\\ 19 & 361 & 130321 & 1.21645100E+17\\ 20 & 400 & 160000 & 2.43290200E+18\\ \hline 1 & 1 & 1 & 1 \\ 2 & 4 & 16 & 2 \\ 3 & 9 & 81 & 6 \\ 4 & 16 & 256 & 24 \\ 5 & 25 & 625 & 120 \\ \end{supertabular} \end{center} %%%% fin exemple %%%% * Le package 'longtable', de D. Carlisle, disponible sur ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/required/tools/, fonctionne de la même manière mais mieux et permet de définir une taille de tableau commune sur toutes les pages. Les commandes associées à ce package sont \endfirsthead, \endhead, \endfoot et \endlastfoot. \begin{longtable} {|p{0.2\linewidth}|p{0.2\linewidth}|p{0.2\linewidth}|} \hline Premiere colonne & Deuxieme & Troisieme \endfirsthead \hline Premiere & Deuxieme & Troisieme \\ \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}|}{C'est fini} \\ \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} au lieu de faire des calculs de largeurs de colonne, on peut aussi mettre un \setlongtables dans le préambule et déclarer ses tableaux comme à l'habitude en \begin{longtable}{|c|c|c|} et LaTeX se charge du reste. Dans ce cas, l'ajustement des colonnes peut nécessiter plusieurs (jusqu'à trois) compilations enchaînées. * Le package 'ltxtable' de D. Carlisle, disponible sur ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/carlisle/ permet de profiter des fonctionnalités de tabularx et de longtable.