我正在尝试使用 制作一个带有返回同一条目的箭头的图表xymatrix
。以下示例运行良好。
\[
\xymatrix{
V \ar@(dl,ul)[]^{h'} \ar@<0.5ex>[r]^{i} & W \ar@(dr,ur)[]_{h} \ar@<0.5ex>[l]^{p}
},
\]
但是,如果我尝试将其更改V
为(V,d_V)
,则只会收到错误消息。我已经尝试将其放入{}
,但没有任何区别。输入
\[
\xymatrix{
{(V,d_V)} \ar@(dl,ul)[]^{h'} \ar@<0.5ex>[r]^{i} & {(W,d_W)} \ar@(dr,ur)[]_{h} \ar@<0.5ex>[l]^{p}
},
\]
我仍然收到类似这样的错误消息
! Undefined control sequence.
\splineendScan@ ...s@ \expandafter {\splineedges@
}\xylowtolerance@ \splined...
我希望有一个人可以帮助我。
答案1
当节点太大时,Xy-pic 有时会出现箭头弯曲或旋转的问题。(我从来无法预测问题何时会出现。)对于粗略的解决方法,您可以使用
\[
\xymatrix{
*[r]{\;(V,d_V)\;} \ar@<0.5ex>[rr]^{i} \ar@(dl,ul)[]^{h'}
&& *[l]{\;(W,d_W)\,} \ar@<0.5ex>[ll]^{p} \ar@(dr,ur)[]_{h}
},
\]
我们过去常常*[r]{node}
将第一个节点向右移动,*[l]{node}
将第二个节点向左移动。我们还在每个节点上填充了一个\;
开头和结尾处都填充了 a,并将第二个节点二向右跳转,并将箭头变成\ar[rr]
和\ar[ll]
,为箭头留出空间(否则会被移位的节点挤满)。这很粗糙,但基本上可以正常工作: