完全被 xypic \newdir 难住了 — — 只是结合了 xyguide 中的例子!

完全被 xypic \newdir 难住了 — — 只是结合了 xyguide 中的例子!

我想使用箭头和/或箭头尾部几乎是三角形的箭头:大致类似A ———▷ BA ▷——> B。对于头部,有一个很好的解决方案引导

\newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}}

现在A \to/@{-|>}/ B按预期工作。尝试将其用作尾巴会遇到一个众所周知的问题,该问题在指南的同一页的下方进行了描述:“通常用作“尾巴”的笔尖的墨水位于放置点的错误一侧”,因此它们位于太靠后的位置并撞到它们后面的字母,给出类似A▷——> B。幸运的是,指南中有一个关于如何解决这个问题的练习,给出了解决方案

\newdir{ >}{{}*!/-5pt/@{>}}

未经修改,效果很好,例如A >——> B。不幸的是,修改

\newdir{ |>}{{}*!/-5pt/@{|>}}

没有产生预期的结果:A \to/@{ |>->}/ B给出类似于A▷ ——>B,尾部被拉动的结果后退从轴上摔下来,然后进一步撞向它后面的字母!

将 改为-5pt不同的长度(改为5pt、 或0pt或 )50pt不会对结果产生影响。此处的其他修饰符按我预期的方式工作;例如,\newdir{ |>}{{}*:(1,1)@{|>}}旋转三角形。但是!/-5pt/,据我所知, 应该会移动参考点,并且似乎在指南中的练习中可以很好地完成这一点,但在本例中似乎没有按预期工作。我完全不知所措。到底是怎么回事?

答案1

我不是 XY 专家,但我思考它与分组有关。进行一些实验后,距离修饰符似乎仅应用于组合中的当前对象,而不是递归应用。此外,它被箭头定义中的距离修饰符取消了。我不知道是否可以解决这个问题,但“从头开始”定义调整后的箭头似乎可行。例如:

\newdir{ |>}{{}*!/-1pt/@{|}*!/-6pt/:(1,-.2)@^{>}*!/-6pt/:(1,+.2)@_{>}}

调整-1pt-6pt-6pt确实会使箭尾发生移动。

相关内容