如何排版一个复杂的双射定义并使其具有良好的水平对齐?

如何排版一个复杂的双射定义并使其具有良好的水平对齐?

以下是我所说的一个典型例子:

\begin{align*}
\mathcal{L}                        &\simeq     O^{-1}(T, S) \\
V                                  &\mapsto    f_V := \pi_S \circ \left(\pi_T |_V\right)^{-1} \\
V_f := \{t + f(t) | t \in T\} &\leftarrow f
\end{align*}

在我看来,结果看起来很乱。我希望一切都在中心对齐,箭头也相应地延伸 --- 看起来就像下面这样:

           ~
    X ----------> Y
    x |------> yyyyyyy
xxxxxxxxx <----| yyy

我想我可以使用array环境,但如何排版可扩展箭头?类似的问题在函数定义中的动态大小箭头 \mapsto;但我不理解那段代码,所以我不知道如何调整它(以及是否可能)。

感谢您的帮助!

答案1

你需要一个“图表制作”包。我知道 Xy-pic,但也tikz-cd可以使用:

\documentclass{article}
\usepackage[all,cmtip]{xy}
\begin{document}

\xymatrix@R=3pt{
  \mathcal{L} \ar@{<->}[r]^{\sim} &  O^{-1}(T, S) \\
  V \ar@{|->}[r] & f_V := \pi_S \circ (\pi_T|_V)^{-1} \\
  V_f := \{t + f(t)\mid t \in T\} & f \ar@{|->}[l]
}

\end{document}

在此处输入图片描述

以下是带有 的版本tikz-cd

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}[row sep=tiny]
\mathcal{L} \arrow[leftrightarrow]{r}{\sim} & O^{-1}(T, S) \\
V \arrow[mapsto]{r} & f_V := \pi_S \circ (\pi_T|_V)^{-1} \\
V_f := \{t + f(t)\mid t \in T\} & f \arrow[mapsto]{l}
\end{tikzcd}

\end{document}

在此处输入图片描述

相关内容