근무처:조판 의존성 문법 트리 불연속적인 구성 요소나는 두 개의 불연속성을 갖는 그래프를 설정하려고 합니다.
첫 번째 그림은 내가 원하는 것을 수행합니다. 이는 사양 nacc
에 따라 다른 N과 정렬되었으며 tier
두 번째 N은 V-ptr의 하위 N이므로 V-ptr보다 낮습니다. 두 번째 그림에서 에 해당하는 N은 ich
기술적으로 최상위 V의 하위이므로 V-ptr보다 낮지 않습니다. 두 개의 N 또는 V-ptr 아래의 계층을 얻을 수 있는 방법(팬텀 없이)이 있습니까?
\documentclass{article}
\usepackage{forest}
\forestset{
dg edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=bottom,where n children=0{tier=word,edge=dotted,calign with current edge}{}}},
}
\begin{document}
\begin{forest}
dg edges
[V
[ N,name=nacc,no edge,tier=mytier, [wen\\who] ]
[glaubst\\believes]
[N [du\\you] ]
[Subjunction
[dass\\that]
[V-fin
[V-prt, name=vprt
[N,tier=mytier, [ich\\I ] ]
[gesehen\\seen] ]
[habe\\have] ] ] ]
\draw (vprt.south)--(nacc.north);
\end{forest}
\begin{forest}
dg edges
[V
[N,name=nacc,no edge,tier=mytier, [wen\\who] ]
[glaubst\\believes]
[N,name=nich,no edge,tier=mytier, [ich\\I ] ]
[N [du\\you] ]
[Subjunction
[dass\\that]
[V-fin
[V-prt, name=vprt
[gesehen\\seen] ]
[habe\\have] ] ] ]
\draw (vprt.south)--(nacc.north);
\draw (vprt.south)--(nich.north);
\end{forest}
\end{document}
편집하다:내가 원하는 것을 달성하는 한 가지 방법은 의 유령 딸을 사용하여 V-ptr
계층과 결합하는 것입니다.
\documentclass{article}
\usepackage{forest}
\forestset{
dg edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=bottom,where n children=0{tier=word,edge=dotted,calign with current edge}{}}},
}
\begin{document}
\begin{forest}
dg edges
[V
[N,name=nacc,no edge,tier=mytier, [wen\\who] ]
[glaubst\\believes]
[N,name=nich,no edge,tier=mytier, [ich\\I ] ]
[N [du\\you] ]
[Subjunction
[dass\\that]
[V-fin
[V-prt, name=vprt
[down,phantom,tier=mytier]
[gesehen\\seen] ]
[habe\\have] ] ] ]
\draw (vprt.south)--(nacc.north);
\draw (vprt.south)--(nich.north);
\end{forest}
\end{document}
tikz
하지만 노드가 다른 노드 아래에 있어야 함을 지정하는 것, 즉 트리에 없는 지배 관계를 직접 표현하는 구문을 사용하는 것이 가능할 것이라고 생각했습니다 .
답변1
이 솔루션은 노드를 사용하며 Stefan이 이를 원하지 않는다는 것을 알고 있지만 이것이 존재하지 않는 경우 첫 번째 수준 하위 항목을 다섯 번째 수준 하위 항목과 phantom
정렬( )하는 방법을 모르겠습니다 . tier
첫 번째 예에는 참조 노드가 있었지만 두 번째 예에는 없습니다. 물론 더 나은 솔루션이 필요합니다.
\documentclass{article}
\usepackage{forest}
\forestset{
dg edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=bottom,where n children=0{tier=word,edge=dotted,calign with current edge}{}}},
}
\begin{document}
\begin{forest}
dg edges
[V
[N,name=nacc,no edge,tier=mytier, [wen\\who] ]
[glaubst\\believes]
[N,name=nich,no edge,tier=mytier, [ich\\I ] ]
[N [du\\you] ]
[Subjunction
[dass\\that]
[V-fin
[V-prt, name=vprt
[A, phantom, tier=mytier, [gesehen\\seen, name=seen] ]]
[habe\\have] ] ] ]
\draw[dotted] (vprt.south)--(seen.north);
\draw (vprt.south)--(nacc.north);
\draw (vprt.south)--(nich.north);
\end{forest}
\end{document}
두 번째 버전
이전 버전에서는 예상한 대로 결과가 나왔지만 phantom
노드를 상위 노드로 배치하면 [gesehen\\seen]
약간의 불편함이 있었습니다. 노드 와 정렬되어 있더라도 phantom
노드가 형제 이면 더 쉽습니다 . 팬텀 노드는 수직 공간을 차지하지 않으며 가장자리를 다시 그릴 필요가 없습니다 . 이 솔루션은 Stefan Müller가 제안했습니다.[gesehen\\seen]'s
N
[gesehen\\seen]
\begin{forest}
dg edges
[V
[N,name=nacc,no edge,tier=mytier, [wen\\who] ]
[glaubst\\believes]
[N,name=nich,no edge,tier=mytier, [ich\\I ] ]
[N [du\\you] ]
[Subjunction
[dass\\that]
[V-fin
[V-prt, name=vprt
[A, phantom, tier=mytier]
[gesehen\\seen] ]
[habe\\have] ] ] ]
\draw (vprt.south)--(nacc.north);
\draw (vprt.south)--(nich.north);
\end{forest}
두 코드 모두 다음과 같은 결과를 낳습니다.
답변2
나는 그 질문을 완전히 이해하고 있는지 확신하지 못합니다. 즉, 왜 피하고 싶은지 잘 모르겠 phantom
으므로 수용 가능한 답변의 기준은 무엇입니까? 그러나 다음은 방지합니다 phantom
. 그것이 당신이 똑같이 불쾌하다고 생각하는 일을 하는지 여부는 잘 모르겠습니다;).
\documentclass[border=5pt]{standalone}
\usepackage{forest}
\forestset{
dg edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=bottom,where n children=0{tier=word,edge=dotted,calign with current edge}{}}},
}
\begin{document}
\begin{forest}
dg edges
[V
[N,name=nacc,no edge,tier=mytier, l*=5.5, [wen\\who] ]
[glaubst\\believes]
[N,name=nich,no edge,tier=mytier, [ich\\I ] ]
[N [du\\you] ]
[Subjunction
[dass\\that]
[V-fin
[V-prt, name=vprt
[gesehen\\seen]
]
[habe\\have]
]
]
]
\draw (vprt.south)--(nacc.north);
\draw (vprt.south)--(nich.north);
\end{forest}
\end{document}