在 xymatrix 中向下移动曲线

在 xymatrix 中向下移动曲线

在以下 MEW 中我遇到了两个问题

  1. 仅由于 MWE:stackexchange 在突出显示我的代码时遇到了一些问题(由于后上部逗号)
  2. 真正的问题是:我希望蛇从中间穿过,位于 V、WZ 和 rho1、rho2、rho3 之间。
    \documentclass{article}
    \usepackage[all]{xy}
    \usepackage{amsmath}
    \begin{document}
    
    \xymatrix@C=1pc{
    &&\operatorname{ker}(\rho_1) \ar[rr]\ar[d]^-{\iota_1}
      &&\operatorname{ker}(\rho_2) \ar[rr]\ar[d]^-{\iota_2}
      &&\operatorname{ker}(\rho_3) \ar[d]^-{\iota_3}
        \ar`r[d]`[ll]`[llllld]`[dddllll][dddllll]  \\
    &&V \ar[rr]^{\phi}\ar[d]^{\rho_1}
      &&W \ar[rr]^{\psi}\ar[d]^{\rho_2}
      &&Z \ar[rr]\ar[d]^{\rho_3}&&0\\
    0\ar[rr] &&V' \ar[rr]^{\phi'}\ar[d]^-{\pi_1}
        &&W' \ar[rr]^{\psi'}\ar[d]^-{\pi_2}
        &&Z'\ar[d]^-{\pi_3} &&\\
    &&\operatorname{coker}(\rho_1)\ar[rr]
      &&\operatorname{coker}(\rho_2)\ar[rr]
      &&\operatorname{coker}(\rho_3)&&
    }
    
    \end{document}

在此处输入图片描述

答案1

来自老问题如何绘制蛇形引理中连接同态的“蛇”形箭头?你可以调整你的代码。我在这里放了你的部分信件。

\documentclass[12pt]{article}
\usepackage[all]{xy}
\usepackage{amsmath}
\DeclareMathOperator{\coker}{coker}
\newcommand*\pp{{\rlap{\('\)}}}
\begin{document}
%
\[
  \xymatrix@!{
              && {\ker(\rho_1)} \ar[r]   & {\ker(\rho_2)} \ar[r]   & {\ker(\rho_3)}
                    \ar`r[d]`[l]`^d[lll]|!{[];[d]}\hole|!{[l];[dl]}\hole|!{[ll];[dll]}\hole
                    `[dddll]|!{[ddllll];[ddll]}\hole [dddll]
                                                                       &   \\
              && A  \ar[r]^{f}      & B  \ar[r]^{g}      & C \ar[r]    & 0 \\
    0 \ar[rr] && A\pp \ar[r]^{f'}   & B\pp \ar[r]^{g'}   & C\pp        &   \\
              && {\coker(a)} \ar[r] & {\coker(b)} \ar[r] & {\coker(c)} &   \\
    % vertical arrows
    \ar"1,3";"2,3"^{\iota_1}   \ar"1,4";"2,4"   \ar"1,5";"2,5"
    \ar"2,3";"3,3"^a \ar"2,4";"3,4"^b \ar"2,5";"3,5"^c
    \ar"3,3";"4,3"   \ar"3,4";"4,4"   \ar"3,5";"4,5"
  }
\]
\end{document}

在此处输入图片描述

答案2

一个pstricks办法:

\documentclass{article}
\usepackage{mathtools}
\DeclareMathOperator{\coker}{coker}
\usepackage{pst-node, multido}

\begin{document}

$ \psset{arrows=->, arrowinset=0.15, linewidth=0.6pt, linejoin=1, nodesep=2pt, rowsep=0.75cm, colsep=0.8cm, shortput =tablr, labelsep=1.5pt}
\everypsbox{\scriptstyle}
\begin{psmatrix}[mnode = R]
  %%% nodes
    & \ker(\rho_1) & \ker(\rho_2) &\ker(\rho_3)\\
    & V & W & Z & 0 \pnode[0,-0.3cm]{I}\\
    0 & V' & W' & Z' \\
    & \coker(\rho_1) & \coker(\rho_2) &\coker(\rho_3)
   %%% snake arrow
    {\psset{linearc=0.4}%
     \ncbar[arrows=-, armA=1.2cm, nodesepB=0pt]{1,4}{I}
     \ncbar[angle=180, armB=1.2cm, nodesepA=0pt]{I}{4,2}}
    %%% horizontal arrows%
 \foreach \s/\t in {2/3,3/4}{\ncline{1,\s}{1,\t}\ncline{4,\s}{4,\t}}
 \ncline{2,2}{2,3}^{\phi } \ncline{2,3}{2,4}^{\psi } \ncline{2,4}{2,5}
 \ncline{3,1}{3,2}\ncline{3,2}{3,3}^{\phi'} \ncline{3,3}{3,4}^{\psi'}
  %%% vertical arrows
    \psset{border=1.5pt}
    \foreach \i/\c in {1/2,2/3,3/4}{\ncline{1,\c}{2,\c}>{\iota_\i} \ncline{2,\c}{3,\c}>{\rho_\i} %
    \ncline{3,\c}{4,\c}>{\pi_\i}}
\end{psmatrix}$

\end{document} 

在此处输入图片描述

相关内容