使用 xymatrix 重塑图表

使用 xymatrix 重塑图表

我正在使用 xymatrix 绘制下图

\eq
&&\xymatrix{
    &X\times Y\times X\times Y&& \\
    &X\times X\times Y \ar@{^{(}->}[u]_-{j}\ar[ld]_{q}\ar[rd]&&\\
    X\times X \ar[rd]&&X\times Y\ar[ld]\ar[rd]&\\
    &X&&Y
}\eneq

但是中央交换图看起来像菱形而不是正方形。是否可以更好地控制它的形状。此外,中央图是笛卡尔的,所以我想在图中用 xymatrix 绘制一个旋转的正方形(\pi/4 旋转)(另见这里

答案1

调整行和列的间距。对于中间的正方形,添加一个幻影箭头。

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage[all,cmtip]{xy}

\begin{document}

\begin{equation}
\begin{gathered}
\[email protected]@R+1.6pc{
    &X\times Y\times X\times Y && \\
    &X\times X\times Y \ar@{^{(}->}[u]_-{j}\ar[ld]_{q}\ar[rd] \ar@{}[dd]|\square&&\\
    X\times X \ar[rd]&&X\times Y\ar[ld]\ar[rrd]&\\
    &X&&&Y
}
\end{gathered}
\end{equation}

\end{document}

enter image description here

tikz-cd

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz-cd}

\newcommand{\commsquare}[1][0]{%
  \raisebox{\depth}{\rotatebox[origin=center]{#1}{$\scriptstyle\square$}}%
}

\begin{document}

\begin{equation}
\begin{tikzcd}[row sep=2.5em,column sep={4em,between origins},nodes in empty cells]
&
X\times Y\times X\times Y 
&&
\\
&
X\times X\times Y
  \arrow[u,hook,swap,"j"]
  \arrow[ld,swap,"q"]
  \arrow[rd]
\\
X\times X
  \arrow[rd]
& \commsquare[45] &
X\times Y
  \arrow[ld]
  \ar[rd]
\\
& X && Y
\end{tikzcd}
\end{equation}

\end{document}

enter image description here

相关内容