答案1
这是另一种解决方案,面向 tikz。
我使用了 35 度的开角,因为我觉得它接近原始图形角度,您可以通过改变开角定义来控制此角度。我的图形没有这种“非完全线性”的外观。而且从节点伸出的箭头的长度也不相同。
然而,我相信该图可以很容易地进行调整,并且它正确地说明了它所针对的类别定理。
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usetikzlibrary{calc, intersections}
\begin{document}
\begin{tikzpicture}[scale=3]
\def\openingangle{35}
\node (Z') at (0, 0) {Z'};
\node (Y) at ($(Z') +(270-\openingangle:1)$) {Y};
\node (Y') at ($(Z') +(270+\openingangle:1)$) {Y'};
\node (X) at ($(Y) +(270-\openingangle:1)$) {X};
\node (X') at ($(Y') +(270+\openingangle:1)$) {X'};
\draw[white, name path=L1] (X) -- (Y');
\draw[white, name path=L2] (X') -- (Y);
\path[name intersections={of=L1 and L2, by=pZ}];
\node (Z) at (pZ) {Z};
\draw[-latex] (X) -- node[above left] {$u$} (Y);
\draw[-latex] (X) -- node[below right] {$v \circ u$} (Z);
\draw[-latex] (Y) -- node[above left] {$j$} (Z');
\draw[-latex] (Y) -- node[above right] {$v$} (Z);
\draw[-latex] (Z) -- (Y');
\draw[-latex] (Z) -- (X');
\draw[-latex] (X') -- ($(X')!-1!(Y')$);
\draw[-latex] (X') -- node[above right] {$i$} ($(X')!-1!(Z)$);
\draw[-latex] (Y') -- node[above right] {$g$} (X');
\draw[-latex] (Y') -- ($(Y')!-1!(Z)$);
\draw[-latex] (Z') -- node[above right] {$f$} (Y');
\draw[-latex] (Z') -- ($(Z')!-1!(Y)$);
\end{tikzpicture}
\end{document}
答案2
在维基百科上,使用 LaTeX 创建的图像通常可以查看来源,只需单击维基百科上的图像,然后单击右下角的“更多详细信息”即可。
对于此特定图像,来源是https://commons.wikimedia.org/wiki/File:Axiom_TR4_%28BBD%29.svg
答案3
pstricks
以下是带有环境的简短代码psmatrix
:
\documentclass[border=3pt]{standalone}
\usepackage{pst-node, auto-pst-pdf}
\begin{document}
\psset{arrows=->, arrowinset=0.15, linewidth=0.6pt, nodesep=3pt, labelsep=2pt, colsep=0.8cm, rowsep=1.2cm}
\everypsbox{\scriptstyle}
$ \begin{psmatrix}
& & & \pnode{E}\\
& & Z' & \pnode(0,0.4){M}\\
& Y & \psnode(0,-0.47){Z}{\displaystyle Z} & Y'& \pnode(0,0.65){P} \\
X & & & &X'\\
& & & & & \pnode(0.3,0){B} & \pnode(0.4,0.7){N}
%%%
\ncline{2,3}{1,4}\ncline{2,3}{3,4}\naput{f }%
\ncline{3,2}{2,3}\naput{j}\ncline[offsetA=-0.03]{3,2}{Z}\naput{v}%
\ncline{Z}{3,4}\ncline[offsetA=0.05]{Z}{4,5}%
\ncline{3,4}{4,5}\naput{g } \ncline{3,4}{P}%
\ncline{4,1}{3,2}\naput{u} \ncline{4,1}{Z}\nbput[nrot=:U]{v ∘ u}%
\ncline{4,5}{B}\ncline{4,5}{N}\naput{i}
\end{psmatrix} $%
\end{document}