3

I have a really big commutative cube that I would like to display in a figure. It seems like the easiest way to do so is to use sidewaysfigure*, since the cube is much wider than it is tall (because of the length of the expressions in all the vertices), but this leaves me with a problem: namely, the \centering command doesn't work at all: neither the caption nor the diagram are 'vertically' centred on the page.

I have tried using memoir's \centerfloat command instead, but this changes nothing.

I think this might have something to do with the fact that my 'figure' is really just a display maths environment, because even if I switch the sidewaysfigure* to a figure, the caption still doesn't centre. (Neither does the diagram, but, to be fair, it then overruns the right-hand margin by quite a bit, so maybe TeX is doing its best...)

(Bonus) The labels of the vertices of the cube are still really long. Is there any way to put a line break before the $\otimes\Omega_{X_\bullet^\mathcal{U}}^1$ in each of the expressions on the bottom face?


My code (omitting the red footnotes):

\documentclass{memoir}
\usepackage{rotating}
\usepackage{tikz-cd}
\newcommand{\nerve}[1]{X_{#1}^\mathcal{U}}
\newcommand{\nervesimplex}[1]{\nerve{#1}\times\Delta^{#1}}
\newcommand{\anotherbullet}{\circ}
\newcommand{\comparison}[1]{\mathfrak{C}_{#1}}
\newcommand{\id}{\mathrm{id}}
\begin{sidewaysfigure*}
\centering
\[
    \begin{tikzcd}[row sep=huge,column sep=tiny]
        &\left(\nerve{\bullet} f_p^i\times\id\right)^*\pi_{p-1}^*\left(\nerve{\bullet} z_{p-1}\right)^*\mathcal{E}_0^j
            \ar[rr, "\comparison{p}^i\left(\left(\nerve{\bullet}z_\anotherbullet\right)^*\mathcal{E}_0^j\right)" description]
            \ar[dd,"\left(\nerve{\bullet} f_p^i\times\id\right)^*\Gamma" description, near start]
            \ar[ld, "\left(\nerve{\bullet}\times f_p^i\right)^*\pi_{p-1}^*(\mathcal{E}_\bullet^j z_{p-1})" description]
        &&\left(\id\times f_p^i\right)^*\pi_p^*\left(\nerve{\bullet}z_p\right)^*\mathcal{E}_0^j
            \ar[dd,"\left(\id\times f_p^i\right)^*\Gamma" description]
            \ar[ld, "\left(\id\times f_p^i\right)^*\pi_p^*(\mathcal{E}_\bullet^j z_p)" description]\\
        \left(\nerve{\bullet} f_p^i\times\id\right)^*\pi_{p-1}^*{\mathcal{E}_{p-1}^j}
            \ar[rr,"\comparison{p}^i(\mathcal{E}_\bullet)" description, near start, crossing over]
            \ar[dd,"\left(\nerve{\bullet} f_p^i\times\id\right)^*\nabla_{p-1}^{(j)}" description]
        &&\left(\id\times f_p^i\right)^*\pi_p^*{\mathcal{E}_p^j}&\\
        &\left(\nerve{\bullet} f_p^i\times\id\right)^*\pi_{p-1}^*\left(\nerve{\bullet} z_{p-1}\right)^*\mathcal{E}_0^j\otimes\Omega^1_{\nervesimplex{p}}
            \ar[rr, "\comparison{p}^i\left(\left(\nerve{\bullet}z_\anotherbullet\right)^*\mathcal{E}_0^j\right)\otimes\id" description, near start]
            \ar[ld, "\left(\nerve{\bullet}\times f_p^i\right)^*\pi_{p-1}^*(\mathcal{E}_\bullet^j z_p)\otimes\id" description]
        &&\left(\id\times f_p^i\right)^*\pi_p^*\left(\nerve{\bullet}z_p\right)^*\mathcal{E}_0^j\otimes\Omega^1_{\nervesimplex{p}}
            \ar[ld, "\left(\id\times f_p^i\right)^*\pi_p^*(\mathcal{E}_\bullet^j z_p)\otimes\id" description]\\
        \left(\nerve{\bullet} f_p^i\times\id\right)^*\pi_{p-1}^*{\mathcal{E}_{p-1}^j}\otimes\Omega^1_{\nervesimplex{p}}
            \ar[rr,"\comparison{p}^i(\mathcal{E}_\bullet)\otimes\id" description]
        &&\left(\id\times f_p^i\right)^*\pi_p^*{\mathcal{E}_p^j}\otimes\Omega^1_{\nervesimplex{p}}
            \ar[from=uu,"\left(\id\times f_p^i\right)^*\nabla_p^{(j)}" description, near start, crossing over]
        &
    \end{tikzcd}
\]
\caption{The cube given by combining the simplicial condition on the connection with the (pullback of the) definition of being generated in degree zero. That is, the front face is \cref{equation:simplicial-condition-square}; and the left and right faces are \cref{equation:generated-in-degree-zero-definition-square}. The bottom face is the tensor product of the top face with $\Omega_{\nervesimplex{p}}^1$.}\label{figure:the-secret-cube}
\end{sidewaysfigure*}

The result: enter image description here

Tim
  • 369

1 Answers1

1

You can try this to vertically center the figure:

\vspace*{\fill}
% Your figure
\vspace*{\fill}

I was not able to compile your provided example so I cannot check if it works for your setup.

I hope this helps.