Ceci est une ancienne révision du document !


\question{Comment gérer les tableaux de plus d'une page ?} %7.2

\reponse Le package \pack{supertabular} permet de d\'efinir de longs tableaux, qui seront coup\'es automatiquement par \LaTeX si n\'ecessaire, pour changer de page. L'environnement s'appelle \env{supertabular}. \`A l'int\'erieur de cet environnement, on d\'efinit le contenu du tableau de la m\^eme fa\c con que dans l'environnement \env{tabular}.On peut, en plus, utiliser les commandes suivantes : \begin{itemize} \item \cmd{tablefirsthead}\marg{…}, qui d\'efinit le contenu de la

premi\`ere ligne du tableau ;

\item \cmd{tablehead}\marg{…} d\'efinit le contenu de la premi\`ere ligne

qui sera ins\'er\'ee en cas de changement de page au milieu du tableau ;

\item \cmd{tabletail}\marg{…} d\'efinit le contenu de la derni\`ere ligne

d'une page, en cas de changement de page au milieu du tableau ;

\item \cmd{tablelasttail}\marg{…} d\'efinit le contenu de la derni\`ere ligne du

tableau ;

\item \cmd{topcption}\marg{…}, \cmd{bottomcaption}\marg{…} permettent de

mettre une l\'egende sur ce tableau, soit au d\'ebut, soit \`a la fin. 
\cmd{tablecaption} place la l\'egende \`a sa position <<~habituelle~>>, qui
est par d\'efaut le haut du tableau.

\end{itemize}

Voici un exemple : \begin{noexemple} \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 \`a la page suivante~\ldots}}\\\hline} 
 \tablelasttail{\hline}
 \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    \\
    ...       ...       ...      ...      ...
 \end{supertabular}

\end{center} \end{noexemple}

\reponse Le package \pack{longtable} est assez semblable au pr\'ec\'edent, mais en un peu mieux. Il permet notamment d'avoir (modulo un nombre suffisant de compilations) la m\^eme largeur de colonnes dans tout le tableau, m\^eme si celui-ci est coup\'e sur plusieurs pages. Les en-t\^etes se d\'efinissent de mani\`ere un peu diff\'erente, comme dans l'exemple suivant :

\begin{noexemple} \begin{longtable}{|p{0.2\linewidth}|

p{0.2\linewidth}|p{0.2\linewidth}|}
 \hline
 Premi\`ere colonne & Deuxi\`eme & Troisi\`eme 
 \endfirsthead
 \hline
 Premi\`ere & Deuxi\`eme & Troisi\`eme \\
 \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} \end{noexemple}

2_composition/tableaux/tableau_sur_plusieurs_pages.1031399216.txt.gz · Dernière modification: 2002/09/07 13:46 par markey
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0