
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.
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:
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?