在页面上的任意单词之间绘制线条

在页面上的任意单词之间绘制线条

我尝试摆脱 tree-dvips,并寻找一种方法来执行以下操作:圈出页面上的任意单词,然后从页面上的其他位置向这个圈出的单词绘制一个箭头。在 tree-dvips 中,只需将单词声明为节点,然后使用连接指令即可。我猜这可以用 pgf 以某种方式完成,但节点似乎需要在坐标系中的位置。

这是 tree-dvips 代码:

\documentclass{scrbook}

\usepackage{tree-dvips}


\begin{document}

\begin{tabular}{lllllll}
\node{bazas}{bāz-a\v{s}} & agar & mi-xāh-i                       & fardâ    & \node{blk1}{} & bo-kon-i\\
open-\textsc{3sg}        & if   & \textsc{ipf}-want-\textsc{2sg} & tomorrow & {}                & \textsc{sbj}-do-\textsc{2sg}\\
\end{tabular}\\[2ex]
`If you want to open it tomorrow \ldots'
{\makedash{1pt} \nodeoval{bazas} \abarnodeconnect[-18pt]{blk1}{bazas}}



\end{document}

答案1

运行它xelatex

\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{pst-node}

\begin{document}

\begin{tabular}{lllllll}
\ovalnode[linestyle=dashed]{bazas}{bāz-a\v{s}} & agar & mi-xāh-i  & fardâ  
   & \rnode{blk1}{~} & bo-kon-i\\
open-\textsc{3sg}        & if   & \textsc{ipf}-want-\textsc{2sg} & tomorrow & {}                  
   & \textsc{sbj}-do-\textsc{2sg}\\
\end{tabular}\\[2ex]
`If you want to open it tomorrow \ldots'
\ncbar[linestyle=dashed,arrows=->,angle=-90,arm=20pt]{blk1}{bazas}

\end{document}

在此处输入图片描述

答案2

加法: 解决方案如下tikz

\documentclass{scrbook}

\usepackage{tikz}
\usetikzlibrary{shapes.geometric}

\begin{document}

\begin{tabular}{lllllll}
\tikz[remember picture,baseline]\node[anchor=base,ellipse,draw](bazas){baz-a\v{s}};
& agar
& mi-xah-i
& fardâ
% & \node{blk1}{}
& \tikz[remember picture,overlay]
    \draw[->,dashed] (0,0) -- ++(0pt,-4.75ex) coordinate(tmp1)
    -- (bazas |- tmp1) -- (bazas |- tmp1) -- (bazas);
& bo-kon-i
\\
open-\textsc{3sg}
& if
& \textsc{ipf}-want-\textsc{2sg}
& tomorrow & {}
& \textsc{sbj}-do-\textsc{2sg}\\
\end{tabular}\\[2ex]
`If you want to open it tomorrow \ldots'

\end{document}

tikz 的结果

相关内容