答案1
基于的解决方案tikz
:
\documentclass{article}
\usepackage{amsfonts}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,row sep=2em,column sep=4em]{
& S(n) & S(n) & \cdots\\
TM & & & \\
& \mathfrak{X}(n, n+q) & \mathfrak{X}(n, n+q+1) & \cdots\\
M & & & \\};
\path[-stealth]
(m-2-1) edge (m-1-2);
\path[-stealth]
(m-1-2) edge (m-1-3);
\path[-stealth]
(m-1-3) edge (m-1-4);
\path[-stealth]
(m-4-1) edge (m-3-2);
\path[-stealth]
(m-3-2) edge (m-3-3);
\path[-stealth]
(m-3-3) edge (m-3-4);
\path[-stealth]
(m-2-1) edge (m-4-1);
\path[-stealth]
(m-1-2) edge (m-3-2);
\path[-stealth]
(m-1-3) edge (m-3-3);
\end{tikzpicture}
\end{document}
输出:
您甚至可以使用一个来简化此过程\path
。查看示例这里。
[由 Steven B. Segletes 编辑,添加\slantbox
来自剪切变换一个“盒子”
对于 3-D 效果,可以使用 Bruno 的\slantbox
。请注意,在这种情况下,对于等距效果, 的可选参数\slantbox
是旋转角度的正切。
\documentclass{article}
\usepackage{amsfonts}
\usepackage{tikz}
\usetikzlibrary{matrix}
\newsavebox\foobox
\newcommand{\slantbox}[2][.2]{\mbox{%
\sbox{\foobox}{#2}%
\hskip\wd\foobox
\pdfsave
\pdfsetmatrix{1 0 #1 1}%
\llap{\usebox{\foobox}}%
\pdfrestore
}}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,row sep=2em,column sep=4em]{
& S(n) & S(n) & \cdots\\
\rotatebox{25}{\slantbox[.466]{TM}} & & & \\
& \mathfrak{X}(n, n+q) & \mathfrak{X}(n, n+q+1) & \cdots\\
\rotatebox{25}{\slantbox[.466]{M}} & & & \\};
\path[-stealth]
(m-2-1) edge (m-1-2);
\path[-stealth]
(m-1-2) edge (m-1-3);
\path[-stealth]
(m-1-3) edge (m-1-4);
\path[-stealth]
(m-4-1) edge (m-3-2);
\path[-stealth]
(m-3-2) edge (m-3-3);
\path[-stealth]
(m-3-3) edge (m-3-4);
\path[-stealth]
(m-2-1) edge (m-4-1);
\path[-stealth]
(m-1-2) edge (m-3-2);
\path[-stealth]
(m-1-3) edge (m-3-3);
\end{tikzpicture}
\end{document}
答案2
诀窍是使用四行,减少行之间的间距。
在 Xy-pic 和以下选项中任选其一tikz-cd
:
\documentclass{article}
\usepackage[all,cmtip]{xy}
\usepackage{tikz-cd}
\begin{document}
This is the diagram using Xy-pic
\[
\[email protected]{
& S(n) \ar[rr] \ar[dd] && S(n) \ar[rr] \ar[dd] && \cdots \\
T(M) \ar[ur] \ar[dd] \\
& \mathcal{X}(n,n+q) \ar[rr] && \mathcal{X}(n,n+q+1) \ar[rr] && \cdots \\
M \ar[ur]
}
\]
This is the diagram using tikz-cd
\[
\begin{tikzcd}[row sep=4ex]
& S(n) \arrow[rr] \arrow[dd] && S(n) \arrow[rr] \arrow[dd] && \cdots \\
T(M) \arrow[ur] \arrow[dd] \\
& \mathcal{X}(n,n+q) \arrow[rr] && \mathcal{X}(n,n+q+1) \arrow[rr] && \cdots \\
M \arrow[ur]
\end{tikzcd}
\]
\end{document}