# amscd and Cichoń’s Diagram

Here is a solution with `tikz-cd`.

I used the upright shape for the cardinal characteristics, which is how I’ve seen them. If you prefer the slanted shape, I recommend you use `mathit{...}`. Otherwise the spacing is off. I declared them as math operators for convenience.

``````documentclass{article}

usepackage{mathtools,amsfonts} % mathtools to use DeclareMathOperator command
usepackage{tikz-cd}

DeclareMathOperator{cov}{cov}
DeclareMathOperator{non}{non}
DeclareMathOperator{cof}{cof}

begin{document}

[
begin{tikzcd}
& cov(mathcal{N})arrow[r] & non(mathcal{M})arrow[r] & cof(mathcal{M})arrow[r] & cof(mathcal{N})arrow[r] & 2^{aleph_0}\
& & mathfrak{b}arrow[u]arrow[r] & mathfrak{d}arrow[u]\
end{tikzcd}
]

end{document}
``````

Just for fun, two alternatives, although I recommend `tikz-cd`.

``````documentclass{article}
usepackage{amsmath,amsfonts}

begin{document}

[
newcommand{middlecolumn}[1]{%
begin{array}{@{}[email protected]{}}
biguparrow \
noalign{vspace{0.5ex}}
#1 \
noalign{vspace{0.5ex}}
biguparrow
end{array}%
}
newcommand{lto}{{}longrightarrow{}}
setlength{nulldelimiterspace}{0pt}
begin{array}{@{}*{11}{[email protected]{}}}
&&
operatorname{cov}(mathcal{N}) & lto &
operatorname{non}(mathcal{M}) & lto &
operatorname{cof}(mathcal{M}) & lto &
operatorname{cof}(mathcal{N}) & lto &
2^{aleph_0} \
noalign{vspace{0.5ex}}
&& leftuparrowvphantom{middlecolumn{mathfrak{b}}}right.
&& middlecolumn{mathfrak{b}} &
makebox[0pt]{\$xrightarrow{hspace{3.5em}}\$}
& middlecolumn{mathfrak{d}}
&& leftuparrowvphantom{middlecolumn{mathfrak{b}}}right. \
noalign{vspace{0.5ex}}
aleph_1 & lto &
operatorname{cov}(mathcal{M}) & lto &
operatorname{non}(mathcal{N}) &
end{array}
]

end{document}
``````

## Xy-pic

``````documentclass{article}
usepackage{amsmath,amsfonts}
usepackage[all,cmtip]{xy}

begin{document}

[
[email protected]@C-0.8pc{
&
operatorname{cov}(mathcal{N}) ar[r] &
operatorname{non}(mathcal{M}) ar[r] &
operatorname{cof}(mathcal{M}) ar[r] &
operatorname{cof}(mathcal{N}) ar[r] &
2^{aleph_0} \
&& mathfrak{b} ar[r] ar[u] & mathfrak{d} ar[u] \
aleph_1 ar[r] &