![方程环境中的双对齐](https://linux22.com/image/306950/%E6%96%B9%E7%A8%8B%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E5%8F%8C%E5%AF%B9%E9%BD%90.png)
我在方程环境中有四条线,我想将第一条与第三条对齐,将第二条与第四条对齐。这是我目前得到的结果:
\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}