Рисование матриц на стрелках короткой точной последовательности (коммутативная диаграмма)

Рисование матриц на стрелках короткой точной последовательности (коммутативная диаграмма)

Я хочу нарисовать короткую точную последовательность с помощью пакета tikz-cd. Но я хочу, чтобы метки на некоторых стрелках были матрицами. Кажется, у меня не получается сделать это хорошо. Стрелки не имеют подходящего размера, а мои матрицы столбцов и строк выглядят по-разному (очевидно, это потому, что я использую две разные команды, но не могу сделать векторы строк с запятой по-другому). На следующем рисунке показано, что я хочу архивировать. Минимальный рабочий пример — это то, что я попробовал.

Это лемма, которую я пытаюсь воспроизвести. Я бы предпочел заменить скобки на круглые.

\documentclass[a4paper,11pt]{amsart}
\usepackage{amsmath,amscd,amssymb,amsfonts,mathrsfs}
\usepackage{mathtools}
\usepackage{tikz-cd}
\DeclarePairedDelimiter{\Vector}{\lparen}{\rparen}
\begin{document}
\begin{equation*}
\begin{tikzcd}
\Sigma_1 \colon \quad 0 \arrow{r} & M_1 
\arrow{r}{\begin{pmatrix} u_1 \\ f_1  \end{pmatrix}} &
E \arrow[column sep = large]{r}{\Vector{f_2,u_2}}
& F \arrow{r} & 0
\end{tikzcd}
\end{equation*}
\end{document}

решение1

Вы ищете что-то подобное?

введите описание изображения здесь

Длина стрелки была изменена путем передачи необязательного аргумента символу разделения ячеек &[5ex]и smallmatrixиспользовалась вместо pmatrix.

\documentclass[a4paper,11pt]{amsart}
%\usepackage{amsmath,amscd,amssymb,amsfonts,mathrsfs}
%\usepackage{mathtools}
\usepackage{tikz-cd}
\begin{document}
\begin{equation*}
\begin{tikzcd}
\Sigma_1 \colon \quad 0 \arrow{r} & M_1 
\arrow{r}{\left[\begin{smallmatrix} u_1 \\ f_1  \end{smallmatrix}\right]} &
E \arrow[column sep = large]{r}{[f_2,u_2]}
&[5ex] F \arrow{r} & 0
\end{tikzcd}
\end{equation*}
\end{document}

решение2

Другой способ — использовать библиотеку positioningс реальными координатами, поэтому мы можем легко контролировать длину стрелок. (использование абсолютных координат в этом случае неудобно). Также обратите внимание на порядок опций: node distance=5mmдолжно быть до right= of N2.

введите описание изображения здесь

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{equation*}
\begin{tikzpicture}[node distance=1cm]
\path node (M21) {$M_2\oplus N_1$}
node[left= of M21]  (M1)  {$M_1$}
node[node distance=5mm,left= of M1] (L) {$\Sigma_1 : 0$}
node[right= of M21] (N2)  {$N_2$}
node[node distance=5mm,right= of N2] (R) {$0$};

\draw[->] (L)--(M1);
\draw[->] (M1)--(M21) node[midway,above,scale=.8]
{$\begin{bmatrix}u_1\\f_1\end{bmatrix}$};
\draw[->] (M21)--(N2) node[midway,above,scale=.8]
{$\begin{bmatrix}f_2,u_2\end{bmatrix}$};
\draw[->] (N2)--(R);
\end{tikzpicture}
\end{equation*}
\end{document}

решение3

Нужно ли вам tikz-cdначинать с этого?

\documentclass[a4paper,11pt]{amsart}

\newcommand{\mapname}[1]{%
  \left[\begin{smallmatrix}#1\end{smallmatrix}\right]%
}
\newcommand{\map}[1]{\xrightarrow{\mapname{#1}}}
\newcommand{\fmod}[1]{{\operatorname{mod-}}#1}

\begin{document}

Let
\begin{alignat*}{2}
\Sigma_1 &\colon &\quad& 0 \to M_1 \map{u_1 \\ f_1} M_2\oplus N_1 \map{f_2,u_2} N_2 \to 0 \\
\Sigma_2 &\colon &\quad& 0 \to M_2 \map{v_1 \\ f_2} M_3\oplus N_2 \map{f_3,v_2} N_3 \to 0
\end{alignat*}
be short exact sequences in $\fmod{A}$. Then the sequence
\begin{equation*}
\Sigma_3 \colon \quad 0 \to M_1 \map{v_1u_1 \\ f_1} M_3\oplus N_1 \map{f_3,-v_2u_2} N_3 \to 0
\end{equation*}
is exact. Moreover we have $\delta_{\Sigma_3}=\delta_{\Sigma_1}+\delta_{\Sigma_2}$.

\end{document}

введите описание изображения здесь

Связанный контент