Journal LaTeX me prend la tête !

Posté par  .
Étiquettes : aucune
0
15
avr.
2004
Mon cher journal !
J'essaye (en vain) de réaliser un document comprenant plusieurs tableaux éventuellement répartis sur plusieures pages. La structure du document est la suivante:
En début de page, deux lignes de texte (ça, je sais faire, pas de soucis), puis un tableau de 3 colonnes, dont chaque ligne peut être de hauteur variable, et qui peut s'étendre sur plusieures pages.

J'ai essayé le package xtab, mais franchement, ça merde comme c'est pas permis !
Au lieu de sauter une page en plein milieu du dernier tableau, comme il est censé le faire, il saute une page AVANT le tableau et me colle le tout sur la dernière page.... Ce qui fait que c'est illisible et qu'en plus, ça me fait un tableau qui fait plus que la hauteur d'une page .... "Et ça dépend, ça dépasse !"
Bref, ça me prend la tête, alors mon cher journal, si tu connais une solution pour mon problème, je t'écoute !
  • # Re: LaTeX me prend la tête !

    Posté par  (site web personnel) . Évalué à -1.

    si tu connais une solution pour mon problème, je t'écoute !

    OpenOffice.org ?
    http://www.openoffice.org/(...)
    • [^] # Re: LaTeX me prend la tête !

      Posté par  . Évalué à 1.

      Crétin que je suis ! J'ai oublié de préciser que les informations contenues dans mes tableaux sont issues d'une base de données, extraites avec php, et doivent me donner un PDF au final.... Et je crois savoir qu'une classe Php->OOo est en cours de développement, mais elle est encore au stade alpha....
      Merci quand même !
      • [^] # Re: LaTeX me prend la tête !

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        Pourquoi ne pas passer directement de php-> pdf ?
        Il existe une librairie (même deux).

        Y.
        • [^] # Re: LaTeX me prend la tête !

          Posté par  . Évalué à 1.

          Mouais, je connais l'existence de ces deux libs. Y'en a une qui est payante et l'autre qui n'est pas libre (il me semble, je dis ça de mémoire). Et puis, dessiner des tableaux de données au point par point, c'est pas forcément la methode la plus efficace.... Merci quand même !
  • # Re: LaTeX me prend la tête !

    Posté par  . Évalué à 6.

    \usepackage{longtable}
    .
    .
    .
    \setlongtable
    \begin{longtable}[c]{|c|c|c|}
    \hline
    \multicolumn{3}{|c|}{Mon tableau 2} \\
    \hline
    Col1 & Col2 & Col3 \\
    \hline \endfirsthead
    \hline
    Col1 & Col2 & Col3 \\
    \hline \endhead
    \hline
    \multicolumn{3}{|c|}{suite page suivante...} \\
    \hline \endfoot
    \hline
    \multicolumn{3}{|c|}{derniere page.}\\
    \hline \endlastfoot
    1 & erterer & 4 \\
    \hline
    1 & erterer & 4 \\
    \hline
    1 & erterer & 4 \\
    \hline
    1 & erterer & 4 \\
    \hline
    2 & ertesdfsfdsfsfrer & 4 \\
    \hline
    2 & erterersfdddddddddd & 4 \\
    \hline
    \end{longtable}
    :wq

    Voila ma contribution ;)
  • # Re: LaTeX me prend la tête !

    Posté par  . Évalué à 3.

    Les extensions supertab ou longtable sont tes amies pour les tableaux... (cf. section 5.4 et suivantes du «LaTeX companion»).

    supertabular:
    http://www.loria.fr/tex/ctan-doc/macros/latex/contrib/supported/sup(...)

    longtable:
    http://www.loria.fr/tex/ctan-doc/macros/latex/packages/tools/longta(...)

    Dans tous les cas, avant de s'enerver sur LaTeX, un petit tour sur le Loria (http://www.loria.fr/(...)) évite bien des maux de tête...
  • # Re: LaTeX me prend la tête !

    Posté par  . Évalué à 1.

    Je viens de m'appercevoir que j'avais un peu oublié quelques éléments.
    En fait, je connaissais l'existence de supertab et de longtable, mais il me semblait que xtab était meilleur ? En tout cas, c'est ce que dit la doc fournie avec....
    Bref, ce qui me pose problème, ce sont les cases qui sont plus hautes qu'une ligne de texte.
    Par exemple, j'ai une première colone dont chaque case ne comporte qu'un numéro. Je voudrais que ce numéro soit centré verticalement et horizontalement dans la case. Comment faire ?

    Puis, dans la seconde colonne, j'ai tout un tas d'informations ressemblant peu ou prou à ça :

    Titre Nom Prénom [(épouse nom_épouse)]
    Adresse
    [complément d'adresse]
    Code Postal Commune
    [Tel]

    Les champs entre [] sont facultatifs et parfois non renseignés. Les autres sont obligatoires. Par conséquent, une telle case fait entre 3 et 5 lignes de texte de hauteur.... Pas évident pour centrer verticalement le contenu de la case précédente.


    Enfin, la dernière colonne est une colonne d'émargement. Je sais comment faire pour en préciser la largeur. Le contenu m'importe peu puisque c'est vide.

    J'ai essayé d'encastrer le contenu de la première case et/ou de la seconde dans différents environnements, mais sans succès. J'ai essayé de construire des mbox, des minipages, des multirow.....
    Tout ça fonctionne.... presque car si le rendu est conforme a mes attentes, il n'en reste pas moins que l'utilisation de lignes dont la hauteur est supérieure à une hauteur "normale" perturbe les packages de gestion des tableaux longs qui me collent des sauts de pages aléatoires, quand il y en a....

    Bref, merci en tout cas pour vos contributions.....

    LaTeX pêche un peu sur ces points, alors je vais probablement me tourner vers une autre solution.
    • [^] # Re: LaTeX me prend la tête !

      Posté par  . Évalué à 2.

      pour centrer verticalement le contenu de la case précédente.

      C'est disponible dans tabular avec les modifications introduites par le package array. Ca donne, lorsque tu définis tes colonnes:
      \begin{tabular}{m{largeur}} : avec m, les entrées sont centrées verticalement (b: les entrées sont en bas de la cellule, p: en haut)

      ... le numéro soit centré verticalement et horizontalement dans la case.

      Si tu te mets dans le cas tabular + array, un simple c comme définition de ta colonne semble marcher. Si ça marche pas, toujours avec array:
      \begin{tabular}{|>{\centering}m{largeur}|m{largeur}|m{largeur}}

      Visiblement, array marche avec supertabular (j'ai juste une marge entre le texte et le trait de la cellule qui est trop faible par rapport à tabular, un petit :
      \setlength{\extrarowheight}{15pt}
      règle le problème.

      Je viens de tester les sauts de pages, ça a l'air de se passer sans problème... (en tout cas, chezmoicamarche...)

      au bilan:
      %-------------------------------
      \documentclass{article}
      \usepackage{array}
      \usepackage{supertabular}

      \begin{document}
      \setlength{\extrarowheight}{15pt}
      \tablehead{\hline}
      \tabletail{\hline}
      \begin{supertabular}{|>{\centering}m{1cm}|m{3cm}|m{3cm}|}
      \hline
      %.... ton tableau comme d'habitude....
      \hline

      \end{supertabular}
      \end{document}
      %-------------------------------

      hope this helps...
      • [^] # Re: LaTeX me prend la tête !

        Posté par  . Évalué à 1.

        hope this helps...

        J'espère aussi !
        Je ne suis pas au boulot, je n'ai donc pas ce qui faut pour tester tout ça. Mais promis, cette solution, je la teste lundi !
        Ca m'a tout l'air d'être ce que je cherche depuis si longtemps, et même plus !

        Un grand merci tout plein en tout cas, et je te/vous tiens au courant dès que j'aurais pu faire des tests !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.