Skip to main content
code formatting
Source Link
Gonzalo Medina
  • 519.4k
  • 74
  • 1.7k
  • 1.9k

The arrow controlled by "\draw[semithick, dashed, ->] (pe)..controls +(south west: 50) and +(south: 50) .. (re);"

\draw[semithick, dashed, ->] (pe)..controls +(south west: 50) and +(south: 50) .. (re); 

dissects the tree. I want it to curve round the bottom-most node of the tree. I was told that I could not use a Bezier curve to do this, and would have to use a tangent curve. How can I do this?

The arrow controlled by "\draw[semithick, dashed, ->] (pe)..controls +(south west: 50) and +(south: 50) .. (re);" dissects the tree. I want it to curve round the bottom-most node of the tree. I was told that I could not use a Bezier curve to do this, and would have to use a tangent curve. How can I do this?

The arrow controlled by

\draw[semithick, dashed, ->] (pe)..controls +(south west: 50) and +(south: 50) .. (re); 

dissects the tree. I want it to curve round the bottom-most node of the tree. I was told that I could not use a Bezier curve to do this, and would have to use a tangent curve. How can I do this?

edited tags
Link
user65526
  • 845
  • 6
  • 16
added 7245 characters in body
Source Link
user65526
  • 845
  • 6
  • 16

Likewise, I am having the same problems with the following two trees, and would like to prevent the arrows dissecting the trees (as they currently do):

 \documentclass[12pt,a4paper]{article} \usepackage{tikz-qtree} \usepackage{tikz-qtree-compat} \usepackage{ulem} \begin{document} \begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 17ex, scale= 0.5] \Tree [.t [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)} } ] ] [.{\formula{\lambda l'. \exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:} \\ \formula{e \linimp t} \hspace{0.1cm} } [.\node (ne) {$l' : e$}; ] [.{\formula{\exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:} \\ \formula{t} \hspace{0.1cm} } [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)} } ] ] [.{ \formula{\lambda m'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} } [.\node (re) {$m : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} } [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} } [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} } [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y \lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} } ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ] ] ] ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} } [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} } [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} } ] [.\node [circle,draw] (pe) {$m : e$} ; ] ] ] ] ] ] ] ] ] \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue); \draw[semithick, dashed, ->] (me)..controls +(south west:15) and +(south:15) .. (ne); \draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); \draw[semithick, dashed, ->] (pe)..controls +(south west:6) and +(south:6) .. (re); \end{tikzpicture} \end{document} 

And the last tree:

\documentclass[12pt,a4paper]{article} \usepackage{tikz-qtree} \usepackage{tikz-qtree-compat} \usepackage{ulem} \begin{document} \begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 15ex, scale= 0.5] \Tree [.t [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)} } ] ] [.{\formula{\lambda m'. \exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} } [.\node (re) {$m' : e$}; ] [.{\formula{\exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} } [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)} } ] ] [.{ \formula{\lambda l'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} } [.\node (ne) {$l' : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} } [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} } [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} } [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y\lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{e \linimp t)} } ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ] ] ] ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} } [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} } [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} } ] [.\node [circle,draw] (pe) {$m' : e$} ; ] ] ] ] ] ] ] ] ] \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue); \draw[semithick, dashed, ->] (me)..controls +(south west:11) and +(south:11) .. (ne); \draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); \draw[semithick, dashed, ->] (pe)..controls +(south west:6) and +(south:6) .. (re); \end{tikzpicture} \end{document} 

Likewise, I am having the same problems with the following two trees, and would like to prevent the arrows dissecting the trees (as they currently do):

 \documentclass[12pt,a4paper]{article} \usepackage{tikz-qtree} \usepackage{tikz-qtree-compat} \usepackage{ulem} \begin{document} \begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 17ex, scale= 0.5] \Tree [.t [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)} } ] ] [.{\formula{\lambda l'. \exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:} \\ \formula{e \linimp t} \hspace{0.1cm} } [.\node (ne) {$l' : e$}; ] [.{\formula{\exists z [sample' (z)} \\ \formula{\land ]:} \\ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, z)]:} \\ \formula{t} \hspace{0.1cm} } [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)} } ] ] [.{ \formula{\lambda m'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} } [.\node (re) {$m : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} } [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} } [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} } [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y \lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} } ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ] ] ] ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} } [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} } [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} } ] [.\node [circle,draw] (pe) {$m : e$} ; ] ] ] ] ] ] ] ] ] \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue); \draw[semithick, dashed, ->] (me)..controls +(south west:15) and +(south:15) .. (ne); \draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); \draw[semithick, dashed, ->] (pe)..controls +(south west:6) and +(south:6) .. (re); \end{tikzpicture} \end{document} 

And the last tree:

\documentclass[12pt,a4paper]{article} \usepackage{tikz-qtree} \usepackage{tikz-qtree-compat} \usepackage{ulem} \begin{document} \begin{tikzpicture}[baseline=(current bounding box.center), every tree node/.style={align=center,anchor=north}, level distance = 15ex, scale= 0.5] \Tree [.t [.{\formula{\lambda Q. \exists z [sample' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. sample'(d):} \\ \formula{(e \linimp t)} } ] ] [.{\formula{\lambda m'. \exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} } [.\node (re) {$m' : e$}; ] [.{\formula{\exists z [company' (z)} \\ \formula{\land \forall x [R.of(x,z)} \\ \formula{\rightarrow Saw(x, m')]]:} \\ \formula{t} \hspace{0.1cm} } [.{\formula{\lambda Q. \exists z [company' (z)} \\ \formula{\land Q(z)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} \hspace{0.1cm} } [.{\formula{\lambda P.\lambda Q. \exists z [P(z)} \\ \formula{\land Q(z)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))} } ] [.{ \formula{\lambda d. company'(d):} \\ \formula{(e \linimp t)} } ] ] [.{ \formula{\lambda l'. \forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{e \linimp t} } [.\node (ne) {$l' : e$}; ] [.{ \formula{\forall x [R.of(x,l')} \\ \formula{\rightarrow Saw(x, m')]:} \\ \formula{t} } [.{ \formula{\lambda Q. \forall x [R.of(x,l')} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} [.{ \formula{\lambda P. \lambda Q. \forall x [P (x)} \\ \formula{\rightarrow Q(x)]:} \\ \formula{(e \linimp t)\linimp} \\ \formula{(\forall X(e \linimp X)} \\ \formula{\linimp X))}} ] [.{\formula{\lambda n'. R.of(n',l'):} \\ \formula{e \linimp t} } [.\node (ue) {$n' : e$}; ] [.{\formula{R.of(n',l'):} \\ \formula{t} } [.\node [circle,draw] (le) {$n' : e$} ; ] [.{\formula{\lambda x. R.of(x,l'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y\lambda x. R.of(x,y):} \\ \formula{(e \linimp} \\ \formula{e \linimp t)} } ] [. \formula{l : e} [.{\formula{\lambda x_e. x_e:} \\ \formula{(e \linimp e)} } ] [.\node [circle,draw] (me) {$l' : e$} ; ] ] ] ] ] ] [.{\formula{\lambda k'. saw(k',m'):} \\ \formula{e \linimp t} } [.\node (te) {$k' : e$}; ] [.{\formula{saw(k',m'):} \\ \formula{t} } [.\node [circle,draw] (se) {$k' : e$} ; ] [.{\formula{\lambda x. saw(x,m'):} \\ \formula{(e \linimp t)} } [.{\formula{\lambda y\lambda x. saw(x,y):} \\ \formula{(e \linimp} \\ \formula{(e \linimp t)} } ] [.\node [circle,draw] (pe) {$m' : e$} ; ] ] ] ] ] ] ] ] ] \draw[semithick, dashed, ->] (le)..controls +(south west:1) and +(south:1) .. (ue); \draw[semithick, dashed, ->] (me)..controls +(south west:11) and +(south:11) .. (ne); \draw[semithick, dashed, ->] (se)..controls +(south west:1) and +(south:1) .. (te); \draw[semithick, dashed, ->] (pe)..controls +(south west:6) and +(south:6) .. (re); \end{tikzpicture} \end{document} 
Source Link
user65526
  • 845
  • 6
  • 16
Loading