如题,这是预期的目标效果:

其中的关键是这里「被延展过的垂直\rightleftharpoons」,可以考虑如下的简化MWE:
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\DeclareMathOperator{\Inv}{Inv}
\DeclareMathOperator{\Gal}{Gal}
\begin{document}
\begin{equation*}
\begin{array}{*{3}{c}}
\Inv{H_2} & & \Inv{H_1}
\\[1mm]
\rotatebox{90}{$=$} & & \rotatebox{90}{$=$}
\\[1mm]
E_2 & \supseteq & E_1
\\[2mm]
\rotatebox[origin=c]{90}{$\rightleftharpoons$} & & \Big\updownarrow
\\[2mm]
H_2 & \subseteq & H_1
\\[1mm]
\rotatebox{90}{$=$} & & \rotatebox{90}{$=$}
\\[1mm]
\Gal(K/E_2) & & \Gal(K/E_1)
\end{array}
\end{equation*}
\end{document}
tikz-cd 方案
此事在 tikz-cd 手册中已有记载
使用 xshift 做一些平移就可得到完整的图形,其中还有一些技巧,例如 phantom 在手册有专门的小节介绍
完整代码如下:
\documentclass{standalone}
\usepackage{tikz-cd}
\NewDocumentCommand{\Inv}{}{\mathrm{Inv}}
\NewDocumentCommand{\Gal}{}{\mathrm{Gal}}
\begin{document}
\begin{tikzcd}
& \Inv \{e\} \rar[phantom]{\cdots} \dar[equal]
& \Inv H_{2} \dar[equal]
& \Inv H_{1} \rar[phantom]{\cdots} \dar[equal]
& \Inv G \dar[equal]\\
\Sigma \rar[phantom]{:} \dar[rightharpoonup,xshift=2]{\Gal}
& K \rar[phantom]{\supseteq \; \cdots \; \supseteq}
\dar[leftrightarrow]
& E_{2} \ar[phantom]{r}{\supseteq}
\dar[leftrightarrow]
& E_{1} \rar[phantom]{\supseteq \; \cdots \; \supseteq}
\dar[leftrightarrow]
& F \dar[leftrightarrow] \\
\Gamma \rar[phantom]{:} \uar[rightharpoonup,xshift=-2]{\Inv}
& \{e\} \rar[phantom]{\subseteq \; \cdots \; \subseteq}
\dar[equal]
& H_{2} \rar[phantom]{\subseteq}
\dar[equal]
& H_{1} \rar[phantom]{\subseteq \; \cdots \; \subseteq}
\dar[equal]
& G \dar[equal] \\
& \Gal (K / K) \rar[phantom]{\cdots}
& \Gal (K / E_{2})
& \Gal (K / E_{1}) \rar[phantom]{\cdots}
& \Gal (K / F) \\
\end{tikzcd}
\end{document}这是一个半成品,但我不打算继续下去了,有以下几个缺陷:
chemarr提供的\xrightleftharpoons箭头并非良策\rotatebox[origin=c]{90}{...}\;以及\,并不准确,且难以和\Big\updownarrow做到精确同高\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\DeclareMathOperator{\Inv}{Inv}
\DeclareMathOperator{\Gal}{Gal}
\usepackage{chemarr}%<---
\usepackage{lua-visual-debug}
\begin{document}
$X \xrightleftharpoons[o]{o} Y$
$X \xrightleftharpoons[{\;ooo}]{{ooo\;}} Y$
$X \xrightleftharpoons[{\rotatebox[origin=c]{-90}{$\Gal$}}]{{\rotatebox[origin=c]{-90}{$\,\Inv\,$}}} Y$
$X \xrightleftharpoons[\quad{\rotatebox[origin=c]{-90}{$\,\Gal\,$}}\quad]{\quad{\rotatebox[origin=c]{-90}{$\,\Inv\,$}}\quad} Y$
\bigskip
$X \rotatebox[origin=c]{90}{\xrightleftharpoons[\quad{\rotatebox[origin=c]{-90}{$\,\Gal\,$}}\quad]{\quad{\rotatebox[origin=c]{-90}{$\,\Inv\,$}}\quad}} Y$
\end{document}
下面是完整的半成品代码:
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\DeclareMathOperator{\Inv}{Inv}
\DeclareMathOperator{\Gal}{Gal}
\usepackage{chemarr}%<---
\begin{document}
\begin{equation*}
\begin{array}{*{3}{c}}
\Inv{H_2} & & \Inv{H_1}
\\[1mm]
\rotatebox{90}{$=$} & & \rotatebox{90}{$=$}
\\[1mm]
E_2 & \supseteq & E_1
\\[2mm]
\;\rotatebox[origin=c]{90}{$\xrightleftharpoons[\;\,{\rotatebox[origin=c]{-90}{$\;\Gal\;$}}\,\;]{{\rotatebox[origin=c]{-90}{$\;\Inv\;$}}}$} & & \Big\updownarrow
\\[2mm]
H_2 & \subseteq & H_1
\\[1mm]
\rotatebox{90}{$=$} & & \rotatebox{90}{$=$}
\\[1mm]
\Gal(K/E_2) & & \Gal(K/E_1)
\end{array}
\end{equation*}
\end{document}
最佳实践还应当是tikzcd...有更准确的位置设置和箭头支持:-[