# amscd and Cichoń's Diagram

I'm working on this short paper about cardinal invariants in Cichoń's diagram. I wanted to somehow draw in tex. I have no previous experience in drawing any kind of diagrams in tex. Usinge package amscd and this code:

$$\begin{CD} @. cov(\mathcal{N}) @>>> non(\mathcal{M}) @>>> cof(\mathcal{M}) @>>> cof(\mathcal{N}) @>>> 2^{\aleph_0}\\ @. @AAA @AAA @AAA @AAA\\ @. @AAA \mathfrak{b} @>>> \mathfrak{d} @. @AAA\\ @. @AAA @AAA @AAA @AAA\\ \aleph_1 @>>> add(\mathcal{N}) @>>> add(\mathcal{M}) @>>> cov(\mathcal{M}) @>>> non(\mathcal{N}) \end{CD}$$


I end up with the following result:

Is there any way I can make these sequences of arrows on left and right just 1 long one? Or maybe there's a simpler way to do this?

• I would suggest the tikz-cd package instead. The amscd package is to say the least, minimally documented. Commented Dec 13, 2020 at 0:33
• In the future, when you post a question, please provide a "Minimal Working Example" (MWE) that starts with \documentclass, includes all relevant \usepackage commands, ends with \end{document} and compiles without errors, even if it does not produce your desired output. Welcome to TeX.SX! Commented Dec 13, 2020 at 1:17

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]\\ \aleph_1\arrow[r] & \add(\mathcal{N})\arrow[uu]\arrow[r] & \add(\mathcal{M})\arrow[r]\arrow[u] & \cov(\mathcal{M})\arrow[r]\arrow[u] & \non(\mathcal{N})\arrow[uu] \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}{@{}c@{}} \big\uparrow \\ \noalign{\vspace{0.5ex}} #1 \\ \noalign{\vspace{0.5ex}} \big\uparrow \end{array}% } \newcommand{\lto}{{}\longrightarrow{}} \setlength{\nulldelimiterspace}{0pt} \begin{array}{@{}*{11}{c@{}}} && \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}} && \left\uparrow\vphantom{\middlecolumn{\mathfrak{b}}}\right. && \middlecolumn{\mathfrak{b}} & \makebox[0pt]{\xrightarrow{\hspace{3.5em}}} & \middlecolumn{\mathfrak{d}} && \left\uparrow\vphantom{\middlecolumn{\mathfrak{b}}}\right. \\ \noalign{\vspace{0.5ex}} \aleph_1 & \lto & \operatorname{add}(\mathcal{N}) & \lto & \operatorname{add}(\mathcal{M}) & \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] & \operatorname{add}(\mathcal{N}) \ar[r] \ar[uu] & \operatorname{add}(\mathcal{M}) \ar[r] \ar[u] & \operatorname{cov}(\mathcal{M}) \ar[r] \ar[u] & \operatorname{non}(\mathcal{N}) \ar[uu] }$

\end{document}