如何在对齐环境中居中?

如何在对齐环境中居中?

我经常看到两行对齐,其中第一行指定映射的定义域和余域,第二行描述映射如何作用于元素,例如按以下顺序:

我该如何创建这样的对齐?具体来说,我该如何将元素放在其所在组的正中央?我知道可以使用 \phantom 来实现这一点,但在这种情况下有点麻烦。有更好的解决方案吗?

抱歉,标题不够准确;我还没找到简洁的描述方式。提前致谢!

答案1

我会用array它。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[ \begin{array}{c *{4}{@{$\;$}c} }
0 \to \Omega^*(M) \to & \Omega^*(U) \oplus \Omega^*(V) & \to     & \Omega^*(U \cap V) & \to 0 \\
                      & (\omega,\tau)                  & \mapsto & \tau - \omega      &
\end{array} \]
\end{document}

答案2

越来越多的数学家和物理学家用 排版这些正合序列tikz-cd

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[column sep=1em,row sep=0.5ex]
0\arrow[r] &\Omega^*(M) \arrow[r] &
\Omega^*(U)\oplus\Omega^*(V) \arrow[r]&\Omega^*(U\cap V) 
\arrow[r] & 0 \\
& & (\omega, \tau) \arrow[r,mapsto] & \tau-\omega & 
\end{tikzcd}
\end{document}

在此处输入图片描述

答案3

您仍然可以使用align,只需要将第二行中的项目插入到与上面相应元素相同宽度的框中。calc包中makeboxwidthof可以为您完成此操作。

\documentclass{article}
\usepackage{amsmath}
\usepackage{calc}
\begin{document}

\newcommand{\sameas}[2]{\makebox[\widthof{$#1$}]{$#2$}}

\begin{align*}
0\to \Omega^*(M) \to \Omega^*(U)\oplus\Omega^*(V) &\mapsto \Omega^*(U\cap V) \to 0 \\
\sameas{\Omega^*(U)\oplus\Omega^*(V)}{(\omega,\tau)} &\to \sameas{\Omega^*(U\cap V)}{\tau-\omega}
\end{align*}

\end{document}

在此处输入图片描述

答案4

如果物品的高度不大,您可以使用标准工具来完成。

\documentclass{article}
\usepackage{amsmath}

\newcommand{\haselement}[2]{\begin{array}[t]{@{}c@{}}#1\\[0.5ex]#2\end{array}}
\newcommand{\tomapsto}{\mathrel{\haselement{\to}{\mapsto}}}

\begin{document}

\[
0 \to \Omega^*(M) \to
\haselement{\Omega^*(U) \oplus \Omega^*(V)}{(\omega,\tau)}
\tomapsto
\haselement{\Omega^*(U \cap V)}{\tau-\omega}
\to 0
\]

\end{document}

在此处输入图片描述

相关内容