![无法绘制交换图](https://linux22.com/image/250277/%E6%97%A0%E6%B3%95%E7%BB%98%E5%88%B6%E4%BA%A4%E6%8D%A2%E5%9B%BE.png)
我正在尝试使用以下方法绘制交换图xymatrix
:
$\xymatrix{
S \ar@[ld]^{\pi_{i}} \ar@[rd]^{\pi_{j}}\\
R_{i} \ar[r]_{\mu_{ji}} & R_{j} }$
没有任何运气。有什么想法吗?
编辑:我正在尝试画画下列交换图:
答案1
以下是使用两者解决下半部分的一个可能的解决方案xy
和tikz-cd
:
\documentclass{article}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\begin{document}
$\xymatrix{
& S \ar[ld]^{\pi_{i}} \ar[rd]_{\pi_{j}} &\\
R_{i} \ar[rr]_{\mu_{ji}} & & R_{j} }$
\begin{tikzcd}[column sep=normal]
& S \arrow{dl}{\pi_{i}}\arrow{dr}[swap]{\pi_{j}} & \\
R_{i} \arrow{rr}[swap]{\mu_{ji}} & & R_{j}
\end{tikzcd}
\end{document}
以下是使用的完整图表tikz-cd
:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[column sep=normal,row sep=large]
& Y\arrow{ddl}[swap]{\psi_{i}}\arrow{ddr}{\psi_{j}}\arrow{d}{h} & \\
& S \arrow{dl}{\pi_{i}}\arrow{dr}[swap]{\pi_{j}} & \\
R_{i} \arrow{rr}[swap]{\mu_{ji}} & & R_{j}
\end{tikzcd}
\end{document}
现在使用xy
:
\documentclass{article}
\usepackage[all]{xy}
\begin{document}
$\xymatrix{
& Y\ar[ldd]_{\psi_{i}}\ar[rdd]^{\psi_{j}}\ar[d]^{h} & \\
& S \ar[ld]^{\pi_{i}} \ar[rd]_{\pi_{j}} & \\
R_{i} \ar[rr]_{\mu_{ji}} & & R_{j} }$
\end{document}
现在,按照评论的要求,一些箭头弯曲:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[column sep=normal,row sep=large]
& Y\arrow[bend right]{ddl}[swap]{\psi_{i}}\arrow[bend left]{ddr}{\psi_{j}}\arrow{d}{h} & \\
& S \arrow{dl}{\pi_{i}}\arrow{dr}[swap]{\pi_{j}} & \\
R_{i} \arrow{rr}[swap]{\mu_{ji}} & & R_{j}
\end{tikzcd}
\end{document}
与xy
:
\documentclass{article}
\usepackage[all]{xy}
\begin{document}
$\xymatrix{
& Y\ar@/_/[ldd]_{\psi_{i}}\ar@/^/[rdd]^{\psi_{j}}\ar[d]^{h} & \\
& S \ar[ld]^{\pi_{i}} \ar[rd]_{\pi_{j}} & \\
R_{i} \ar[rr]_{\mu_{ji}} & & R_{j} }$
\end{document}
答案2
这是使用 tkz-graph 的解决方案
\documentclass[11pt]{scrartcl}
\usepackage{tkz-graph}
\begin{document}
\begin{tikzpicture}[scale=5,rotate=-30,->,>=latex,auto]
% vertices
\SetVertexMath % use math mode for vertex
\GraphInit[vstyle=Empty] % Nodes are not drawn
\Vertex{X} % add a vertex at (0,0)
\Vertices{circle}{X_i,Y,X_j} % three nodes on a circle
%edges
\Edge[label=$\pi_j$](X)(X_j)
\Edge[label=$\Psi_i$,style={bend left}](Y)(X_i)
\Edge[label=$u$](Y)(X)
\begin{scope}[EdgeStyle/.append style={swap}] % swap labels
\Edge[label=$\pi_i$](X)(X_i)
\Edge[label=$\Psi_j$,style={bend right}](Y)(X_j)
\Edge[label=$f_{ij}$](X_j)(X_i)
\end{scope}
\end{tikzpicture}
\end{document}