当在多个位置对齐方程时,如何使元素居中?

当在多个位置对齐方程时,如何使元素居中?

我正在尝试排版一组地图。在这个网站上搜索了一下,我发现这alignat是正确的工具,于是我设法写了以下内容:

\documentclass{article}
\usepackage{mathtools}
\begin{document}

\begin{alignat*}{3}
    \iota \colon X &\to     X \times [0,1] &\to&     C(X)    \\
                 x &\mapsto (x,0)          &\mapsto& [(x,0)] .
\end{alignat*}

\end{document}

结果是:

在此处输入图片描述

问题是,如何使箭头之间的元素居中?

答案1

我认为您无法通过alignat*环境实现格式化目标,至少不是那么容易。我建议您改用array环境。

在此处输入图片描述

请注意,我将该\iota\colon部分从array环境中取出。

\documentclass{article}
\usepackage{amsmath,array,xcolor}
\newcolumntype{C}{>{{}}c<{{}}} % for binary and relational operators
\setlength\textwidth{3in} % just for this example
\begin{document}

\textcolor{red}{\texttt{alignat*}}
\begin{alignat*}{2}
    \iota \colon X &\to     X \times [0,1] &{}\to{}    & C(X)    \\
                 x &\mapsto (x,0)          &{}\mapsto{}& [(x,0)] .
\end{alignat*}

\textcolor{red}{\texttt{array}}
\[
\setlength\arraycolsep{0pt}
\iota\colon
\begin{array}[t]{rCcCl}
                 X &\to    & X \times [0,1] &\to    & C(X)    \\[0.33ex]
                 x &\mapsto& (x,0)          &\mapsto& [(x,0)] .
\end{array}
\end{document}

相关内容