我正在尝试使用 tikzcd 绘制以下图片 这是我目前的尝试:
\begin{document}
\begin{tikzcd}[row sep=huge, column sep=huge]
% drawing 0- and 1-celss
\mathcal{C} \arrow[dr, "\mathcal{F}"', ""{name=F}]
\arrow[rr, "\mathcal{H}", ""{name=H, below}] &&
\mathcal{E} \\
& \mathcal{D} \arrow[ur, swap, dashed, "\operatorname{Lan}_{\mathcal{F}}\mathcal{H}", ""{name=Lan, above}]
%
% drawing 2-cells
\arrow[Rightarrow, from=H, to=Lan, "\eta"]
\end{tikzcd}
\end{document}
但是,我无法获得如上图所示的中间“双箭头”。如何在当前代码中修复此问题?
答案1
您可以定义一个alias
来定义目标。与使用行和列索引相比,这样做的好处是,当您扩展图表时它仍然有效。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep=huge, column sep=huge]
% drawing 0- and 1-celss
\mathcal{C} \arrow[dr, "\mathcal{F}"'{name=F}]
\arrow[rr, "\mathcal{H}", ""{name=H, below}] && \mathcal{E} \\
& |[alias=D]| \mathcal{D} \arrow[ur, swap, dashed,
"\operatorname{Lan}_{\mathcal{F}}\mathcal{H}"]
% % drawing 2-cells
\arrow[Rightarrow, from=H, to=D, "\eta",shorten >=1em,shorten <=1em]
\end{tikzcd}
\end{document}