
Posible duplicado:
cómo dibujar una línea especial en una imagen
Utilizo el siguiente código para hacer un dibujo, sin embargo, la línea es recta de s2 a s4, consulte la imagen.
Sin embargo, quiero que la línea tenga un ángulo como la línea roja en la imagen. ¿Alguien podría ayudarme a hacerlo?
\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}}
Respuesta1
No puedo compilar su código y no tengo ninguna experiencia con árboles, lo que parece dibujarle el camino. Sin embargo, esto debería demostrar el concepto que creo que estás buscando:
\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 produce:
La parte más importante para usted aquí es el uso de -|
en lugar de --
para crear la ruta en un sistema de coordenadas rectilíneo en lugar del estándar. cuando se usa con draw, en lugar de dibujar una línea recta, dibuja los componentes de esa línea.
¿Quizás puedas simplemente crear coordenadas con nombre en S_2 y S_4 y superponer la ruta rectilínea sobre ellas?