\uparrow and its variations are variable-sized delimiters
While preparing a commutative diagram to be used in a MathJax environment I discovered the little gem that is already given away in the title. Basically I needed to draw a relatively complex commutative diagram (see below) without using extra packages like xypic
or (my favourite) PGF/TikZ. Only stuff from amsmath
(and its extended family) is allowed. That means hacking something together using array
.
You know variable-sized delimiters: they are either the \left(
, \right)
combo or variations on \big)
making all your delimiters look good in LaTeX. But \uparrow
and its related arrows \downarrow
, \Downarrow
, \Uparrow
, \updownarrow
and \Updownarrow
are variable-sized delimiters too! Which means they can be used to spice up your commutative diagram a little.
Compare $$ \begin{array}{ccccc} & & \mathrm{Nr}(\mathbb{Z}) & & \\ & & \phantom{\textrm{itp}}\downarrow\textrm{itp} & & \\ \mathrm{W}(\mathbb{Z}) & \overset{\tau}{\longrightarrow} & \hat{\Omega}(\mathrm{C}_\infty) & \overset{\mathrm{s}_t}{\longrightarrow} & \Lambda(\mathbb{Z}) \\ \phantom{\Phi}\downarrow\Phi & & \phantom{\hat{\varphi}}\downarrow\hat{\varphi} & & \phantom{\mathrm{L}_{\mathbb{Z}}}\downarrow\mathrm{L}_{\mathbb{Z}} \\ \prod_{n=1}^{+\infty}\mathbb{Z} & \longleftrightarrow & \mathrm{gh}(\mathrm{C}_\infty)=\mathbb{Z}^{\mathbb{N}^\times} & \longleftrightarrow & t\mathbb{Z}[\![t]\!] \end{array} $$ to $$ \begin{array}{ccccc} & & \mathrm{Nr}(\mathbb{Z}) & & \\ & & \phantom{\textrm{itp}}\Big\downarrow\textrm{itp} & & \\ \mathrm{W}(\mathbb{Z}) & \overset{\tau}{\longrightarrow} & \hat{\Omega}(\mathrm{C}_\infty) & \overset{\mathrm{s}_t}{\longrightarrow} & \Lambda(\mathbb{Z}) \\ \phantom{\Phi}\Big\downarrow\Phi & & \phantom{\hat{\varphi}}\Big\downarrow\hat{\varphi} & & \phantom{\mathrm{L}_{\mathbb{Z}}}\Big\downarrow\mathrm{L}_{\mathbb{Z}} \\ \prod_{n=1}^{+\infty}\mathbb{Z} & \longleftrightarrow & \mathrm{gh}(\mathrm{C}_\infty)=\mathbb{Z}^{\mathbb{N}^\times} & \longleftrightarrow & t\mathbb{Z}[\![t]\!] \end{array}.$$
The difference isn't shocking but it does like a little nicer. Another useful tricks when typesetting commutative diagrams in an array
environment: use \phantom
to center your labels next to a vertical arrow. In case you're wondering what the complete code for this example looks like:
And in case you're wondering about what the diagram actually means: it is the key diagram in explaining the relations between structures related to the ring of big Witt vectors and is taking from the paper The Burnside ring of the infinite cyclic group and its relations to the necklace algebra, $\lambda$-rings, and the universal ring of Witt vectors.
I have found out about XyJax, which allows you to use xypic
code in MathJax, but I wasn't aware at the time of writing the diagram and it's still an alpha release. Yet, it looks promising and complete obsoletes the reason for this post!