Ceci est une ancienne révision du document !


Comment fixer la largeur d'un tableau ?} %7.20

$Reponse$ L'environnement tabular* permet de faire cela, mais seul l'espace entre les colonnes peut s'adapter. Cet espace n'est pas à confondre avec \param{\\tabcolsep} qui est l'espacement de part et d'autre d'une colonne et non celui qui sépare celles-ci. On doit utiliser \texcode{extracolsep\{stretch\{1\}\}} ainsi %

  \begin{tabular*}{0.5\linewidth}{
      @{\extracolsep{\stretch{1}}}
      l
      p{8cm}
      @{}
    }
    \hline
    fonctions & rôle \\
    \hline
    atoi()    & transforme une chaîne de caractères
                en entier \\
    fscanf()  & remplit les variables dont on donne
                l'adresse à partir d'un fichier
                (attention, d'utilisation délicate) \\
    printf()  & impression formatée d'une chaîne de
                caractères \\
    sqrt()    & racine carrée (penser à lier à la
                bibliothèque mathématique) \\
    \hline
  \end{tabular*}

% ou (avec le package array) %

  \begin{tabular*}{0.5\linewidth}{
      !{\extracolsep{\stretch{1}}}
      l
      p{8cm}
    }
    \hline
    fonctions & rôle \\
    \hline
    atoi()    & transforme une chaîne de caractères
                en entier \\
    fscanf()  & remplit les variables dont on donne
                l'adresse à partir d'un fichier
                (attention, d'utilisation délicate) \\
    printf()  & impression formatée d'une chaîne de
                caractères \\
    sqrt()    & racine carrée (penser à lier à la
                bibliothèque mathématique) \\
    \hline
  \end{tabular*}

% \texcode{!\marg{code}} est équivalent à \texcode{@\marg{code}} à la différence près que la séparation \param{\\tabcolsep} n'est pas supprimée. Donc soit on supprime cette séparation des deux côtés du tableau, soit on utilise cette fonction \texcode{!\marg{code}}.

$Reponse$ Les packages tabularx et easytable permettent de faire cela. Avec l'environnement tabularx, par exemple, on peut utiliser un nouveau type de colonne: \texcode{X} qui ressemble à une colonne de type \texcode{p\marg{larg}}, si ce n'est qu'il n'est pas nécessaire de passer l'argument \meta{larg}, et que la largeur s'adapte à la place restante: ainsi, %

\begin{tabularx}{\linewidth}{|X|X|}
   \hline
    salut   & coucou \\
    bonjour & hello  \\
   \hline
\end{tabularx}

% donne % \begin{flushleft} \begin{tabularx}{\linewidth}{|X|X|}

 \hline
  salut   & coucou \\
  bonjour & hello  \\
 \hline

\end{tabularx} \end{flushleft} % Cet exemple donnera un tableau s'étalant sur tout une ligne et divisé en deux colonnes de largeur égale.

$Reponse$ Il est également possible de spécifier la largeur d'une colonne (\texcode{p\marg{larg}}). \`A partir de là, en gérant habilement les longueurs, on peut fixer la largeur du tableau et de chacune de ses colonnes.

$Reponse$ Le package tabulary fonctionne un peu comme tabularx, mais accepte les paramètres \texcode{L}, \texcode{C}, \texcode{R}, \texcode{J} qui permettent respectivement d'aligner à gauche, de centrer, d'aligner à droite et de justifier le contenu d'une colonne. De plus, la largeur des colonnes est proportionnelle à la longueur de la plus grande entrée (de chaque colonne).

2_composition/tableaux/fixer_la_largeur_d_un_tableau.1476828508.txt.gz · Dernière modification: 2016/10/19 00:08 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0