我正在写一篇关于 Cichoń 图表中基数不变量的短文。我想以某种方式在 tex 中绘制。我以前没有在 tex 中绘制任何类型图表的经验。使用 amscd 包和此代码:
\begin{equation}\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}\end{equation}
我最终得到以下结果:
有什么方法可以让左右箭头序列变成一个长箭头吗?或者有更简单的方法吗?
答案1
这是一个解决方案tikz-cd
。
我使用直立形状来表示基本特征,这是我所看到的。如果您喜欢倾斜的形状,我建议您使用\mathit{...}
。否则间距不对。为了方便起见,我将它们声明为数学运算符。
\documentclass{article}
\usepackage{mathtools,amsfonts} % mathtools to use \DeclareMathOperator command
\usepackage{tikz-cd}
\DeclareMathOperator{\cov}{cov}
\DeclareMathOperator{\non}{non}
\DeclareMathOperator{\cof}{cof}
\DeclareMathOperator{\add}{add}
\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}
答案2
只是为了好玩,有两种选择,尽管我推荐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}