Xypic
为标签提供许多放置和格式选项,包括旋转。
然而,我无法让最后一个功能正常工作。
我对此有两个问题:
- 由于某些倾斜,标签不会正确地向侧面移动(参见下方的左下箭头)
- 由于某些倾斜,标签无法正确放置在箭头的长度上(见下方的左箭头)
箭头的正常形状是:
梅威瑟:
\documentclass[a4paper,12pt]{article}
\usepackage[all]{xy}
\newcommand{\bijar}[1][]{%
\ar[#1]
\ar@<0.7ex>@{}[#1]|-*[@]{\sim}}
% Arrow for a
% bijective mapping
\begin{document}
\[\xymatrix{
&&&& \\
&&&& \\
&& {\bullet}
\bijar[rr]
\bijar[uurr]
\bijar[uu]
\bijar[uull]
\bijar[ll]
\bijar[ddll]
\bijar[dd]
\bijar[ddrr]
&& \\
&&&& \\
&&&&
}\]
\end{document}
关于代码的一些注释:我用两个箭头绘制这个箭头,一个是仅有的箭头,另一个是空箭头,按所需尺寸移动,并且实际上支持标签。我使用它而不是常规标签的原因是它允许我指定标签和箭头之间的距离。另外,我不认为这是问题所在。毕竟,侧移箭头正好位于其正常位置的前面,它们不会向后或向前移动。
我正在xy-pic 3.8.6
使用pdflatex
。
编辑:读完这篇文章后问题之后,我得出了如下的宏定义:
\newcommand{\bijar}[1][]{%
\ar[#1]
\ar@<0.7ex>@{}[#1]|-*@{~}}
% Arrow for a
% bijective mapping
它确实解决了上述两个问题,但正如您在下图中看到的,“标准”方向上出现了另一个问题:
另一个问题是,它对此有效,因为\sim
可以通过倾斜的箭体来模仿,但对于其他箭,如开放或封闭的浸入,这种方法不起作用。
答案1
在对各种参数进行一段时间的操作后,我发现以下代码有效:
\newcommand{\bijar}[1][]{%
\ar[#1]
\ar@<0.7ex>@{}[#1]|-*=0[@]{\sim}}
% Arrow for a
% bijective mapping
似乎旋转函数的放置存在问题,旋转函数作用于整个对象(包括其框架)。将其大小调整为零可解决该问题。