分组和对齐表达式

分组和对齐表达式

我想要实现的效果如下所示:

在此处输入图片描述

蓝线表示所需的对齐轴。具体来说,我希望对齐箭头,但映射表达式左侧有一个花括号。我希望尽可能简单地做到这一点,而无需手动调整。

我尝试了很多方法,主要是嵌套对齐环境amsmath。这种方法的明显问题是:通过将“映射到”表达式封装在它们自己的框中(以在左侧包含它们),它们会与外部对齐环境隔离。

我提供这个 MWE 是为了减少读者的打字量,但期望我所做的很少能够有助于解决问题。

\documentclass{minimal}
\usepackage{mathtools}

\begin{document}

\begin{align*}
  f \colon \{\,\text{long expr}\,\} &\rightarrow B\\
  \left\{
    \begin{aligned}
      a_1 &\mapsto b_1\\
      a_2 &\mapsto b_2
    \end{aligned}
  \right.
\end{align*}

\end{document}

答案1

在此处输入图片描述

有点作弊,但因为所有线都有标准高度

\documentclass{minimal}
\usepackage{mathtools}

\begin{document}

\begin{align*}
  f \colon \{\,\text{long expr}\,\} &\rightarrow B\\
  \left\{
    \begin{aligned}
      a_1 \\
      a_2 
    \end{aligned}
  \right.&
    \begin{aligned}
      &\mapsto b_1\\
      &\mapsto b_2
    \end{aligned}
\end{align*}

\end{document}

答案2

这是一个使用嵌套array环境的解决方案。

在此处输入图片描述

\documentclass{article}
\usepackage{newtxtext,newtxmath,array,amsmath}
\begin{document}
\[
\begin{array}{r@{\,}l}
f\colon\{\text{ long expr }\} & \to B \\
\left\{\begin{array}{@{}r@{}} a_1 \\ a_2 \end{array}\right. &
\begin{array}{@{}l@{}} \mapsto b_1 \\ \mapsto b_2\end{array}
\end{array}
\]
\end{document}

相关内容