画一条虚线来说明蛇形引理

画一条虚线来说明蛇形引理

交换代数中的 Snake 引理图

我如何绘制从右上方到左下方的虚线?

答案1

在此处输入图片描述

\documentclass[ tikz,
                border=5mm]{standalone}
% partly based on Loop Space answer on question
% \url{http://tex.stackexchange.com/questions/31687/bending-snakes-with-xy-pic}
\usepackage{amsmath}
\usetikzlibrary{arrows.meta, calc, matrix, quotes}

\DeclareMathOperator{\im}{im}

\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,
             nodes in empty cells,
             nodes={minimum height=4ex,text depth=0.5ex},
             column sep={2.5cm,between origins},
             row sep={2cm,between origins}]
{
    &   0           &   0           &   0           &       \\
%2
0   &   \ker\alpha  &   \ker\beta   &   \ker\gamma  &       \\
%3
0   &   \vert M     &   N           &   P           &   0   \\
%4
0   &   M'          &   N'          &   P'          &   0   \\
%5
    & M'/\im\alpha  & N'/\im\beta   & P'/\im\gamma  &   0   \\
%6
    &   0           &   0           &   0           &       \\
};
%%%% Horizontal arrows,
%   2nd row
\draw[dotted,->]    (m-2-1) -- (m-2-2);
\draw[dashed,->]    (m-2-2) -- (m-2-3);
\draw[dashed,->]    (m-2-3) -- (m-2-4);

\draw[dashed, ->] (m-2-4) to[out=0,in=180] (m-5-2);
%   3th row
\draw[dotted,->]    (m-3-1) -- (m-3-2);
\draw[->]           (m-3-2) -- (m-3-3);
\draw[->]           (m-3-3) -- (m-3-4);
\draw[->]           (m-3-4) -- (m-3-5);
%   4th row
\draw[->]           (m-4-1) -- (m-4-2);
\draw[->]           (m-4-2) -- (m-4-3);
\draw[->]           (m-4-3) -- (m-4-4);
\draw[dotted,->]    (m-4-4) -- (m-4-5);
%   5th row
\draw[dashed,->]    (m-5-2) -- (m-5-3);
\draw[dashed,->]    (m-5-3) -- (m-5-4);
\draw[dotted,->]    (m-5-4) -- (m-5-5);
%%%% Vertical arrows
%   2nd column
\foreach \i in {2,3,4}
\foreach \j [count=\jx from 1] in {2,...,6}
{
\draw[->] (m-\jx-\i) -- (m-\j-\i);
}
%   nodes on arrows in 3th row
\path   (m-3-2) to["$\alpha$"] (m-4-2)
        (m-3-3) to["$\beta$" ] (m-4-3)
        (m-3-4) to["$\gamma$"] (m-4-4);   
\end{tikzpicture}
\end{document}

相关内容