Les deux révisions précédentesRévision précédente | |
3_composition:tableaux:tableau_sur_plusieurs_pages [2021/11/28 14:56] – Fusion de deux pages françaises. Correction de la mise en forme. yannick.tanguy | 3_composition:tableaux:tableau_sur_plusieurs_pages [2022/10/10 14:43] (Version actuelle) – Usage de ⟨...⟩ dbitouze |
---|
===== Avec l'extension “longtable” ===== | ===== Avec l'extension “longtable” ===== |
| |
L'extension [[ctanpkg>longtable]] construit la table entière (par morceaux) dans un premier temps, puis utilise les informations qu'elle a écrites dans le fichier « ''.aux'' » pour obtenir le bon réglage lors des compilations ultérieures (elle parvient généralement à mettre les tableaux en forme en seulement deux passages). Comme l'extension a une vue d'ensemble du tableau au moment où elle effectue le « réglage final », la table est formatée uniformément du début à la fin, avec des largeurs de colonnes qui se correspondent bien sur les pages consécutives. | L'extension [[ctanpkg>longtable]] construit la table entière (par morceaux) dans un premier temps, puis utilise les informations qu'elle a écrites dans le fichier « ''.aux'' » pour obtenir le bon réglage lors des compilations ultérieures (elle parvient généralement à mettre les tableaux en forme en seulement deux passages). Comme l'extension a une vue d'ensemble du tableau au moment où elle effectue le « réglage final », la table est formatée uniformément du début à la fin, avec des largeurs de colonnes qui se correspondent bien sur les pages consécutives. |
| |
Voici un exemple : | Voici un exemple : |
|p{0.2\linewidth}|} | |p{0.2\linewidth}|} |
\hline | \hline |
Première colonne & Deuxième | Première colonne & Deuxième |
& Troisième | & Troisième |
\endfirsthead | \endfirsthead |
\hline | \hline |
|p{0.6666\linewidth}|}{% | |p{0.6666\linewidth}|}{% |
Suite page suivante} | Suite page suivante} |
\\ \hline | \\ \hline |
\endfoot | \endfoot |
\hline | \hline |
\multicolumn{3}{% | \multicolumn{3}{% |
|p{0.6666\linewidth}|}{Fin}\\ | |p{0.6666\linewidth}|}{Fin}\\ |
\hline | \hline |
\endlastfoot | \endlastfoot |
\hline | \hline |
1 & 1 & 1 \\ | 1 & 1 & 1 \\ |
2 & 4 & 16 \\ | 2 & 4 & 16 \\ |
3 & 9 & 81 \\ | 3 & 9 & 81 \\ |
... & ... & ... \\ | ... & ... & ... \\ |
\end{longtable} | \end{longtable} |
</code> | </code> |
\begin{longtable}{|p{0.2\linewidth}|p{0.2\linewidth}|p{0.2\linewidth}|} | \begin{longtable}{|p{0.2\linewidth}|p{0.2\linewidth}|p{0.2\linewidth}|} |
\hline | \hline |
Première colonne & Deuxième & Troisième | Première colonne & Deuxième & Troisième |
\endfirsthead | \endfirsthead |
\hline | \hline |
\hline | \hline |
\multicolumn{3}{|p{0.6666\linewidth}|}{Suite page suivante} | \multicolumn{3}{|p{0.6666\linewidth}|}{Suite page suivante} |
\\ \hline | \\ \hline |
\endfoot | \endfoot |
\hline | \hline |
\multicolumn{3}{|p{0.6666\linewidth}|}{Fin}\\ | \multicolumn{3}{|p{0.6666\linewidth}|}{Fin}\\ |
\hline | \hline |
\endlastfoot | \endlastfoot |
\hline | \hline |
1 & 1 & 1 \\ | 1 & 1 & 1 \\ |
2 & 4 & 16 \\ | 2 & 4 & 16 \\ |
3 & 9 & 81 \\ | 3 & 9 & 81 \\ |
... & ... & ... \\ | ... & ... & ... \\ |
\end{longtable} | \end{longtable} |
\end{document} | \end{document} |
| |
Cette extension a la réputation de ne pas fonctionner avec d'autres extensions, exception faite de [[ctanpkg>colortbl]], et son auteur fournit l'extension [[ctanpkg>ltxtable]] pour remplacer (la plupart des) fonctionnalités de [[ctanpkg>tabularx]] pour les tableaux longs (voir la question | Cette extension a la réputation de ne pas fonctionner avec d'autres extensions, exception faite de [[ctanpkg>colortbl]], et son auteur fournit l'extension [[ctanpkg>ltxtable]] pour remplacer (la plupart des) fonctionnalités de [[ctanpkg>tabularx]] pour les tableaux longs (voir la question |
« [[3_composition:tableaux:fixer_la_largeur_d_un_tableau|Comment fixer la largeur d'un tableau ?]] »). Cette dernière a cependant des contraintes d'utilisation inhabituelles : chaque tableau long doit être dans un fichier à part, et inclus par ''\LTXtable{//largeur//}{//fichier//}''. Puisque les tableaux à plusieurs pages de [[ctanpkg>longtable]] ne peuvent pas être mis dans des flottants, l'extension s'occupe elle-même des légendes, dans l'environnement ''longtable''. | « [[3_composition:tableaux:fixer_la_largeur_d_un_tableau|Comment fixer la largeur d'un tableau ?]] »). Cette dernière a cependant des contraintes d'utilisation inhabituelles : chaque tableau long doit être dans un fichier à part, et inclus par ''\LTXtable{⟨//largeur//⟩}{⟨//fichier//⟩}''. Puisque les tableaux à plusieurs pages de [[ctanpkg>longtable]] ne peuvent pas être mis dans des flottants, l'extension s'occupe elle-même des légendes, dans l'environnement ''longtable''. |
| |
Une alternative à [[ctanpkg>ltxtable]] pourrait être l'extension [[ctanpkg>ltablex]] mais elle est obsolète et n'est pas entièrement fonctionnelle. Son plus gros problème est sa capacité mémoire très limitée ([[ctanpkg>longtable]] n'est pas vraiment limité, au prix d'une grande complexité de son code) ; [[ctanpkg>ltablex]] ne peut traiter que des tableaux relativement petits, il ne semble plus maintenu. Si vous ne craignez pas les expérimentations et que vous recherchez une interface utilisateur est beaucoup plus simple que celle de [[ctanpkg>ltxtable]], il peut être intéressant de l'essayer. | Une alternative à [[ctanpkg>ltxtable]] pourrait être l'extension [[ctanpkg>ltablex]] mais elle est obsolète et n'est pas entièrement fonctionnelle. Son plus gros problème est sa capacité mémoire très limitée ([[ctanpkg>longtable]] n'est pas vraiment limité, au prix d'une grande complexité de son code) ; [[ctanpkg>ltablex]] ne peut traiter que des tableaux relativement petits, il ne semble plus maintenu. Si vous ne craignez pas les expérimentations et que vous recherchez une interface utilisateur est beaucoup plus simple que celle de [[ctanpkg>ltxtable]], il peut être intéressant de l'essayer. |
* ''\topcaption{...}'' et ''\bottomcaption{...}'' permettent de mettre une légende sur ce tableau, soit au début, soit à la fin (ces deux commandes sont incompatibles, l'utilisation des deux conduisant à ne produire que la seule légende de fin). ''\tablecaption{}'' place la légende à sa position « habituelle », qui est par défaut le haut du tableau. | * ''\topcaption{...}'' et ''\bottomcaption{...}'' permettent de mettre une légende sur ce tableau, soit au début, soit à la fin (ces deux commandes sont incompatibles, l'utilisation des deux conduisant à ne produire que la seule légende de fin). ''\tablecaption{}'' place la légende à sa position « habituelle », qui est par défaut le haut du tableau. |
| |
Voici un exemple : | Voici un exemple : |
| |
<WRAP column 45ex> | <WRAP column 45ex> |
\begin{center} | \begin{center} |
\tablefirsthead{\hline | \tablefirsthead{\hline |
\multicolumn{1}{|c}{Nombre} & | \multicolumn{1}{|c}{Nombre} & |
\multicolumn{1}{c}{Nombre$^2$} & | \multicolumn{1}{c}{Nombre$^2$} & |
Nombre$^4$ & | Nombre$^4$ & |
\multicolumn{1}{c|}{!Nombre} \\ | \multicolumn{1}{c|}{!Nombre} \\ |
\hline% | \hline% |
} | } |
\hline | \hline |
\multicolumn{1}{|c}{Nombre} & | \multicolumn{1}{|c}{Nombre} & |
\multicolumn{1}{c}{Nombre$^2$} & | \multicolumn{1}{c}{Nombre$^2$} & |
Nombre$^4$ & | Nombre$^4$ & |
\multicolumn{1}{c|}{Nombre!} \\ | \multicolumn{1}{c|}{Nombre!} \\ |
\hline% | \hline% |
} | } |
\tabletail{\hline | \tabletail{\hline |
\multicolumn{4}{|r|}{% | \multicolumn{4}{|r|}{% |
\small\textsl{Suite à la page% | \small\textsl{Suite à la page% |
suivante...}}\\ | suivante...}}\\ |
\hline% | \hline% |
tableau} | tableau} |
% | % |
\begin{supertabular}{|% | \begin{supertabular}{|% |
r@{\hspace{6.5mm}}|% | r@{\hspace{6.5mm}}|% |
r@{\hspace{5.5mm}}| r | r|} | r@{\hspace{5.5mm}}| r | r|} |
\begin{document} | \begin{document} |
\tablefirsthead{\hline | \tablefirsthead{\hline |
\multicolumn{1}{|c}{Nombre} & \multicolumn{1}{c}{Nombre$^2$} & Nombre$^4$ & \multicolumn{1}{c|}{!Nombre} \\ | \multicolumn{1}{|c}{Nombre} & \multicolumn{1}{c}{Nombre$^2$} & Nombre$^4$ & \multicolumn{1}{c|}{!Nombre} \\ |
\hline% | \hline% |
} | } |
\multicolumn{4}{|l|}{\small\textsl{suite du tableau}}\\ | \multicolumn{4}{|l|}{\small\textsl{suite du tableau}}\\ |
\hline | \hline |
\multicolumn{1}{|c}{ Nombre} & \multicolumn{1}{c}{Nombre$^2$} & Nombre$^4$ & \multicolumn{1}{c|}{Nombre!} \\ | \multicolumn{1}{|c}{ Nombre} & \multicolumn{1}{c}{Nombre$^2$} & Nombre$^4$ & \multicolumn{1}{c|}{Nombre!} \\ |
\hline% | \hline% |
} | } |
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) |
}} | }} |
| |