tikz 中有两个单元格的通勤图或其他什么?

tikz 中有两个单元格的通勤图或其他什么?

我正在尝试使用 xymatrix 排版下图,它是 Kan 扩展定义的一部分。这是我目前正在尝试做的 MWE。

\documentclass[a4paper,10pt]{article}


\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage[all,2cell]{xy}
\UseTwocells
\newcommand{\lank}[2]{\mathsf{Lan}_{#1}({#2})}
\newcommand{\X}{\mathbb{X}}
\newcommand{\Y}{\mathbb{Y}}
\newcommand{\Z}{\mathbb{Z}}

\begin{document}
$$\xymatrix@R=30pt@C=30pt{
       \X \ar[rrr]^{F} \ar[ddrr]_{K}  &&& \Y \\
        &\rtwocell<\omit>{\eta} && \\
       && \Z \uurtwocell^{\lank{K}{F}~~~~~}_{G}{\alpha}& 
       }$$
\end{document}

基本上,以上是我试图让 xymatrix 生成一个带有 2 个单元格的漂亮图表。我还尝试了以下方法:

\xymatrix@R=30pt@C=30pt{
   \X \ar[rrr]^{F} \ar[ddrr]_{K}  &\ar@{}[d]|{~~~~~~~~\stackrel{\Downarrow}{\eta}}&& \Y \\
    & && \\
   && \Z \uurtwocell^{\lank{K}{F}~~~~~}_{G}{\alpha}& 
   }

这两种方法都能传达我想要传达的信息,但缺少一些美学品质。第一种情况下,两个单元格的箭头看起来不太好看。第二种情况下,我本可以花更多时间让箭头大小相同,并将所有内容放在正确的位置。这需要大量的手动操作,如果没有其他方法,这也无妨。我的问题是:有没有办法以统一的方式绘制这种带有两个单元格的图表。

答案1

你是指这样的吗?

在此处输入图片描述

您可以使用tikz-cd和:

  \documentclass[border=5mm,tikz]{standalone}
  \usepackage{tikz-cd}
  \usetikzlibrary{matrix}
  \begin{document}
    \begin{tikzcd}
       X \arrow[r,"F"]  \arrow[d,"G"{name=G,left}]& Y \\
       Z \arrow[ur, "H"{name=H,right}, dashrightarrow]
       \arrow[Rightarrow,from=G,"\eta", to=H{shift left=1ex}]
    \end{tikzcd}
 \end{document}

相关内容