# Cube with tikzcd

I am trying to make a cube like this:

I included the text so you can see that the cube is not more broad than the text. This is from the paper https://arxiv.org/pdf/math/0609301.pdf Proposition 3.6. My attempt is:

\documentclass[11pt]{report}
\usepackage{tikz-cd}
\usepackage{amsmath}

$$\begin{tikzcd}[row sep = 25, column sep = -15] & (E_2^{\wedge})^*(c(\rproj{r-1} \times \rproj{s-1})) \arrow[dl, leftarrow, "\eta"] \arrow[rr, leftarrow] \arrow[dd, leftarrow] & & (E_2^{\wedge})^*(c(\rproj{\infty} \times \rproj{\infty})) \arrow[dd, leftarrow] \arrow[dl, leftarrow, "\eta"] \\ E^*(\rproj{r-1} \times \rproj{s-1}) \arrow[rr, "(j \times j)^*" {xshift=15pt}, leftarrow, crossing over] && E^*(\rproj{\infty} \times \rproj{\infty}) \\ & (E_2^{\wedge})^*(c\rproj{n-1}) \arrow[rr, leftarrow] \arrow[dl, leftarrow, "\eta"] && (E_2^{\wedge})^*(c\rproj{\infty}) \arrow[dl, leftarrow, "\eta"] \\ E^*(\rproj{n-1}) \arrow[rr, leftarrow] && E^*(\rproj{\infty}) \arrow[from = uu, leftarrow, crossing over, "\mu^*" {yshift=10pt}] \end{tikzcd}.$$


This code leads to the following cube: How can I make the cube in a way that is does not go over the edge of the page?

• does it have to be tikz? why not the xymatrix source of the document? Aug 10, 2023 at 21:48
• You can always make the column sep even smaller (into the negatives). Aug 11, 2023 at 0:33

arxiv makes the source of almost all documents available.

\documentclass{amsart} % Nicer than default article style: less

\usepackage{amsmath,amsthm}     % Handy math stuff, theorem environments.
\usepackage{amssymb}            % Fancy math symbols.
\usepackage{euscript}           % Nice script font.
\usepackage{enumerate,calc}
\usepackage[matrix,arrow,curve,frame]{xy}    % XY-pic diagram pac

\xymatrixcolsep{1.9pc}                          % Adjust size of diagrams.
\xymatrixrowsep{1.9pc}
\newdir{ >}{{}*!/-5pt/\dir{>}}                  % Make better tailed arrows
\newcommand{\RP}{\R{\text{\sl P}}}
\newcommand{\Ecomp}{E^{\wedge}}
\newcommand{\field}[1]  {\mathbb #1} % Use blackboard bold for these sets
\newcommand{\R}         {\field R}
\begin{document}

of spaces, to which we apply the functor $E^*$.  The natural
transformation $\eta$ from Proposition \ref{prop:eta2} gives us a commutative
diagram
$\xymatrix@C-10ex{ & (\Ecomp_2)^*c(\RP^{r-1} \times \RP^{s-1}) & & (\Ecomp_2)^*c(\RP^\infty \times \RP^\infty) \ar[ll] \\ E^*(\RP^{r-1} \times \RP^{s-1}) \ar[ur] & & E^*(\RP^\infty \times \RP^\infty) \ar[ll]\ar[ur] \\ & (\Ecomp_2)^* (c\RP^{n-1}) \ar[uu]|(.5)\hole & & (\Ecomp_2)^* (c\RP^\infty) \ar[uu]\ar[ll]|(.5)\hole \\ E^* (\RP^{n-1}) \ar[ur] & & E^* (\RP^\infty) \ar[uu]\ar[ll]\ar[ur] }$
in which all four diagonal maps are isomorphisms.
in which all four diagonal maps are isomorphisms.
in which all four diagonal maps are isomorphisms.
in which all four diagonal maps are isomorphisms.
\end{document}


This is extracted from

https://arxiv.org/e-print/math/0609301

which is a latex file, despite having no extension to the filename.

I believe 3d cd to be helpful in this case. This makes it so that the matrix only has two columns where the contents of the odd rows are shifted to the right making it independent of any column separations.

Setting the column sep to zero (which now becomes the horizontal spacing between the background and the foreground) makes it fit.

It doesn't make it magically fit the width but it's easier to adjust these values then.

## Code

\documentclass[11pt]{report}
\usepackage{tikz-cd}
\usepackage{amsmath, amssymb}
\newcommand*\rproj[1]{\mathbb{R}P^{#1}}
\tikzcdset{3d cd/.style={/tikz/every odd row/.append style={xshift={#1}}}}
\begin{document}
of spaces, to which we apply the functor $E^*$.
The natural transformation $\eta$ from
Proposition~3.2 gives us a commutative diagram
$$\begin{tikzcd}[3d cd=6em, column sep=+0em] (E_2^{\wedge})^*(c(\rproj{r-1} \times \rproj{s-1})) \arrow[d, leftarrow, "\eta"] \arrow[r, leftarrow] \arrow[dd, leftarrow] & (E_2^{\wedge})^*(c(\rproj{\infty} \times \rproj{\infty})) \arrow[d, leftarrow] \arrow[d, leftarrow, "\eta"] \\ E^*(\rproj{r-1} \times \rproj{s-1}) \arrow[r, "(j \times j)^*", leftarrow, crossing over] & E^*(\rproj{\infty} \times \rproj{\infty}) \\ (E_2^{\wedge})^*(c\rproj{n-1}) \arrow[r, leftarrow] \arrow[d, leftarrow, "\eta"] & (E_2^{\wedge})^*(c\rproj{\infty}) \arrow[d, leftarrow, "\eta"] \\ E^*(\rproj{n-1}) \arrow[r, leftarrow] & E^*(\rproj{\infty}) \arrow[from = uu, leftarrow, crossing over, "\mu^*" yshift=10pt] \end{tikzcd}$$
in which all four diagonal maps are isomorphisms.
\end{document}