
Me gustaría incluir este diagrama en mi trabajo.
Sin embargo, no sé cómo empezar, ya que nunca he usado tikz, sino el más modesto tikzcd para mis diagramas conmutativos. Debo señalar tres cosas que no tengo ni idea de cómo introducirlas en ningún tipo de diagrama:
- En el diagrama aparece un círculo con un 1 dentro. Debería aparecer donde está y tal como está.
- Las flechas
- Si te fijas, los elementos de la cara que une ambos cubos tienen cierta inclinación, de modo que quedan paralelos a las líneas correspondientes. Sería genial emular ese efecto.
Sé que es habitual exponer algún código de lo que ha probado el que hace la pregunta, pero en mi caso, no tengo absolutamente ninguna experiencia con tikz...
Disculpe las molestias y gracias.
Respuesta1
Un primer intento. No es un código bonito, pero funciona usando la 3d
biblioteca.
\documentclass{standalone}
\newcommand{\Tcall}{\mathcal{T}}
\newcommand{\Scall}{\mathcal{S}}
\usepackage{tikz}
\usetikzlibrary{3d,positioning}
\begin{document}
\begin{tikzpicture}[z={(10:10mm)},x={(-45:5mm)}]
\def\step{2cm}
\begin{scope}[canvas is zy plane at x=-2]
\node(fGs){$\Gamma(\overline{\Scall})$};
\node[right=\step of fGs,transform shape](H1MS) {$H^1(M,\Scall)$};
\node[right=\step of H1MS,transform shape] (f0) {$0$};
\node[right=\step of f0,transform shape] (v1) {};
\node[below=\step of fGs](fG) {$\Gamma(\Scall)$};
\node[right=\step of fG,transform shape](H1MSs) {$\tilde{H}^1(M,\Scall)$};
\node[right=\step of H1MSs,transform shape] (s0) {$0$};
\node[right=\step of s0,transform shape] (v2) {};
\draw[->,transform shape] (fGs) -- (H1MS);
\draw[->,transform shape] (H1MS) -- (f0);
\draw (f0) -- (v1);
\draw[->,transform shape] (fGs) -- (fG);
\draw[->,transform shape] (fG) -- (H1MSs);
\draw[->,transform shape] (H1MSs) -- (s0);
\draw (s0) -- (v2);
\draw[->,transform shape] (H1MS) -- (H1MSs);
\draw[->,transform shape] (f0) -- (s0);
\end{scope}
\begin{scope}[canvas is zy plane at x=2]
\node(fIs){$\Gamma(\overline{\Tcall})$};
\node[right=\step of fIs,transform shape](H1MI) {$H^1(M,\Tcall)$};
\node[right=\step of H1MI,transform shape] (t0) {$0$};
\node[right=\step of t0,transform shape] (v3) {};
\node[below=\step of fIs](fI) {$\Gamma(\Tcall)$};
\node[right=\step of fI,transform shape](H1MIs) {$\tilde{H}^1(M,\Tcall)$};
\node[right=\step of H1MIs,transform shape] (fo0) {$0$};
\node[right=\step of fo0,transform shape] (v4) {};
\draw[->,transform shape] (fIs) -- (H1MI);
\draw[->,transform shape] (H1MI) -- (t0);
\draw (t0) -- (v3);
\draw[->,transform shape] (fIs) -- (fI);
\draw[->,transform shape] (fI) -- (H1MIs);
\draw[->,transform shape] (H1MIs) -- (fo0);
\draw (fo0) -- (v4);
\draw[->,transform shape] (H1MI) -- (H1MIs);
\draw[->,transform shape] (t0) -- (fo0);
\end{scope}
\draw[->] (fGs) -- (fIs);
\draw[->] (fG) -- (fI);
\draw[->] (H1MS) -- (H1MI);
\draw[->] (H1MSs) -- (H1MIs);
\draw[->] (f0) -- (t0);
\draw[->] (s0) -- (fo0);
\path (H1MS) -- (H1MIs) node[midway, circle, inner sep=0pt,draw] {1};
\end{tikzpicture}
\end{document}
Alguna pequeña mejora
\documentclass{standalone}
\newcommand{\Tcall}{\mathcal{T}}
\newcommand{\Scall}{\mathcal{S}}
\usepackage{tikz}
\usetikzlibrary{3d,positioning,decorations.markings}
\begin{document}
\begin{tikzpicture}[z={(10:10mm)},x={(-45:5mm)},
decoration={markings,
mark=at position .65 with {\arrow[transform shape]{latex}}},
conn/.style={thick,postaction={decorate}}]
\def\step{2cm}
\begin{scope}[canvas is zy plane at x=-2]
\node(fGs){$\Gamma(\overline{\Scall})$};
\node[right=\step of fGs,transform shape](H1MS) {$H^1(M,\Scall)$};
\node[right=\step of H1MS,transform shape] (f0) {$0$};
\node[right=\step of f0,transform shape] (v1) {};
\node[below=\step of fGs](fG) {$\Gamma(\Scall)$};
\node[right=\step of fG,transform shape](H1MSs) {$\tilde{H}^1(M,\Scall)$};
\node[right=\step of H1MSs,transform shape] (s0) {$0$};
\node[right=\step of s0,transform shape] (v2) {};
\draw[conn] (fGs) -- (H1MS);
\draw[conn] (H1MS) -- (f0);
\draw[thick] (f0) -- (v1);
\draw[conn] (fGs) -- (fG);
\draw[conn] (fG) -- (H1MSs);
\draw[conn] (H1MSs) -- (s0);
\draw[thick] (s0) -- (v2);
\draw[conn] (H1MS) -- (H1MSs);
\draw[thick] (f0) -- (s0);
\end{scope}
\begin{scope}[canvas is zy plane at x=2]
\node(fIs){$\Gamma(\overline{\Tcall})$};
\node[right=\step of fIs,transform shape](H1MI) {$H^1(M,\Tcall)$};
\node[right=\step of H1MI,transform shape] (t0) {$0$};
\node[right=\step of t0,transform shape] (v3) {};
\node[below=\step of fIs](fI) {$\Gamma(\Tcall)$};
\node[right=\step of fI,transform shape](H1MIs) {$\tilde{H}^1(M,\Tcall)$};
\node[right=\step of H1MIs,transform shape] (fo0) {$0$};
\node[right=\step of fo0,transform shape] (v4) {};
\draw[conn] (fIs) -- (H1MI);
\draw[conn] (H1MI) -- (t0);
\draw[thick] (t0) -- (v3);
\draw[conn] (fIs) -- (fI);
\draw[conn] (fI) -- (H1MIs);
\draw[conn] (H1MIs) -- (fo0);
\draw[thick] (fo0) -- (v4);
\draw[conn] (H1MI) -- (H1MIs);
\draw[thick] (t0) -- (fo0);
\end{scope}
\draw[conn] (fGs) -- (fIs);
\draw[conn] (fG) -- (fI);
\draw[conn] (H1MS) -- (H1MI);
\draw[conn] (H1MSs) -- (H1MIs);
\draw[thick] (f0) -- (t0);
\draw[thick] (s0) -- (fo0);
\path (H1MS) -- (H1MIs) node[midway, circle, inner sep=0pt,draw] {1};
\end{tikzpicture}
\end{document}
Respuesta2
Una posibilidad con pst-node
y pst-arrow
:
\documentclass{article}
\usepackage{fourier}
\usepackage{pst-node, pst-arrow}
\usepackage{auto-pst-pdf}
\begin{document}
\[ \begin{psmatrix}[rowsep=0.6cm, colsep=1.7cm]
& & & [name=0E] 0 & \pnode[0,2.7ex]{IE}\\
[name=GE]\Gamma(\bar{\mathcal{E}}) & & & & [name=0T] 0 & \pnode[0,2.7ex]{IT}\\
& [name=GT]\Gamma(\,\overline{\!\mathcal{T}\!}\,) \\
& & & [name=0Eb] 0 & \pnode[0,2.7ex]{IEb} \\
[name=GEb] \Gamma(\bar{\mathcal{E}}) & & & & [name=0Tb]0 & \pnode[0,2.7ex]{ITb} \\
& [name=GTb] \Gamma(\,\overline{\!\mathcal{T}\!}\,)
\end{psmatrix}
{\psset{linestyle=none, nrot=:U}%
\ncline{GE}{0E}\ncput*{\rnode{HE}{H^1(M, \mathcal{E})}}
\ncline{GT}{0T}\ncput*{\rnode{HT}{H^1(M, \mathcal{T})}}
\ncline{GEb}{0Eb}\ncput*{\rnode{HEb}{\tilde{H}^1(M, \mathcal{E})}}
\ncline{GTb}{0Tb}\ncput*{\rnode{HTb}{\tilde{H}^1(M, \mathcal{T})}}
}%
\ncline{0E}{0T}\ncline{0T}{0Tb}\ncline{0Tb}{0Eb}\ncline{0E}{0Eb}
{\psset{nodesepA=1pt} %
\ncline{0E}{IE}\ncline{0T}{IT} \ncline{0Eb}{IEb}\ncline{0Tb}{ITb}}%
{\psset{arrowinset=0.12, ArrowInside=->, nodesepB=3pt}%
\ncline{HE}{0E}
\ncline{HT}{0T}
\ncline{HEb}{0Eb}
\ncline{HTb}{0Tb}
\psset{ArrowInsidePos=0.66, }
\ncline{GE}{GEb}\ncline{GEb}{GTb}
\ncline{GE}{GT}\ncline{GT}{GTb}
\ncline{HE}{HT}\ncline{HT}{HTb}
\ncline{HE}{HEb}\ncline{HEb}{HTb}
}
\psset{arrows=->}
\ncline{GE}{HE}\ncline{GT}{HT}
\ncline{GEb}{HEb}\ncline{GTb}{HTb}
%
\]
\end{document}