\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{cd}
\begin{document}
\[
\begin{tikzcd}
\left< x, y \right>
\ar[r, "{{\left( \begin{array}{cc} a & b \\ c & d \end{array} \right)}}"]
&
\left< z,w \right>
\\
\end{tikzcd}
\]
\end{document}
生成错误消息
Undefined control sequence.
\pgf@let@token ...{{\left ( \begin {array}{cc} a &
b \\ c & d \end {array} \...
该问题在 tikzcd 手册第 3.4 节中进行了讨论,网址为 http://ctan.math.washington.edu/tex-archive/graphics/pgf/contrib/tikz-cd/tikz-cd-doc.pdf。一种解决方案如下:使用 tikzcd 的“与号替换”选项,使用不同的字符来分隔交换图中的节点。这样,与号便可在箭头标签的数组中使用。
\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{cd}
\begin{document}
\[
\begin{tikzcd}[ampersand replacement=\&]
\left< x, y \right>
\ar[r, "{{\left( \begin{array}{cc} a & b \\ c & d \end{array} \right)}}"]
\& %% Note replacement of & by \& here
\left< z,w \right>
\\
\end{tikzcd}
\]
\end{document}
答案1
简单,(根据第 3.4 节http://ctan.math.washington.edu/tex-archive/graphics/pgf/contrib/tikz-cd/tikz-cd-doc.pdf):
为 tikzcd 添加选项,即
\begin{tikzcd}[ampersand replacement=\&]
所引用的文中就是一个例子。