Connaître la largeur minimale d'une colonne de tableau

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.

Connaître la largeur minimale d'une colonne de tableau

Messagepar jobonne » Vendredi 31 Août 2018, 09:37

Bonjour,

Avec le package multirow on peut faire ce tableau dont les largeurs de colonnes sont calculées automatiquement:

Code: Tout sélectionner
\begin{tabular}{|l|l|}
\hline
azert&\multirow{2}{*}{azer}\\
azerty&\\\hline
\end{tabular}


Je souhaiterais faire quelque chose de semblable sans ce package mais avec la commande \parbox:

Code: Tout sélectionner
\begin{tabular}{|l|l|}
\hline
\parbox{1cm}{azert\\azerty}&azer\\\hline
\end{tabular}


Pour utiliser cette commande \parbox, je suis obligé d'introduire une largeur (ici 1cm) en tâtonnant pour obtenir à peu près les mêmes largeurs que j'avais dans le tableau réalisé avec le package multirow. Y a t il moyen de remplacer ce tâtonnement par une commande qui calcule automatiquement la largeur minimale de cette colonne créée par la commande \parbox?
Corollaire: comment connaître la valeur de la largeur d'une colonne d'un tableau?

Merci!
jobonne
Déca-utilisateur
 
Messages: 40
Inscription: Vendredi 22 Novembre 2013, 12:31
Localisation: Bruxelles
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: connaître la largeur minimale d'une colonne de tableau

Messagepar touhami » Vendredi 31 Août 2018, 10:36

Bonjour.
jobonne a écrit:Bonjour,

Avec le package multirow on peut faire ce tableau dont les largeurs de colonnes sont calculées automatiquement:

Ce n'est pas exact. Essayer
Code: Tout sélectionner
\begin{tabular}{|l|l|}
\hline
x&y\\
\hline
azert&\multirow{2}{*}{azer foo foo bla bla}\\
azerty&\\\hline
\end{tabular}

jobonne a écrit:Je souhaiterais faire quelque chose de semblable sans ce package mais avec la commande \parbox:

L'extension tabularx pourrait vous être utile.
touhami
Méga-utilisateur
 
Messages: 407
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: connaître la largeur minimale d'une colonne de tableau

Messagepar balf » Vendredi 31 Août 2018, 11:08

Si vous savez où vous voulez couper les lignes, l'extension makecell définit la commande éponyme \makecell, et quelques autres dont \multirowcell, qui permettent d'avoir des passages à la ligne dans des cellules standard (l, c et r):

Code: Tout sélectionner
\begin{tabular}{|l|l|}
\hline
azert & \multirowcell{2}{azer \\ razer} \\
azerty & \\
\hline
\end{tabular}

Noter qu'on n'a pas besoin de {*}, et que par défaut, le contenu est centré horizontalement et verticalement, mais cela peut se changer avec un argument optionnel : par exemple \makecell[lt]{...} voit son contenu aligné à gauche et en haut. Autre fonctionnalité : on peut avoit un formatage commun.

B. A.
balf
Zetta-utilisateur
 
Messages: 3782
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: connaître la largeur minimale d'une colonne de tableau

Messagepar jobonne » Samedi 01 Septembre 2018, 06:54

Merci. Cependant j'essaye d'éviter l'extension makecell ayant déjà eu des soucis d'incompatibilité avec d'autres extensions.
jobonne
Déca-utilisateur
 
Messages: 40
Inscription: Vendredi 22 Novembre 2013, 12:31
Localisation: Bruxelles
Statut actuel: Actif et salarié | Enseignant

Re: connaître la largeur minimale d'une colonne de tableau

Messagepar balf » Samedi 01 Septembre 2018, 10:34

Ce serait un usage détourné, mais il y a aussi l'extension eqparbox. Le principe est le suivant : les command de « boîtes » usuelles existent en version eqparbox ( \eqparbox, \eqmakebox, \eqframebox et l'environnement eqminipage. La différence est que l'argument de largeurest remplacé par un système de tags (je ne sais pas traduire) et des boîtes qui utilisent le même tag ont la largeur de celle qui a la plus grande largeur « naturelle », d'où ce code (2 compilations sont nécessaires):
Code: Tout sélectionner
\begin{tabular}{|l|l|}
\hline
azert & \multirow{2}{*}{\eqparbox{T}{azer \\ razer}} \\
azerty & \\
\hline
\end{tabular}

Cela dit, j'aimerais bien avoir un exemple des problèmes que vous avez pu rencontrer avec makecell. Les seules difficultés que je connaisse sont liées à l'usage de l'extension colortbl.

B. A.
balf
Zetta-utilisateur
 
Messages: 3782
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Connaître la largeur minimale d'une colonne de tableau

Messagepar jobonne » Lundi 03 Septembre 2018, 08:26

Merci, ce que vous m'envoyez correspond à ce que je cherchais. Le "tag" peut même être réduit à sa plus simple expression:{}

Code: Tout sélectionner
\begin{tabular}{|l|l|}
\hline
azert & \eqparbox{}{\vspace{1mm} azer \\ razer\vspace{1mm}} \\
\hline
\end{tabular}


Dès que je retrouve un exemple de difficulté rencontrée avec makecell, je vous en fais part.
jobonne
Déca-utilisateur
 
Messages: 40
Inscription: Vendredi 22 Novembre 2013, 12:31
Localisation: Bruxelles
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Grapeshot [Crawler] et 3 invités