Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
composition:tableaux:fixer_la_largeur_d_un_tableau [2002/09/07 11:36] – créée markey | 3_composition:tableaux:fixer_la_largeur_d_un_tableau [2022/10/10 14:47] (Version actuelle) – Usage de ⟨...⟩ dbitouze | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | \question{Comment fixer la largeur d'un tableau ?} %7.20 | + | ====== |
- | \reponse Les packages \pack{tabularx} et \pack{easytable} permettent de faire | ||
- | cela. | ||
- | \reponse Il est \' | + | Fondamentalement, |
- | \`A partir de l\`a, en g\' | + | pendant sa mise en forme, pour obtenir à la fin la largeur |
- | largeur du tableau | + | On peut: |
+ | * étirer les espaces entre les colonnes ; | ||
+ | * étirer certaines des colonnes | ||
+ | Voici comment appliquer ces deux possibilités. | ||
+ | |||
+ | |||
+ | ===== En jouant sur les espaces intercolonnes ===== | ||
+ | |||
+ | ==== Avec les fonctions de base de LaTeX ==== | ||
+ | |||
+ | Les fonctionnalités de base de < | ||
+ | les espaces: l' | ||
+ | la largeur totale désirée pour le tableau, sous la forme d'une longueur comme '' | ||
+ | Cet argument s' | ||
+ | |||
+ | Pour que cela fonctionne, il faut également utiliser la commande '' | ||
+ | (celui qui décrit la mise en forme des colonnes), à l' | ||
+ | Voici comment ça se présente: | ||
+ | <code latex> | ||
+ | \begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}}lllr} | ||
+ | </ | ||
+ | |||
+ | La commande '' | ||
+ | situés à sa droite ; si vous ne souhaitez pas que tous les espaces soient étirés, | ||
+ | ajoutez '' | ||
+ | |||
+ | On peut également utiliser '' | ||
+ | |||
+ | <note important> | ||
+ | '' | ||
+ | de part et d' | ||
+ | </ | ||
+ | |||
+ | <WRAP column 58ex> | ||
+ | <code latex> | ||
+ | \begin{tabular*}{0.5\linewidth}{ | ||
+ | @{\extracolsep{\stretch{1}}} | ||
+ | l | ||
+ | p{8cm} | ||
+ | @{} | ||
+ | } | ||
+ | \hline | ||
+ | Fonction | ||
+ | \hline | ||
+ | atoi() | ||
+ | en entier \\ | ||
+ | fscanf() | ||
+ | l' | ||
+ | (attention, d' | ||
+ | printf() | ||
+ | caractères \\ | ||
+ | sqrt() | ||
+ | bibliothèque mathématique) \\ | ||
+ | \hline | ||
+ | \end{tabular*} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \begin{tabular*}{0.5\linewidth}{ | ||
+ | @{\extracolsep{\stretch{1}}} | ||
+ | l | ||
+ | p{8cm} | ||
+ | @{} | ||
+ | } | ||
+ | \hline | ||
+ | Fonction | ||
+ | \hline | ||
+ | atoi() | ||
+ | en entier \\ | ||
+ | fscanf() | ||
+ | l' | ||
+ | (attention, d' | ||
+ | printf() | ||
+ | caractères \\ | ||
+ | sqrt() | ||
+ | bibliothèque mathématique) \\ | ||
+ | \hline | ||
+ | \end{tabular*} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear /> | ||
+ | |||
+ | |||
+ | ==== Avec l' | ||
+ | |||
+ | Une autre possibilité, | ||
+ | |||
+ | <WRAP column 58ex> | ||
+ | <code latex> | ||
+ | \usepackage{array} | ||
+ | ... | ||
+ | |||
+ | \begin{tabular*}{0.5\linewidth}{ | ||
+ | !{\extracolsep{\stretch{1}}} | ||
+ | l | ||
+ | p{8cm} | ||
+ | } | ||
+ | \hline | ||
+ | Fonction | ||
+ | \hline | ||
+ | atoi() | ||
+ | en entier \\ | ||
+ | fscanf() | ||
+ | l' | ||
+ | (attention, d' | ||
+ | printf() | ||
+ | caractères \\ | ||
+ | sqrt() | ||
+ | bibliothèque mathématique) \\ | ||
+ | \hline | ||
+ | \end{tabular*} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage[french]{babel} | ||
+ | \usepackage{lmodern} | ||
+ | \usepackage{array} | ||
+ | \pagestyle{empty} | ||
+ | |||
+ | \begin{document} | ||
+ | \begin{tabular*}{0.5\linewidth}{ | ||
+ | !{\extracolsep{\stretch{1}}} | ||
+ | l | ||
+ | p{8cm} | ||
+ | } | ||
+ | \hline | ||
+ | Fonction | ||
+ | \hline | ||
+ | atoi() | ||
+ | en entier \\ | ||
+ | fscanf() | ||
+ | l' | ||
+ | (attention, d' | ||
+ | printf() | ||
+ | caractères \\ | ||
+ | sqrt() | ||
+ | bibliothèque mathématique) \\ | ||
+ | \hline | ||
+ | \end{tabular*} | ||
+ | \end{document} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear /> | ||
+ | |||
+ | '' | ||
+ | la séparation '' | ||
+ | cette séparation des deux côtés du tableau, soit on utilise cette fonction '' | ||
+ | |||
+ | |||
+ | |||
+ | ===== En jouant sur la largeur des colonnes ===== | ||
+ | |||
+ | Dans les cas simples, il est bien sûr possible de le faire « à la main », | ||
+ | en fixant la largeur des colonnes: | ||
+ | |||
+ | <code latex> | ||
+ | \begin{tabular}{p{2cm}p{3cm}} | ||
+ | ... | ||
+ | \end{tabular} | ||
+ | </ | ||
+ | |||
+ | ou même en faisant dépendre la largeur des colonnes de la largeur de la page: | ||
+ | |||
+ | <code latex> | ||
+ | \begin{tabular}{p{.25\textwidth}p{.33\textwidth}} | ||
+ | ... | ||
+ | \end{tabular} | ||
+ | </ | ||
+ | |||
+ | Mais diverses extensions ont été développées pour s'en occuper pour vous. | ||
+ | |||
+ | |||
+ | ==== Avec l' | ||
+ | |||
+ | L' | ||
+ | Une colonne de format '' | ||
+ | elle est capable de s' | ||
+ | Il n'est pas nécessaire de passer un argument '' | ||
+ | |||
+ | S'il y a plus d'une colonne '' | ||
+ | entre elles. | ||
+ | |||
+ | |||
+ | Voici un exemple qui donne un tableau s' | ||
+ | et divisé en deux colonnes de largeur égale: | ||
+ | |||
+ | <WRAP column 50ex> | ||
+ | <code latex> | ||
+ | \usepackage{tabularx} | ||
+ | ... | ||
+ | |||
+ | \begin{tabularx}{\linewidth}{|X|X|} | ||
+ | | ||
+ | salut & coucou \\ | ||
+ | bonjour & hello \\ | ||
+ | | ||
+ | \end{tabularx} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP column 30ex> | ||
+ | < | ||
+ | \documentclass{article} | ||
+ | \usepackage{lmodern} | ||
+ | \usepackage[width=8cm]{geometry} | ||
+ | \usepackage{tabularx} | ||
+ | \usepackage[french]{babel} | ||
+ | \pagestyle{empty} | ||
+ | |||
+ | \begin{document} | ||
+ | \begin{tabularx}{\linewidth}{|X|X|} | ||
+ | | ||
+ | salut & coucou \\ | ||
+ | bonjour & hello \\ | ||
+ | | ||
+ | \end{tabularx} | ||
+ | \end{document} | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP clear /> | ||
+ | |||
+ | |||
+ | ==== Avec l' | ||
+ | |||
+ | L' | ||
+ | l' | ||
+ | '' | ||
+ | et justifiée des colonnes qui se partagent l' | ||
+ | L' | ||
+ | sur une feuille de papier de largeur infinie) et alloue de l' | ||
+ | Elle fait quelques vérifications pour que les entrées vraiment grandes n' | ||
+ | (il y a une notion de « largeur maximale »), et pour que les entrées minuscules ne deviennent pas | ||
+ | plus petites qu'un minimum spécifié. | ||
+ | |||
+ | Bien sûr, tout ce travail signifie que l' | ||
+ | donc tout ce qui produit des effets de bord (par exemple, un compteur qui serait utilisé | ||
+ | pour compter les lignes) devient inévitablement peu fiable, et ne devrait même pas être essayé. | ||
+ | |||
+ | |||
+ | ==== Avec d' | ||
+ | |||
+ | L' | ||
+ | Lisez bien [[texdoc> | ||
+ | |||
+ | L' | ||
+ | |||
+ | ----- | ||
+ | //Sources :// | ||
+ | * [[faquk> | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | {{htmlmetatags> | ||
+ | metatag-og: | ||
+ | metatag-og: | ||
+ | }} | ||