tikz-cd 中用矩阵标记的箭头

tikz-cd 中用矩阵标记的箭头

我想用 tikz 写一个交换图,其中有些箭头用矩阵标记。我知道嵌套会在 tikz 中产生问题,我不知道如何处理这个问题。我通常将箭头命令放入方括号中,例如以下方式

\arrow[r, hook, "f"]

现在我想出了一个临时解决方案,但由于某些原因,用方括号书写无法解决问题。所以我必须使用花括号。但使用后者,我无法移动标签,因此它们会重叠。我怎样才能将标签移出图表?(或者增加列之间的空间,或任何其他解决方案,但我还希望知道在使用花括号书写时如何交换标签的侧面)

以下是 MWE:

\documentclass[a4paper,11pt,twoside]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{graphicx, tikz-cd}
\usepackage{indentfirst}
\usepackage{amsmath,amssymb, mathtools}
\usepackage{microtype}
\begin{tikzcd}[ampersand replacement=\&] 
A_n\oplus A_{n-1} \arrow{r}{\begin{psmallmatrix} d_n^A & (-1)^n \\ 0 & d_{n-1}^A \end{psmallmatrix}} \arrow{d}{\begin{psmallmatrix} 0 & 1 \\ f_n & 0 \end{psmallmatrix}} 
\&A_{n-1}\oplus A_{n-2}\arrow{d}{\begin{psmallmatrix} 0 & 1 \\ f_n & 0 \end{psmallmatrix}}
\\ 
A_{n-1} \oplus B_n \arrow{r}{\begin{psmallmatrix} -d^A_{n-1} & 0 \\ f_{n-1} & d^B_n \end{psmallmatrix}}
\& A_{n-2} \oplus B_{n-1}
\end{tikzcd} 

答案1

您需要,ampersand replacement因为否则&矩阵将无法工作。

只需增加列和行的间距即可容纳大标签。

进一步的技巧是使用"{\begin{bsmallmatrix}...\end{bsmallmatrix}}"周围的括号,以便解析器不会感到困惑。

\documentclass[a4paper,11pt,twoside]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{graphicx, tikz-cd}
\usepackage{indentfirst}
\usepackage{amsmath,amssymb, mathtools}
\usepackage{microtype}

\begin{document}

\begin{tikzcd}[ampersand replacement=\&,column sep = 6em, row sep=3em]
A_n\oplus A_{n-1} 
  \arrow[r,"{\begin{bsmallmatrix} d_n^A & (-1)^n \\ 0 & d_{n-1}^A \end{bsmallmatrix}}"]
  \arrow[d,"{\begin{bsmallmatrix} 0 & 1 \\ f_n & 0 \end{bsmallmatrix}}"']
\&
A_{n-1}\oplus A_{n-2}
  \arrow[d,"{\begin{bsmallmatrix} 0 & 1 \\ f_n & 0 \end{bsmallmatrix}}"]
\\
A_{n-1} \oplus B_n
  \arrow[r,"{\begin{bsmallmatrix} -d^A_{n-1} & 0 \\ f_{n-1} & d^B_n \end{bsmallmatrix}}"]
\& A_{n-2} \oplus B_{n-1}
\end{tikzcd}

\end{document}

在此处输入图片描述

答案2

只是为了比较..tikz-cd使用xy包......

\documentclass[a4paper,12pt]{article}
\usepackage[all,cmtip]{xy}
\usepackage{mathtools}
\begin{document}
\[\xymatrix@C=6pc{
A_{n}\oplus A_{n-1}  \ar[d] \ar[r]^{\begin{bsmallmatrix} d_{n}^{A} & (-1)^{n} \\ 0 & d_{n-1}^{A} \end{bsmallmatrix}} & A_{n-1}\oplus A_{n-2} \ar[d] \\
A_{n-1} \oplus B_{n} \ar[r]^{\begin{bsmallmatrix} -d^A_{n-1} & 0 \\ f_{n-1} & d^B_n \end{bsmallmatrix}} & A_{n-2} \oplus B_{n-1}}\]
\end{document}

在此处输入图片描述

相关内容