2017-07-21 2 views
3

Je suis nouveau sur l'utilisation du paquet latex Tikz, et j'essaye d'écrire un tableau. Mon problème est de créer suffisamment d'espace entre les frères et sœurs pour que je puisse mettre une étiquette au centre. C'est ce que j'ai fait. Je voudrais éviter autant que possible l'espacement manuel, donc je cherche une solution générale.Centre automatiquement l'étiquette entre les nœuds Tikz

\begin{tikzpicture}[auto, node distance=1.3cm] 


\node (A) {$X^1$}; 
\node (B) [below of=A] {$X^2$}; 
\node (C) [below of=B] {$X^3$}; 
\node (D) [below of=C] {$X^4$}; 
\node (E) [below of=D] {$X^5$}; 
\node (F) [label={[label distance=-1cm] \color{green}{Complete}}, below left of=E,left=1cm] {$X^6$}; 
\node (G) [below right of=E, right=1cm] {$X^7$}; 
\node (H) [below left of=G,left=1cm] {$X^8$}; 
\node (I) [label={[label distance=-1cm] \color{red}{Closed}}, below right of=G, right=1cm] {$X^9$}; 
\node (L) [label={[label distance=-1cm] \color{red}{Closed}}, below of=H] {$X^{10}$}; 


\path (A) edge (B); 
\path (B) edge (C); 
\path (C) edge (D); 
\path (D) edge (E); 
\path (E) edge node [below=0.3cm, right=0.4cm]{PB-Rule} (F) 
     edge (G); 
    \path (G) edge node [below=0.3cm, right=0.4cm] {PB-Rule} (H) 
     edge (I);   
\path (H) edge node {E-Rule} (L); 

\end{tikzpicture} 

Une suggestion?

+0

Si je comprends bien, vous souhaitez vous débarrasser de ces espacements manuelles: '[ci-dessous = 0,3 cm, droite = 0.4cm]'? – pchaigno

Répondre

2

Pour placer l'étiquette entre frères et sœurs, vous pouvez utiliser la syntaxe !0.5!:

\begin{tikzpicture}[auto, node distance=1.3cm] 
    \node (A) {$X^1$}; 
    \node (B) [below of=A] {$X^2$}; 
    \node (C) [below of=B] {$X^3$}; 
    \node (D) [below of=C] {$X^4$}; 
    \node (E) [below of=D] {$X^5$}; 
    \node (F) [label={[label distance=-1cm] \color{green}{Complete}}, below left of=E,left=1cm] {$X^6$}; 
    \node (G) [below right of=E, right=1cm] {$X^7$}; 
    \node (H) [below left of=G,left=1cm] {$X^8$}; 
    \node (I) [label={[label distance=-1cm] \color{red}{Closed}}, below right of=G, right=1cm] {$X^9$}; 
    \node (L) [label={[label distance=-1cm] \color{red}{Closed}}, below of=H] {$X^{10}$}; 

    \node (label1) at ($(F)!0.5!(G)$) {PB-Rule}; 
    \node (label2) at ($(H)!0.5!(I)$) {PB-Rule}; 

    \path (A) edge (B); 
    \path (B) edge (C); 
    \path (C) edge (D); 
    \path (D) edge (E); 
    \path (E) edge (F); 
    \path (E) edge (G); 
    \path (G) edge (H); 
    \path (G) edge (I); 
    \path (H) edge node {E-Rule} (L); 
\end{tikzpicture} 

Remarque: vous aurez besoin du calc bibliothèque tikz pour cette syntaxe.

enter image description here