2-类别的 2-态射:不明白如何绘制

2-类别的 2-态射:不明白如何绘制

看不懂怎样画它。 在此处输入图片描述

答案1

这几乎是手动的

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}
  A \arrow[r, bend left, "f", ""{name=U,inner sep=1pt,below}]
  \arrow[r, bend right, "g"{below}, ""{name=D,inner sep=1pt}]
  & B
  \arrow[Rightarrow, from=U, to=D, "\alpha"]
\end{tikzcd}
\end{document}

在此处输入图片描述

答案2

我也想试试——尽管和@egreg都有@HenriMenke很好的答案,但我认为普通的旧TikZ方法是一个不错的选择,因为代码更容易解​​析。我们声明每个节点,给它一个名字(在括号中(),标签在花括号中{}),然后在节点之间画箭头。代码如下:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\begin{document}

\begin{tikzpicture}
\node (a) at (0,0) {$A$};
\node (b) at (1.5,0) {$B$};
\draw[->] (a) to [bend left] node[scale=.7] (f) [above] {$f$} (b);
\draw[->] (a) to [bend right] node[scale=.7] (g) [below] {$g$} (b);
\draw[-{Implies},double distance=1.5pt,shorten >=2pt,shorten <=2pt] (f) to node[scale=.7] [right] {$\alpha$} (g);
\end{tikzpicture}

\end{document}

一个明显的缺点是尝试使用 进行复制\Rightarrowdouble但我认为这不是什么大问题,而且代码相当容易调整。我们还必须缩短中间箭头的两端,使其不与其他箭头重叠(shorten >一端使用完成shorten <,另一端使用 完成)。结果如下:

在此处输入图片描述

答案3

参考手册第 25 节。您可以使用

\documentclass{article}

\usepackage[all,2cell,cmtip]{xy}
\UseTwocells

\begin{document}

\[
\xymatrix{
  A \rtwocell^f_g{\alpha} & B
}
\]

\end{document}

但是,tikz-cd我还是建议你去。

在此处输入图片描述

答案4

另一种可能性是pst-node及其环境。如果您使用开关 (MiKTeX) 或(TeX Live、MacTeX)加载和编译,psmatrix则可以编译它:pdflatexauto-pst-pdf--enable-write18-shell-escape

\documentclass[border=3pt]{standalone}
\usepackage{pst-node,amsmath, latexsym}
\usepackage{auto-pst-pdf}

\begin{document}

 $ \begin{psmatrix}[colsep = 1.5em,nodesepA=2pt, nodesepB=1pt, shortput=nab, labelsep=2pt, arrowinset=0.2]
 [name=A] A & \Downarrow & [name=B] B
 \ncarc[arcangle=35]{->}{A}{B}^{f}
 \ncarc[arcangle=-35]{->}{A}{B}_{g}
\end{psmatrix} $

\end{document} 

在此处输入图片描述

相关内容