改变箭头从顶点到自身的长度

改变箭头从顶点到自身的长度

我正在与莱克斯

我想将箭头的长度从顶点更改为自身。我想让箭头向上延伸更长,然后再返回到包围的顶点。到目前为止,我在\xymatrixLyX Math-box 中使用的代码是:

*+[o][F-]{e}\ar@(ul,ur)

在 LyX 中应如何修改此代码以加长箭头?

答案1

正如 canaaerus 所说,控制点选项是可行的。要重现方向,ul请使用形式为 的点(-x,x),并将 用作ur方向(x,x)。标准尺寸x大致为10。现在,使用正确的语法,您可以编写

\documentclass{article}
\usepackage[arrow, matrix, curve]{xy}

\begin{document}
\( \begin{xy}\xymatrix{ e\ar @`{(-10,10),(10,10)}  }\end{xy} \qquad
    \begin{xy}\xymatrix{ e\ar @`{(-20,20),(20,20)}  }\end{xy} \)

\end{document}

并得到

Selfarrow 示例

为了使其更窄,请减小控制点的 x 坐标的大小

\( \begin{xy}\xymatrix{ e\ar @`{(-10,20),(10,20)} } \end{xy} \)

窄自箭头

查看手册xypic,特别是有关曲线的部分,以获取有关控制点的更多信息。

请注意,如果您希望将这些箭头放置在您的不同节点上,\xymatrix那么您应该小心绝对坐标与相对坐标,处理此问题的一种方法是将节点打包成\xybox。这是一个示例,包括您原始问题中的节点格式:

\documentclass{article}
\usepackage[all]{xy}

\begin{document}

\( \begin{xy}\xymatrix{ \xybox{ *=+[o][F]{e}\ar @`{(-10,10),(10,10)} } &
   \xybox{ *=+[o][F]{e}\ar @`{(-20,20),(20,20)} } }\end{xy} \) 

\end{document}

矩阵示例

这里是另一个例子,说明如何xypic正确处理这些节点,其中箭头指向带圆圈的节点:

\documentclass{article}
\usepackage[all]{xy}

\begin{document}

\begin{displaymath}
  \begin{xy}
    \xymatrix{
    \xybox{ *=+<12pt>[o][F]{e}\ar @`{(-10,10),(10,10)} }
    \ar[r]^\pi
    \ar@{.>}[rd]_q &
    \xybox{ *=+<12pt>[o][F]{g}\ar @`{(-20,20),(20,20)} } \ar[d]^p \\
    & \xybox{ *=+<12pt>[o][F]{f}\ar @`{(-10,-20),(10,-20)}|a }
    }
  \end{xy}
\end{displaymath}

\end{document}

截面矩阵示例

请注意,我已经习惯+<12pt>在节点周围画出更大的圆圈。

答案2

首先,e\ar@(ul,ur)对我来说似乎和你的例子有同样的效果。要使其成为完整的 MWE:

\documentclass{article}
\usepackage[arrow, matrix, curve]{xy}

\begin{document}

\[ \begin{xy}\xymatrix{ e\ar@(ul,ur) }\end{xy} \]

\end{document}

现在我认为可以通过放置明确的曲线控制点来解决这个问题。24q比较XY-pic 参考手册。那么语法看起来应该像e\ar@'{a,b}这样,其中ab是位于左上角和右上角但距离足够远的控制点。

不幸的是我对这个功能还不够熟悉。

相关内容