以下是尝试生成节点之间有多个箭头的交换图。
\documentclass[margin=10pt]{standalone}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
B \arrow[shift left]{r}{qBM}
\arrow[shift right]{l}{qMB}
\arrow[swap]{dr}{qBN}
& M \arrow{d}{qMN} \\
& N
\end{tikzcd}
\]
\end{document}
目前代码无法编译,并显示错误消息l.7 I think the culprit is a tikzcd arrow in cell 1-1. \errmessage ...currentrow -\tikzcd@currentcolumn }
。我在这里做错了什么?
答案1
答案2
首先,让我们看看你的错误。第一个错误告诉你单元格 1-1 中的箭头有问题。这个符号其实很容易理解,因为它声称在第一行和第一列“单元格 1-1”中看到一些问题。因为这里有三个箭头,所以你只需一个一个地取出来就能找到罪魁祸首。我第一次编译后,TeXstudio 用红色标记了有问题的箭头。有一个指向左侧的箭头,但左侧没有任何指向。
对于您的 MWE,我收到第二个错误Bad math environment delimiter. \]
。发生这种情况是因为您在一个独立的类中使用了它\[ \]
,这毫无意义,因此不受支持。这里还有其他关于此主题的帖子。
如果您想要左边有一个空箭头,它应该是:
% arara: pdflatex
\documentclass[margin=10pt]{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
{} & B \arrow[shift left]{r}{qBM}
\arrow[shift right]{l}{qMB}
\arrow[swap]{dr}{qBN}
& M \arrow{d}{qMN} \\
& & N
\end{tikzcd}
\end{document}
我猜你想要的是类似这样的东西:
% arara: pdflatex
\documentclass[margin=10pt]{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[column sep=huge]
B \arrow[shift left=.7]{r}{qBM}
\arrow[swap]{dr}{qBN}
& M \arrow{d}{qMN} \arrow[shift left=.7]{l}{qMB} \\
& N
\end{tikzcd}
\end{document}