xypic: 这个图中的虚线该如何排版?

xypic: 这个图中的虚线该如何排版?

我使用 xypics 绘制图表,但我不知道如何在下图中放置虚线。搜索没有找到太多信息。这里有人可以帮忙吗?

大图

答案1

这是一种无需在图中增加额外列即可实现的方法。虚线再次以无头无尾的虚线箭头形式插入,即,\ar@{--}但我们将指定箭头的源和目标。此外,箭头的源和目标都将从其中一个节点移位。虚线的实际规范是

\ar@{--}[]+<3.5em,0em>;[dddd]+<3.5em,0em>

注意分号;这意味着源是它前面的东西,目标是它后面的东西。因此源是[]+<3.5em,0em>。由于[]表示当前节点,因此源是当前节点右侧 3.5em 处和下方 0em 处的点。

类似地,箭头的目标是[dddd]+<3.5em,0em>,即距离节点 [dddd] 向右 3.5em 处、向下 0em 处的点。

这是一个完整的乳胶文件:

\documentclass{article}
\usepackage[cmtip,all]{xy}
\begin{document}
\thispagestyle{empty}
\begin{displaymath}
  \xymatrix  {
    && 0\ar[d] \ar@{--}[]+<3.5em,0em>;[dddd]+<3.5em,0em>
    & 0\ar[d]
    &  0\ar[d]\\
    & 0\ar[d] \ar[r]
    & \Gamma^n\Omega^1 \ar[d] \ar[r]^-{d}
    & \Gamma^{n-1}\Omega^1\otimes\Omega^1\ar[d] \ar[r]^{d}
    & \Gamma^{n-2}\Omega^1\otimes\Omega^2 \ar[d] \ar[r]
    & \cdots   \\
    0 \ar[r]
    & A\ar[d]_{Id} \ar[r]^{d^1}
    & P^n\ar[d] \ar[r]^-{D}
    & P^{n-1}\otimes \Omega^1\ar[d] \ar[r]^{D}
    & P^{n-2}\otimes \Omega^2\ar[d] \ar[r] & \cdots \\ 
    0 \ar[r]
    & A\ar[d]_{Id} \ar[r]^{d^1}
    & P^{n-1}\ar[d] \ar[r]^-{D}
    & P^{n-2}\otimes \Omega^1\ar[d] \ar[r]^{D}
    & P^{n-3}\otimes \Omega^2\ar[d] \ar[r]
    & \cdots \\  
    & 0
    & 0
    & 0
    & 0
  }
\end{displaymath}
\end{document}

它产生xy-pic图

答案2

我认为唯一的可能性是从第一行到最后一行插入一个新列,没有任何条目。

您可以通过改变值来控制列之间的空间2em

可能无法仅更改某些列的空间。

\[ 
\xymatrix@C=2em@R=2em{ &  & 0\ar[d] & \ar@{--}[dddd] & 0\ar[d] &  0\ar[d] &  &  \\ & 0\ar[d] \ar[r]  & \Gamma^n\Omega^1 \ar[d] \ar[rr]^{d} && \Gamma^{n-1}\Omega^1\otimes\Omega^1\ar[d] \ar[r]^{d}& \Gamma^{n-2}\Omega^1\otimes\Omega^2 \ar[d] \ar[r]& \cdots   \\  0 \ar[r] & A\ar[d]_{Id} \ar[r]^{d^1} & P^n\ar[d] \ar[rr]^{D} && P^{n-1}\otimes \Omega^1\ar[d] \ar[r]^{D} & P^{n-2}\otimes \Omega^2\ar[d] \ar[r] & \cdots \\ 
 0 \ar[r] & A\ar[d]_{Id} \ar[r]^{d^1} & P^{n-1}\ar[d] \ar[rr]^{D} && P^{n-2}\otimes \Omega^1\ar[d] \ar[r]^{D} & P^{n-3}\otimes \Omega^2\ar[d] \ar[r] & \cdots \\  
 & 0 & 0 && 0 & 0 &  
  }  \]

在此处输入图片描述

答案3

您可以\save \restore在矩阵中使用。例如:

\xymatrix{ ..... &  \save "1,1";"1,2" **@{} ?(0.5) ;p+/d/ ?!{"2,1";"2,2"} **@{--} \restore}

详细代码说明如下:

  • "1,1";"1,2" **@{}"1,1"从元素到元素绘制空线"1,2"
  • ?(0.5)移至c空行的中间。
  • ;p+/d/设置p-c为向下方向
  • ?!{"2,1";"2,2"}将点移动到与线c的交点p-c"2,1";"2,2"
  • **@{--}画虚线

您不要忘记插入\shorthandoff{"}LaTeX。

相关内容