[Resolu][longtable] Tableaux trop larges : centrer ?

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Resolu][longtable] Tableaux trop larges : centrer ?

Messagepar Remek » Jeudi 03 Juin 2010, 15:13

(re)-Bonjour,

je suis maintenant embete avec des tableaux crees avec longtable. Tous sont trop larges par rapport a la largeur du texte, et je souhaiterais les centrer sur la page. Peu importe s'ils debordent un peu de la largeur du texte (je n'ai pas d'autre choix, la taille est deja sur "tiny" et je ne peux pas reduire plus...), mais je souhaiterais qu'ils apparaissent alignes sur la page pour que ca ait l'air plus harmonieux. J'ai essaye plusieurs solutions glanees sur le net, comment la redefinition des marges avec changepage par exemple, mais sans grand succes.

J'ai ensuite vu qu'avec les parameteres "\LTleft" et "\LTright" il etait possible d'ajuster manuellement l'alignement. Mais le probleme est que quand je definis ces parametres dans le preambule de mon document, ils s'appliquent a tous les longtables... ce qui ne m'arrange pas car tous n'ont pas la meme largeur !

Avez-vous deja rencontre ce genre de probleme ? Et si oui, trouve une solution ?

Merci d'avance !
Dernière édition par Remek le Vendredi 04 Juin 2010, 09:52, édité 1 fois.
Remek
Kilo-utilisateur
 
Messages: 111
Inscription: Samedi 02 Février 2008, 15:54
Statut actuel: Post-bac | Doctorat

Publicité

Re: [longtable] Tableaux trop larges... comment centrer ?

Messagepar rebouxo » Jeudi 03 Juin 2010, 15:38

Tu peux toujours mettre tes longtable dans un groupe (par exemple { ton tableau }). Les modifications faites à l'intérieur d'un groupe ne se propage pas à l'extérieur.

Maintenant, tiny c'est vraiment très très petit (rapport à mes bras qui sont trop courts :mrgreen: ) et il faudrait faire autrement (mettre tes tableaux en paysage, par exemple).

Un exemple complet minimum serait le bien venu.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6915
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: [longtable] Tableaux trop larges... comment centrer ?

Messagepar Remek » Jeudi 03 Juin 2010, 22:00

Le tiny n'est pas si petit ! En tout cas ca me convient tres bien (il s'agit de tableaux interminables places dans une annexe, le principal est qu'ils soient lisibles).

L'idee du \begingroup et \endgroup est bonne, reste a trouver comment ajuster automatiquement... J'ai essaye de faire un ECM representatif de mon probleme. Le premier tableau est ce que j'obtiens actuellement (sauf que mes tableaux sont beaucoup plus longs et sur plusieurs pages), et le second tableau est a peu pres ce que je souhaiterais avoir. Mais l'ajustement fait manuellement n'est pas parfait, et comme je le disais precedemment, je prefererais trouver une solution automatique car j'ai pas mal de tableaux de ce type et si je les ajuste un par un je vais m'amuser...

Code: Tout sélectionner
    \documentclass[a4paper,12pt]{article}
   
    \usepackage{longtable}
    \usepackage{lipsum}

    \begin{document}
   
    \lipsum
   
    {\tiny\begin{longtable}{lcccccccccccc}
    \hline
    & col1 & col2 & col3 & col4 & col5 & col6 & col7 & col8 & col9 & col10 & col11 & col12 \\\hline
    \endfirsthead

    \multicolumn{13}{l}
    {\tablename\ \thetable{} -- continued from previous page} \\\hline
    & col1 & col2 & col3 & col4 & col5 & col6 & col7 & col8 & col9 & col10 & col11 & col12 \\\hline
    \endhead

    \hline\multicolumn{13}{r}{{continued on next page...}} \\\hline
    \endfoot

    \hline
    \endlastfoot
   
    Exemple & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 \\
    Exemple & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 \\    Exemple & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 \\
    \end{longtable}}

    \lipsum

    \begingroup
    \setlength\LTleft{-1cm}
    {\tiny\begin{longtable}{lcccccccccccc}
    \hline
    & col1 & col2 & col3 & col4 & col5 & col6 & col7 & col8 & col9 & col10 & col11 & col12 \\\hline
    \endfirsthead

    \multicolumn{13}{l}
    {\tablename\ \thetable{} -- continued from previous page} \\\hline
    & col1 & col2 & col3 & col4 & col5 & col6 & col7 & col8 & col9 & col10 & col11 & col12 \\\hline
    \endhead

    \hline\multicolumn{13}{r}{{continued on next page...}} \\\hline
    \endfoot

    \hline
    \endlastfoot

    Exemple & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 \\
    Exemple & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 \\    Exemple & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 & 123456 \\
    \end{longtable}}
    \endgroup
   
    \lipsum
   
    \end{document}


Il y a sans doute un moyen de regler ce probleme... une idee peut-etre ?

Merci d'avance !
Remek
Kilo-utilisateur
 
Messages: 111
Inscription: Samedi 02 Février 2008, 15:54
Statut actuel: Post-bac | Doctorat

Re: [longtable] Tableaux trop larges... comment centrer ?

Messagepar pg » Jeudi 03 Juin 2010, 22:52

En plus de diminuer la taille (qu'il est possible de réduire encore en remplaçant \tiny par quelque chose du genre \fontsize{5pt}{7pt}\selectfont si ça reste lisible), on peut aussi diminuer aussi l'espace entre les colonnes permettra de gagner de la place. Par exemple, en rajoutant

Code: Tout sélectionner
\renewcommand{\tabcolsep}{3pt}

juste après \tiny ôte tous les problèmes dans l'exemple précédent.

Si ce n'est pas suffisant pour le document réel, rajouter dans le préambule (ou dans un \begingroup...\endgroup pour n'affecter qu'un seul tableau)

Code: Tout sélectionner
\setlength{\LTleft}{-5cm plus 1 fill}
\setlength{\LTright}{-5cm plus 1 fill}

ce qui devrait permettre de garder les {longtable} centrées tout en leur laissant la possibilité de dépasser jusqu'à 5cm dans les marges.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: [longtable] Tableaux trop larges... comment centrer ?

Messagepar Remek » Vendredi 04 Juin 2010, 09:52

Merci pg, ca ne pouvait etre plus clair ! J'ai finalement combine les deux suggestions et le resultat est excellent ! Parfait, c'est exactement ce que je recherchais.
Remek
Remek
Kilo-utilisateur
 
Messages: 111
Inscription: Samedi 02 Février 2008, 15:54
Statut actuel: Post-bac | Doctorat


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Proximic [Spider] et 19 invités