tikz 在错误的位置画线(其定义上方 2 页)

tikz 在错误的位置画线(其定义上方 2 页)

我正在尝试让 tikz 在使用该avm包定义的属性值矩阵内的节点之间画一条线。为此,我\tikzmark按照此处答案中的描述使用:tree-dvips 语言学文档的替代方法,使用 pdftex

奇怪的是,这对下面的 AVM 不起作用。无论出于什么原因,这条线都画在其定义上方两页。从 MWE 中应该可以明显看出,我想将整个SUBJAVM 与单词“apna”联系起来。有人有想法吗?

编辑#1:我稍微修改了 MWE 并删除了不必要的包。奇怪的是,如果我在单独的文件中编译代码,它会在正确的位置绘制线条,但在较大的文档中,线条出现在其定义上方两页。是什么导致了这种行为?

编辑#2:@JohnKormylo 谢谢!现在我在图中定义了线条,线条画得非常好。不知道为什么 a) 首先这会产生任何影响,以及 b) 如果我将代码放在单独的文档中,为什么我不需要注意这一点。

编辑#3:一个(次要的)后续问题:如何让线条在类型高度处连接?在上面的例子中,线条连接到单词“apna”的右下角,而不是右中角。

\documentclass{scrartcl}
\usepackage{avm}
\usepackage{tikz}
\usetikzlibrary{tikzmark,positioning}
\usepackage{tikz-qtree}

\begin{document}

\begin{figure}[h!]
\centering
\begin{avm}
\[ PRED & `gari$<$($\uparrow$~SUBJ)$>$'\\
SUBJ & \[ PRED & `nina'\\
CASE & gen\\
GEND & fem\\
PERS & 3\\
NUM & sg\\
CHECK & \[
NMORPH & obl\\
\]
\]\tikzmark{ante3}\\
ADJUNCT & \{ \[ PRED & `apna'\tikzmark{ana3}\\
GEND & fem\\
NUM & sg\\
CHECK & \[
NMORPH & nom\\
\]\\
ATYPE & reflexive\\
\]
\}\\
CASE & nom\\
GEND & fem\\
PERS & 3\\
NUM & sg\\
NTYPE & common\\
CHECK & \[
NMORPH & nom\\
\]
\]
\end{avm}
\caption{NP f-structure, common noun head, reflexive binding}
\label{fs-poss-bind-ex-3}
\end{figure}

\tikz[remember picture,overlay] 
    \draw[-] (pic cs:ante3) to[out=0,in=0,looseness=2]  (pic cs:ana3);

\end{document}

答案1

按照要求:

\documentclass{scrartcl}
\usepackage{avm}
\usepackage{tikz}
\usetikzlibrary{tikzmark,positioning}
\usepackage{tikz-qtree}

\begin{document}

\begin{figure}[h!]
\centering
\begin{avm}
\[ PRED & `gari$<$($\uparrow$~SUBJ)$>$'\\
SUBJ & \[ PRED & `nina'\\
CASE & gen\\
GEND & fem\\
PERS & 3\\
NUM & sg\\
CHECK & \[
NMORPH & obl\\
\]
\]\tikzmark{ante3}\\
ADJUNCT & \{ \[ PRED & `apna'\tikzmark{ana3}\\
GEND & fem\\
NUM & sg\\
CHECK & \[
NMORPH & nom\\
\]\\
ATYPE & reflexive\\
\]
\}\\
CASE & nom\\
GEND & fem\\
PERS & 3\\
NUM & sg\\
NTYPE & common\\
CHECK & \[
NMORPH & nom\\
\]
\]
\end{avm}
\caption{NP f-structure, common noun head, reflexive binding}
\label{fs-poss-bind-ex-3}
%
\tikz[remember picture,overlay] 
    \draw[-] (pic cs:ante3) to[out=0,in=0,looseness=2]  (pic cs:ana3);
\end{figure}

\end{document}

桌子

相关内容