Hola a todos, estoy haciendo un árbol de juegos simple usando tikz, ya casi lo termino pero necesito algunos retoques finales para que quede bien. Este es el código hasta ahora.
\hspace{.1in}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node(11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_2 \)}
child{node{\( \begin{pmatrix}
\Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_3 \)}
child{node{\( \begin{pmatrix}
\Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}
};
\draw[dashed](11-1)to(11-3);
\draw[dashed](12-1)to(12-3);
\end{tikzpicture}
Lo que me gustaría hacer es mover los nodos q_1 para que no estén en la línea discontinua. También me gustaría un arco descendente entre 0 e infinito que vaya desde el centro de la rama. (Entonces, no desde los nodos sino a medio camino entre ellos) Es para simbolizar que los valores de q pueden ser cualquier valor entre 0 e infinito. Espero que mi pregunta tenga sentido; si no, no dudes en preguntar :-)
Mirando hacia adelante a sus respuestas
Saludos Steffen
Respuesta1
¿Sería esta una de sus posibles soluciones donde, en cambio, la solución mueve un poco la línea discontinua hacia arriba para que q_1 no esté en la línea discontinua, lo que muestra lo que desea?
Código
\documentclass[border=10pt]{standalone}%{article}
\usepackage{tikz}
\usetikzlibrary{arrows,trees,positioning,calc}
\begin{document}
\hspace{.1in}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node[](11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_2 \)}
child{node{\(\begin{pmatrix}
\Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_3 \)}
child{node{\( \begin{pmatrix}
\Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}
};
\draw[dashed]([yshift=4ex]$(11-1)!0.55!(21)$) to[bend right] ([yshift=4ex]$(21)!0.5!(11-3)$);
\draw[dashed]([yshift=4ex]$(12-1)!0.55!(22)$) to[bend right]([yshift=4ex]$(22)!0.5!(12-3)$);
\end{tikzpicture}
\end{document}
Respuesta2
Otro ejemplo de uso de lajuegopaquete (versión 2.0):
\documentclass{standalone}
\usepackage{istgame}
\begin{document}
\begin{istgame}[semithick]
\tikzset{oval node/.style={box node,draw=none,minimum size=5mm}}
\cntmdistance*{20mm}{25mm}
\istrooto(0)[plain node]{Firm 1}+15mm..50mm+
\istb \istb \endist
\setistmathTF111
\cntmApreset[dashed,thick]{.6}
\istrootocntmA(E2)(0-1){E_2} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrootocntmA(E3)(0-2){E_3} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrootocntmA(11)(E2-1){q_1} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrootocntmA(21)(E3-1){q_1} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrooto(3a)(11-1){q_2} \istb[thin] \endist
\xtNode*(3a-1){\big(\prod\big)_1^{c_2}\prod_2^c\prod_3^m}
\istrooto(3b)(21-1){q_3} \istb[thin] \endist
\xtNode*(3b-1){\big(\prod\big)_1^{c_3}\prod_2^m\prod_3^c}
\end{istgame}
\end{document}
Respuesta3
Esta solución no es muy bonita (deberías usar la de Jesse en su lugar), ya que aumenta el espacio debajo de la línea discontinua, pero es muy fácil de hacer.
% arara: pdflatex
\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz}
\begin{document}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node(11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\raisebox{15pt}{$q_1$}}
child{node{\( 0 \)}}
child{node{\( q_2 \)}
child{node{\(\begin{pmatrix}\Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}\end{pmatrix}\)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\raisebox{15pt}{$q_1$}}
child{node{\( 0 \)}}
child{node{\( q_3 \)}
child{node{\(\begin{pmatrix}\Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}\end{pmatrix}\)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}
};
\draw[dashed](11-1)to(11-3);
\draw[dashed](12-1)to(12-3);
\end{tikzpicture}
\end{document}