Dans l'ECM suivant, qui est un arbre de choix réalisé avec TikZ, je constate que la cellule contenant le mot « hippopotame », dont les lettres comprennent hampes et jambages, est plus haute que la cellule contenant le mot « cane », lequel est dépourvu de hampes et de jambages.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
[level distance=15mm,
every node/.style={fill=red!10, rectangle, rounded corners, inner sep=4pt},
level 1/.style={sibling distance=25mm},
edge from parent path=
{(\tikzparentnode.south) .. controls +(0,-1) and +(0,1)
.. (\tikzchildnode.north)}]
\node {choix}
  child {node {hippopotame}}
  child {node {cane}}
  ;
\end{tikzpicture}
\end{document}

Comment faire pour que toutes les cellules aient la même hauteur ?

Posée 07 Sep '18, 00:09

Pathe's gravatar image

Pathe ♦♦
7.5k42203251
Taux d'acceptation : 55%

Modifiée 07 Sep '18, 00:10

Vous pouvez ajouter l'option minimum height=1cm à la configuration de style every node ou seulement pour level 1 comme vous voulez. Il y a aussi l'option minimum width.

(07 Sep '18, 00:20) touhami touhami's gravatar image

La solution est d'utiliser l'option minimum height=H. Ici, il y a deux possibilités :

every node/.style={fill=red!10, rectangle, rounded corners, inner sep=4pt,minimum height=1cm} pour régler la hauteur de tous les nœuds ou level 1/.style={sibling distance=25mm, minimum height=1cm} pour les nœuds enfants.

Notons qu'il existe deux autres options minimum width et minimum size.

  • minimum width=L pour imposer une largeur minimum L (+ séparation).

  • minimum size=S est équivalente à minimum width=S,minimum height=S.

Lien permanent

Publiée 07 Sep '18, 11:14

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

La solution fonctionne.

Je trouve néanmoins regrettable que les paramètres de taille d'une cellule soient indépendants du corps de la police du texte qu'elle contient.

Par exemple, si j'ai une cellule contenant un texte avec hampes et jambages et une autre contenant un texte obéissant à la contrainte du prisonnier et que je décide subitement d'augmenter grandement le corps desdits textes, la première cellule verra sa hauteur augmenter pour intégrer hampes et jambages alors que la seconde aura une hauteur moindre. Les deux auront pourtant fidèlement respecté le paramètre de hauteur minimale.

Il faudrait donc un paramètre de taille relatif au corps utilisé.

(11 Sep '18, 21:49) Pathe ♦♦ Pathe's gravatar image

Le plus simple est de utiliser l'extension calc, et ajouter, après \begin{document} les commandes suivantes \newlength\minH \settototalheight{\minH}{<Contenu le plus grande taille>} puis utiliser l'option minimum height=\minH. Ce n'est pas 100% automatique, si vous voulez qu'il soit il faut définir votre propre environnement.

(11 Sep '18, 23:45) touhami touhami's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.