2010-07-02 18 views
3

J'utilise TikX avec LaTeX pour dessiner un schéma technique. J'essaie de dessiner un polygone irrégulier autour d'un groupe de nœuds nommés dans un arbre. Je suis devenu aussi loin queCodage TikZ: Comment créer un espace entre le polygone et les nœuds qu'il entoure?

\draw [rounded corners, thick] 
    (node cs:name=add,anchor=north) -- 
    (node cs:name=cvc,anchor=west) -- 
    (node cs:name=addrc,angle=200) -- 
    (node cs:name=addrc,angle=-20) -- 
    (node cs:name=cnst,anchor=east) -- 
    cycle; 

Mais le polygone est trop près des nœuds. Comment puis-je agrandir le polygone ou spécifier de meilleures coordonnées pour obtenir un diagramme où il y a une certaine séparation entre le polygone et les nœuds qu'il entoure?

Répondre

3

Une astuce que vous pouvez essayer consiste à créer un nouveau "faux" nœud invisible dans les mêmes emplacements que les nœuds d'origine. Vous pouvez ensuite jouer avec la propriété outer sep=10pt pour ces nœuds. (Ceci évite ces changements affectant le reste de l'image). Dessinez ensuite votre polygone autour de ces noeuds "faux" plus grands. (peut-être de plus en plus la rotondité aidera? rounded corners=20pt)

Parfois, il est également utile de transformer manuellement des points

\usetikzlibrary{calc} 
($(node cs:name=d,anchor=north)+(-10pt,+5pt)$) 
+0

Deux bonnes astuces dans une réponse! Est la deuxième syntaxe '($ ... $)' pour un point dans une commande 'draw'? (Je suis tout nouveau à TikZ et bien que je l'aime, le manuel de 500 pages est décourageant.) –

+2

La syntaxe '($ $)' peut être utilisée pour n'importe quelle coordonnée. Cependant, je pense qu'il est probablement préférable de ne pas trop l'utiliser et de le réserver lorsque vous avez vraiment besoin de pousser quelque chose. D'autres exemples sont dans la section "12.4 Calculs de coordonnées" du manuel de Tikz 2.0. Au cas où vous ne le sauriez pas, vous pouvez fréquemment trouver quelque chose de proche de ce que vous voulez sur http://www.texample.net/tikz/examples/ puis le mettre en forme. –

+0

Le contrôle fin de '($ ... $)' est parfait. Merci bien. –