I am looking for a package where I can draw this vertix-and-edge-labelled commutative cube diagram with colored (and labelled) bottom (grey) and top (striped grey) faces with a small upper-right corner x-y-z axis, something like this (forgive me for such a poor image):
Here are the packages I've tried so far:
Paul Taylor's
diagrams
package. I've always used it to draw my simpler commutative diagrams. However, it seems that this package does not allow much flexibility or advanced features. In particular, I can't color faces with them and I can't make the arrows from the upper-right corner x-y-z axis smaller, as in my picture.tikz-cd
. I had some progress with this package (see my old attempt bellow and Sebastiano's excellent answer). However, as Sebastiano remarked in the comments to his answer, it seems that this package can't draw small arrows in the upper-right corner x-y-z axis either.
Question:
Is there a package I can draw this diagram (with small upper-right corner x-y-z arrows just like in the above picture?)
Maybe this can be done using tikz
? But I am totally unfamiliar with it. :(
Any help would be highly appreciated.
My TikZ-cd attempt: So I found this thread tikz-cd: Shade faces of commutative cube which was very helpful. However, So far I can only color the top and bottom faces of the commutative cube without the x-y-z axis using tikz-cd
, as in
using the code:
\documentclass{article}
\usepackage{tikz-cd}
\definecolor{grey1}{RGB}{71,71,71}
\definecolor{grey2}{RGB}{100,100,100}
\begin{document}
\begin{tikzcd}[execute at end picture={
\foreach \Valor/\Nombre in
{
tikz@f@1-1-1/a,tikz@f@1-2-2/b,tikz@f@1-1-3/c,tikz@f@1-2-4/d,
tikz@f@1-3-1/e,tikz@f@1-4-2/f,tikz@f@1-3-3/g,tikz@f@1-4-4/h
}
{
\coordinate (\Nombre) at (\Valor);
}
\fill[grey1,opacity=0.3]
(b) -- (a) -- (c) -- (d) -- cycle;
\fill[grey2,opacity=0.3]
(f) -- (e) -- (g) -- (h) -- cycle;
}
]
A \arrow[rr,"f"] \arrow[dr,swap,"a"] \arrow[dd,swap,"h"] &&
B \arrow[dd,swap,"h'" near start] \arrow[dr,"b"] \\
& A' \arrow[rr,crossing over,"f'" near start] &&
B' \arrow[dd,"k'"] \\
C \arrow[rr,"g" near end] \arrow[dr,swap,"c"] && D \arrow[dr,swap,"d"] \\
& C' \arrow[rr,"g'"] \arrow[uu,<-,crossing over,"k" near end]&& D'
\end{tikzcd}
\end{document}
But I can't seem to find a way to
- Color the top face with a stripped grey.
- Draw the small right-corner x-y-z axis.
Is there a way to complete this diagram?