como desenhar uma linha angular?

como desenhar uma linha angular?

Possível duplicata:
como desenhar uma linha especial em uma imagem

Eu uso o código abaixo para fazer um desenho, porém a linha é reta de s2 a s4 consulte a imagem.insira a descrição da imagem aqui

Porém, quero que a linha tenha um ângulo como a linha vermelha da imagem. Alguém poderia me ajudar como fazer isso?

\usepackage{tikz}
\usetikzlibrary{trees}
\resizebox{.5\textwidth}{!}{
\tikzset{level 1/.style={level distance=0.7cm, sibling distance=3cm}}
\tikzset{level 2/.style={level distance=0.7cm, sibling distance=6cm}}

\tikzset{bag/.style={text centered,yshift=-0.2cm}}
\begin{tikzpicture}[grow=down, -stealth]
\node[bag]{$S_0{:}(B,true,0)$}
    child{ edge from parent node[right]{$\lsInvoke \_ DS$}; \node[bag]{$S_1{:}(R_{good})$}
            child{ edge from parent node[right]{and}; \node[bag]{$S_2{:}(and)$}
                    child[missing]
                    child{ edge from parent node[right=0.1cm]{$[else]$}; \node[bag]{$S_3{:}(A_1)$}
                    }
                    child{ edge from parent node[right=0.9cm]{$[if]$}; \node[bag]{$S_4{:}(R_{good})$}
                    }
            }
    };
\end{tikzpicture}} 

Responder1

não consigo compilar seu código e não tenho nenhuma experiência com árvores, o que parece traçar o caminho para você. isso deve demonstrar o conceito que acho que você está procurando:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (B) at (5,-1);
    \draw (A) -- (B);
    \draw[thick,dashed,red,->] (A) -| (B);
\end{tikzpicture}
\end{document}

que produz:

resultado

a parte mais importante para você aqui é usar -|em vez de --criar o caminho em um sistema de coordenadas retilíneas em vez do padrão. quando usado com draw, em vez de desenhar uma linha reta, desenha os componentes dessa linha.

talvez você possa simplesmente criar coordenadas nomeadas em S_2 e S_4 e sobrepor o caminho retilíneo sobre elas?

informação relacionada