2010-01-28 4 views
2

J'ai une image tikz avec un nœud de cercle qui a un numéro à l'intérieur. Je veux que ce nombre change avec les diapositives mais qu'il soit de taille fixe. (-> ne pas gâcher le cercle).Comment avoir un nombre de taille fixe qui dépend de la diapositive dans le beamer de latex/tikz?

Celui-ci ne fonctionne pas, le cercle devient aussi gros que s'il devait contenir les 3 nombres.

\tikz[baseline] 
\node [fill=blue!20,draw,circle,anchor=base] (node1) 
{ 
    \only<1-3>{3} \only<4-6>{8} \only<7->{11.5} 
}; 

Ici, les valeurs sont 3 sur des lames 1-3, 8 sur les diapositives 4-6 et d'autre 7.

Répondre

2

J'observé ce qui suit:

  • Les espaces entre \ {} ne sont toujours rendus (\ que, lorsqu'ils ne sont pas actifs, est un "caractère zéro largeur"; TeX ne supprime pas les espaces entre les caractères)
  • Définissez la largeur du texte explicitement en utilisant "text width = ...". Ceci met implicitement le contenu dans une minipage.
  • Notez que la propriété "baseline" ne fonctionne plus comme prévu. "Text-centered" assure l'alignement pour le cas où le contenu n'est pas exactement "text-width"
  • L'environnement de "surimpression" détermine seulement automatiquement la hauteur du contenu, pas la largeur.

Pour conclure, cela fonctionne pour moi (je l'ai essayé):

\tikz[baseline] 
\node [fill=blue!20,draw,circle,anchor=base,text width=4ex,text centered,inner sep=0] (node1) 
{ 
    \only<1-3>{3}\only<4-6>{8}\only<7->{11.5} 
}; 

EDIT: Cela fonctionne avec la ligne de base correcte:

\tikz[baseline=(node1.base)] 
    \node [fill=blue!20,draw,circle] (node1) 
    { 
     \begin{minipage}{4ex} 
      \centering 
      \only<1-3>{3}\only<4-6>{8}\only<7->{11.5} 
     \end{minipage} 
    }; 
+0

grand, je vous remercie! =) – abenthy

1

Il y a deux façons de le faire:

  • Vous pourriez utiliser un environnement «overlay» qui calcule la taille maximale requise.
  • Vous pouvez utiliser \ makebox [largeur] {}.
  • Ou simplement utiliser les options 'largeur minimale' et 'hauteur minimale' sur le noeud.
  • ...
Questions connexes