方程环境中的双对齐

方程环境中的双对齐

我在方程环境中有四条线,我想将第一条与第三条对齐,将第二条与第四条对齐。这是我目前得到的结果:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}

\newcommand{\R}{\mathbb R}
\newcommand{\Rn}{\R^n}

\begin{document}
    \[
        \begin{aligned}
            &\begin{aligned}
                (+)~:&~\ \Rn \times \Rn \longrightarrow \Rn\\
                     &~\ (a_1,\,\dots,\,a_n),\,(b_1,\,\dots,\,b_n) \longmapsto
                    (a_1 + b_1,\,\dots,\,a_n + b_n)
            \end{aligned}\\
            &\begin{aligned}
                (\star)~:&~\ \R \times \Rn \longrightarrow \Rn\\
                         &~\ \lambda,\,(a_1,\,\dots,\,a_n) \longmapsto
                    (\lambda a_1,\,\dots,\,\lambda a_n)
            \end{aligned}
        \end{aligned}
    \]
\end{document}

结果如下:
结果

但是,我想对齐冒号而不是行首。可以吗?我尝试使用表格环境,但结果很糟糕。

答案1

单个align*(或aligned内部equation*) 就足够了。

注意全部您添加的间距命令~\,是错误的。此外,在我看来,\longrightarrow\longmapsto太突出,对清晰度没有任何帮助。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}

\newcommand{\R}{\mathbb{R}}
\newcommand{\Rn}{\R^n}

\begin{document}

\begin{align*}
(+)\colon& \Rn \times \Rn \rightarrow \Rn \\
         & \bigl( (a_1,\dots,a_n),(b_1,\dots,b_n) \bigr) \mapsto (a_1 + b_1,\dots,a_n + b_n)
\\
(\star)\colon& \R \times \Rn \rightarrow \Rn \\
             & \bigl( \lambda,(a_1,\dots,a_n) \bigr) \mapsto (\lambda a_1,\dots,\lambda a_n)
\end{align*}

\end{document}

在此处输入图片描述

一个可能的改进是在两个地图定义之间添加一些垂直空间:

\begin{align*}
(+)\colon& \Rn \times \Rn \rightarrow \Rn \\
         & \bigl( (a_1,\dots,a_n),(b_1,\dots,b_n) \bigr) \mapsto (a_1 + b_1,\dots,a_n + b_n)
\\[1ex]
(\star)\colon& \R \times \Rn \rightarrow \Rn \\
             & \bigl( \lambda,(a_1,\dots,a_n) \bigr) \mapsto (\lambda a_1,\dots,\lambda a_n)
\end{align*}

在此处输入图片描述

答案2

我觉得alignat*在这种情况下,一个就足够了

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}

\newcommand{\R}{\mathbb R}
\newcommand{\Rn}{\R^n}

\begin{document}
\begin{alignat*}{3}
        &(+)&\colon &\Rn \times \Rn \longrightarrow \Rn\\
        &   &       &(a_1,\dots,a_n),\,(b_1,\dots,b_n) \longmapsto
                     (a_1 + b_1,\dots,a_n + b_n)\\[1ex]
        &(\star)&\colon &\R \times \Rn \longrightarrow \Rn\\
        &       &       &\lambda,(a_1,\dots,a_n) \longmapsto
                         (\lambda a_1,\dots,\lambda a_n)
\end{alignat*}
\end{document}

在此处输入图片描述

或单个align*

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}

\newcommand{\R}{\mathbb R}
\newcommand{\Rn}{\R^n}

\begin{document}
\begin{align*}
        (+)\colon &\Rn \times \Rn \longrightarrow \Rn\\
                  &(a_1,\dots,a_n),(b_1,\dots,b_n) \longmapsto
                   (a_1 + b_1,\dots,a_n + b_n)\\[1ex]
        (\star)\colon &\R \times \Rn \longrightarrow \Rn\\
                      &\lambda,(a_1,\dots,a_n) \longmapsto
                        (\lambda a_1,\dots,\lambda a_n)
\end{align*}
\end{document}

在此处输入图片描述

取决于您的偏好。请注意,在这些情况下\colon,而不是:给出正确的间距。

答案3

我认为冒号周围的水平间距太大,两组方程应该垂直分开。我建议这样做,简化代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}

\newcommand{\R}{\mathbb R}
\newcommand{\Rn}{\R^n}

\begin{document}

        \begin{align*}
            (+)&:\begin{aligned}[t]
                &\Rn \times \Rn \longrightarrow \Rn\\[-0.5ex]
                     &(a_1,\,\dots,\,a_n),\,(b_1,\,\dots,\,b_n) \longmapsto
                    (a_1 + b_1,\,\dots,\,a_n + b_n)
            \end{aligned}\\[1ex]
            (\star)&:\begin{aligned}[t]
&\R \times \Rn \longrightarrow \Rn\\[-0.5ex]
                         &(\lambda,\,(a_1,\,\dots,\,a_n)) \longmapsto
                    (\lambda a_1,\,\dots,\,\lambda a_n)
            \end{aligned}
        \end{align*}

\end{document} 

在此处输入图片描述

相关内容