在 tikzcd 中关联两个图表

在 tikzcd 中关联两个图表

最小的工作示例是

\documentclass[12pt,reqno,a4paper]{amsart}
%\usepackage[utf8]{inputenc} % not needed with up-to-date TeX systems
\usepackage[english]{babel}
\usepackage{extsizes}
\usepackage{blindtext}
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{mathtools}
\usepackage{color}

\usepackage{mathrsfs}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\usepackage[normalem]{ulem} % do you *really* need it?
\usepackage{datetime}

\usepackage{hyperref}

\begin{document}

\begin{tikzcd}
A \arrow[dd] \arrow[rr] &  & B \arrow[dd] &  & C \arrow[dd] \arrow[rr] &  & D \arrow[dd] \\
&  &  \arrow[rr]   &  &                                                       &  &\\ 
E \arrow[rr]  &  & F             &  & G \arrow[rr]                                          &  & H                       
\end{tikzcd}

\end{document}

从这个最小的例子来看,我预期有两个正方形和一个从一个正方形指向另一个正方形的箭头。它显示错误:

程序包 pgf 错误:没有已知名为 tikz@f@7-2-5 的形状。我认为罪魁祸首是单元格 2-3 中的 tikzcd 箭头。程序包 pgf 错误:没有已知名为 tikz@f@7-2-5 的形状。我认为罪魁祸首是单元格 2-3 中的 tikzcd 箭头。如果可以,最好使用其中一个 extsizes 类。

答案1

要在箭头之间创建箭头,只需添加空标签,它们会创建节点,您可以稍后参考它们来绘制箭头,请参阅包装文档在部分2.3 箭头的绝对放置

另外,不需要添加空行和空列来增加行/列间隔,有合适的选项:row sep=..., column sep=...

编辑:要添加蕴涵箭头$\Rightarrow$,只需添加Rightarrow选项,请参阅第节中的包文档1.3 更改箭头尖

\documentclass[12pt,reqno,a4paper]{amsart}
%\usepackage[utf8]{inputenc} % not needed with up-to-date TeX systems
\usepackage[english]{babel}
\usepackage{extsizes}
\usepackage{blindtext}
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{mathtools}
\usepackage{color}

\usepackage{mathrsfs}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\usepackage[normalem]{ulem} % do you *really* need it?
\usepackage{datetime}

\usepackage{hyperref}

\begin{document}

\begin{tikzcd}[row sep=2cm, column sep=2cm]
A \arrow[d] \arrow[r] & B \arrow[d,""{name=BF}] &  C \arrow[d,""{name=CD, left}] \arrow[r] &  D \arrow[d] \\
E \arrow[r]  &  F &  G \arrow[r]  &  H 
\arrow[from=BF,to=CD, Rightarrow]
\end{tikzcd}

\end{document}

在此处输入图片描述

答案2

您只需要在箭头前的中间行单元格和箭头后的单元格中添加不可见的字符:

\documentclass[12pt,reqno,a4paper]{amsart}
\usepackage[english]{babel}
\usepackage{extsizes}
\usepackage{blindtext}
\usepackage{amssymb,amsthm}
\usepackage{mathtools}
\usepackage{color}

\usepackage{mathrsfs}
%\usepackage[all]{xy}
\usepackage{tikz-cd}
%\usepackage[normalem]{ulem} % do you *really* need it?
%\usepackage{datetime}

%\usepackage{hyperref}

\begin{document}
    \begin{tikzcd}[row sep=1cm, column sep=2cm]
A \ar[dd]\ar[r] & B \ar[dd] & C \ar[dd] \ar[r]  & D \ar[dd] \\
    & ~\ar[r,Rightarrow]    & ~                 &           \\
E \ar[r]        & F         & G \ar[r]          &  H    
    \end{tikzcd}
\end{document}

在此处输入图片描述

相关内容