给出三行函数的定义 - 对齐

给出三行函数的定义 - 对齐

我怎样才能将其变成 tex 代码?我已经尝试使用 alignat{2},但没有得到任何令人满意的结果。

我的尝试:

\begin{alignat*}{4}
f:A&\to\mathrm{Aut}(A)&&&&\\
a&\mapsto\tilde{a}:B\to B,~&&b&&\mapsto a(b)&
\\&&&c&&\mapsto c&&
\end{alignat*}

但我不知道如何插入括号。

在此处输入图片描述

答案1

一般的想法是使用 &尽可能多的对齐标签。该命令\deffunctionfull负责函数定义的格式语法如下:

\deffunctionfull[<output>]{<function name>}{<domain>}{<range>}{<input>}

<output>可选的:不使用时,它会自动拆分<function name>(<input>)。但您可以发挥创意,想出自己的 <output>

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\Aut}{Aut}
\makeatletter
\newcommand*\deffunctionfull[5][\default@functionoutput]{%
  \def\default@functionoutput{#2(#5)}%
  \begin{array}{@{}r@{}l@{}}
  #2\colon#3 & {}\to#4 \\
          #5 & {}\mapsto#1
  \end{array}%
}
\makeatother

\begin{document}

\[
\begin{aligned}
&\deffunctionfull{f}{A}{\Aut(A)}{a} \\[1ex]
&\deffunctionfull[{\begin{bmatrix}
                   \tilde{a}\colon A\to A, & b\mapsto a(b)\\
                                           & c\mapsto c
                   \end{bmatrix}}]{f}{A}{\Aut(A)}{a} \\[1ex]
&\deffunctionfull[{\left[\begin{aligned}
                   \tilde{a}\colon A\to A, \quad b &\mapsto a(b)\\
                                                 c &\mapsto c
                   \end{aligned}\right]}]{f}{A}{\Aut(A)}{a} \\[1ex]
&\deffunctionfull[{\left[\begin{alignedat}{4}
                   &\tilde{a}\colon A &&\to AB, \quad &&ab &&\mapsto a(b)\\
                   &\text{anything}   &&\to A,        &&c  &&\mapsto c
                   \end{alignedat}\right]}]{f}{A}{\Aut(A)}{a}
\end{aligned}
\]

\end{document}

定义函数

相关内容