J'ai un long tableau à mettre dans un document. Pour qu'il puisse être coupé sur plusieurs pages, j'utilise le package longtable. Mais plutôt que de continuer le tableau sur une nouvelle page, je préfèrerais qu'il continue sur la même page, en mettant deux colonnes par page. Quelque chose qui ressemblerait à column/columns, ou minipage.

Petit exemple :

Ouvrir dans l'éditeur
\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{longtable}
\usepackage{babel}
\begin{document}
%%
\begin{longtable}{|l|l|l|}
%
\multicolumn{3}{c}{{\bfseries \tablename\ \thetable{}}} \\
\hline \multicolumn{1}{|c|}{\textbf{Al}} &
\multicolumn{1}{c|}{\textbf{Mn}} &
\multicolumn{1}{c|}{\textbf{Fe}} \\ \hline 
\endfirsthead
%
\multicolumn{3}{c}%
{{\bfseries \tablename\ \thetable{} -- suite}} \\
\hline \multicolumn{1}{|c|}{\textbf{Al}} &
\multicolumn{1}{c|}{\textbf{Mn}} &
\multicolumn{1}{c|}{\textbf{Fe}} \\ \hline 
\endhead
%
\hline %\multicolumn{3}{|r|}{{Continued on next page}} \\ \hline
\endfoot
%
\hline \hline
\caption{Légende.}
\label{tab_AlMnFe-IS2_env_conv}
\endlastfoot
%
        0.0  & 0.0  & 16.0 \\
        0.0  & 1.0  & 15.0 \\
        0.0  & 4.0  & 12.0 \\
        0.0  & 5.0  & 11.0 \\
        0.0  & 6.0  & 10.0 \\
        0.0  & 7.0  & 9.0  \\
        0.0  & 8.0  & 8.0  \\
        0.0  & 9.0  & 7.0  \\
        0.0  & 10.0 & 6.0  \\
        0.0  & 11.0 & 5.0  \\
        0.0  & 12.0 & 4.0  \\
        0.0  & 13.0 & 3.0  \\
        0.0  & 14.0 & 2.0  \\
        0.0  & 15.0 & 1.0  \\
        0.0  & 16.0 & 0.0  \\
        1.0  & 4.0  & 11.0 \\
        1.0  & 5.0  & 10.0 \\
        1.0  & 7.0  & 8.0  \\
        1.0  & 11.0 & 4.0  \\
        1.0  & 12.0 & 3.0  \\
        1.0  & 15.0 & 0.0  \\
        2.0  & 6.0  & 8.0  \\
        2.0  & 10.0 & 4.0  \\
        2.0  & 14.0 & 0.0  \\
        3.0  & 0.0  & 13.0 \\
        3.0  & 5.0  & 8.0  \\
        3.0  & 13.0 & 0.0  \\
        4.0  & 0.0  & 12.0 \\
        4.0  & 1.0  & 11.0 \\
        4.0  & 2.0  & 10.0 \\
        4.0  & 3.0  & 9.0  \\
        4.0  & 4.0  & 8.0  \\
        4.0  & 5.0  & 7.0  \\
        4.0  & 6.0  & 6.0  \\
        4.0  & 7.0  & 5.0  \\
        4.0  & 8.0  & 4.0  \\
        4.0  & 9.0  & 3.0  \\
        4.0  & 12.0 & 0.0  \\
        5.0  & 1.0  & 10.0 \\
        5.0  & 3.0  & 8.0  \\
        5.0  & 4.0  & 7.0  \\
        5.0  & 8.0  & 3.0  \\
        5.0  & 11.0 & 0.0  \\
        6.0  & 2.0  & 8.0  \\
        6.0  & 4.0  & 6.0  \\
        6.0  & 8.0  & 2.0  \\
        6.0  & 10.0 & 0.0  \\
        7.0  & 4.0  & 5.0  \\
        7.0  & 8.0  & 1.0  \\
        7.0  & 9.0  & 0.0  \\
        8.0  & 0.0  & 8.0  \\
        8.0  & 4.0  & 4.0  \\
        8.0  & 5.0  & 3.0  \\
        8.0  & 6.0  & 2.0  \\
        8.0  & 7.0  & 1.0  \\
        8.0  & 8.0  & 0.0  \\
        9.0  & 4.0  & 3.0  \\
        9.0  & 5.0  & 2.0  \\
        9.0  & 6.0  & 1.0  \\
        9.0  & 7.0  & 0.0  \\
        10.0 & 2.0  & 4.0  \\
        10.0 & 4.0  & 2.0  \\
        10.0 & 5.0  & 1.0  \\
        10.0 & 6.0  & 0.0  \\
        11.0 & 4.0  & 1.0  \\
        11.0 & 5.0  & 0.0  \\
        12.0 & 0.0  & 4.0  \\
        12.0 & 3.0  & 1.0  \\
        12.0 & 4.0  & 0.0  \\
        13.0 & 0.0  & 3.0  \\
        13.0 & 3.0  & 0.0  \\
        14.0 & 0.0  & 2.0  \\
        14.0 & 2.0  & 0.0  \\
        15.0 & 0.0  & 1.0  \\
        15.0 & 1.0  & 0.0  \\
        16.0 & 0.0  & 0.0  \\
\end{longtable}
%%
\end{document}

Posée 27 Oct '15, 10:03

jerome%20dequeker's gravatar image

jerome dequeker
836714
Taux d'acceptation : 65%

Modifiée 27 Oct '15, 10:43

denis's gravatar image

denis ♦♦
7.0k1510


Vous pouvez même mettre 4 colonnes par page, et utiliser tabularx pour espacer régulièrement les 4 sous-tables. L'inconvénient est qu'il faut répartir les données sur les 4 colonnes à la main. J'ai ajouté l'utilisation de siunitx pour l'affichage des valeurs numériques.

Voici donc le code que je propose:

Ouvrir dans l'éditeur
\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[a4paper, showframe]{geometry}
\usepackage{tabularx, array, caption}
\usepackage{siunitx}
\usepackage{babel}

\begin{document}

\begin{table}[!ht]
  \sisetup{table-format=2.1, table-number-alignment=center}
  \renewcommand\arraystretch{1.2}
  \caption{Légende}
  \begin{tabularx}{\linewidth}{|S|S|S|X|S|S|S|X|S|S|S|X|S|S|S|}
    \cline{1-3}\cline{5-7}\cline{9-11}\cline{13-15}
    {\textbf{Al}} & {\textbf{Mn}} & {\textbf{Fe}} & & {\textbf{Al}} & {\textbf{Mn}} & {\textbf{Fe}} & & {\textbf{Al}} & {\textbf{Mn}} & {\textbf{Fe}} & & {\textbf{Al}} & {\textbf{Mn}} & {\textbf{Fe}} \\
    \cline{1-3}\cline{5-7}\cline{9-11}\cline{13-15}
    0.0 & 0.0 & 16.0 & & 1.0 & 12.0 & 3.0 & & 5.0 & 1.0 & 10.0 & & 9.0 & 5.0 & 2.0 \\
    0.0 & 1.0 & 15.0 & & 1.0 & 15.0 & 0.0 & & 5.0 & 3.0 & 8.0 & & 9.0 & 6.0 & 1.0 \\
    0.0 & 4.0 & 12.0 & & 2.0 & 6.0 & 8.0 & & 5.0 & 4.0 & 7.0 & & 9.0 & 7.0 & 0.0 \\
    0.0 & 5.0 & 11.0 & & 2.0 & 10.0 & 4.0 & & 5.0 & 8.0 & 3.0 & & 10.0 & 2.0 & 4.0 \\
    0.0 & 6.0 & 10.0 & & 2.0 & 14.0 & 0.0 & & 5.0 & 11.0 & 0.0 & & 10.0 & 4.0 & 2.0 \\
    0.0 & 7.0 & 9.0 & & 3.0 & 0.0 & 13.0 & & 6.0 & 2.0 & 8.0 & & 10.0 & 5.0 & 1.0 \\
    0.0 & 8.0 & 8.0 & & 3.0 & 5.0 & 8.0 & & 6.0 & 4.0 & 6.0 & & 10.0 & 6.0 & 0.0 \\
    0.0 & 9.0 & 7.0 & & 3.0 & 13.0 & 0.0 & & 6.0 & 8.0 & 2.0 & & 11.0 & 4.0 & 1.0 \\
    0.0 & 10.0 & 6.0 & & 4.0 & 0.0 & 12.0 & & 6.0 & 10.0 & 0.0 & & 11.0 & 5.0 & 0.0 \\
    0.0 & 11.0 & 5.0 & & 4.0 & 1.0 & 11.0 & & 7.0 & 4.0 & 5.0 & & 12.0 & 0.0 & 4.0 \\
    0.0 & 12.0 & 4.0 & & 4.0 & 2.0 & 10.0 & & 7.0 & 8.0 & 1.0 & & 12.0 & 3.0 & 1.0 \\
    0.0 & 13.0 & 3.0 & & 4.0 & 3.0 & 9.0 & & 7.0 & 9.0 & 0.0 & & 12.0 & 4.0 & 0.0 \\
    0.0 & 14.0 & 2.0 & & 4.0 & 4.0 & 8.0 & & 8.0 & 0.0 & 8.0 & & 13.0 & 0.0 & 3.0 \\
    0.0 & 15.0 & 1.0 & & 4.0 & 5.0 & 7.0 & & 8.0 & 4.0 & 4.0 & & 13.0 & 3.0 & 0.0 \\
    0.0 & 16.0 & 0.0 & & 4.0 & 6.0 & 6.0 & & 8.0 & 5.0 & 3.0 & & 14.0 & 0.0 & 2.0 \\
    1.0 & 4.0 & 11.0 & & 4.0 & 7.0 & 5.0 & & 8.0 & 6.0 & 2.0 & & 14.0 & 2.0 & 0.0 \\
    1.0 & 5.0 & 10.0 & & 4.0 & 8.0 & 4.0 & & 8.0 & 7.0 & 1.0 & & 15.0 & 0.0 & 1.0 \\
    1.0 & 7.0 & 8.0 & & 4.0 & 9.0 & 3.0 & & 8.0 & 8.0 & 0.0 & & 15.0 & 1.0 & 0.0 \\
    1.0 & 11.0 & 4.0 & & 4.0 & 12.0 & 0.0 & & 9.0 & 4.0 & 3.0 & & 16.0 & 0.0 & 0.0 \\
    \cline{1-3}\cline{5-7}\cline{9-11}\cline{13-15}
  \end{tabularx}
\end{table}

\end{document}
Lien permanent

Publiée 27 Oct '15, 20:19

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

Cette solution pourrait faire l'affaire de manière ponctuelle.

Mais étant donné que je vais être confronté à cette situation plusieurs fois, je n'ai pas envie de devoir faire la manipulation manuellement à chaque fois.

Et dans la situation où le tableau est vraiment très très long, il ne se coupe plus automatiquement sur plusieurs pages.

(28 Oct '15, 09:00) jerome dequeker jerome%20dequeker's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.