在 xymatrix 中圈出/框出某个条目的一部分

在 xymatrix 中圈出/框出某个条目的一部分

我想只圈出 xymatrix 中条目的一部分,我浏览了 xypic 的几个参考资料,但只能找到如何框出整个条目(例如下图中第一行和第三行中的条目),而没有提到如何在本地执行此操作。在下面的例子中,我只想框出第二个箭头中的 y,但保持 x 和 z 的显示。如果我使用以下代码,第二行第二个条目中的 x 和 z 就会消失。有什么想法吗?

\documentclass{minimal}
\usepackage{amsmath,amssymb}
\usepackage[all]{xy}
\begin{document}
\[\xymatrix{
 x & *+[Fo]{z} \ar[l]\ar[d] & z\ar[l] & \cdots\ar[l]\\
 z & *+[Fo]{y},x,z \ar[l]\ar[d] & \cdots \ar[l]\\
   & *+[Fo]{y} & \cdots\ar[l]
}\]
\end{document}

答案1

您可以将框架放在y里面\xybox,然后将其与合成,x,z为完整的对象。加上高度调整,这将看起来像

\documentclass{standalone}
\usepackage{amsmath,amssymb}
\usepackage[all]{xy}
\begin{document}
\[\xymatrix{
 x & *+[Fo]{z} \ar[l]\ar[d] & z\ar[l] & \cdots\ar[l]\\
 z & \xybox{(0,0.5)*+[Fo]{y}},x,z \ar[l]\ar[d] & \cdots \ar[l]\\
   & *+[Fo]{y} & \cdots\ar[l]
}\]
\end{document}

结果图

虽然如果你想要圆圈y与其他带圆圈的字符对齐,您可能应该就此提出另一个问题。(我现在不知道该怎么做。)

请注意,您不应该使用最小类。最好采取standaloneMWE。例如,参见为什么要避免使用最小类?创建独立图形时,使用 minimal 相对于 article 有什么优势?

相关内容