我有以下代码
\begin{array}{rl}
\textbf{fetcher} : \mathcal{T} &\to \mathcal{T} \\
(P_{\star}, w) &\mapsto \bigcup \limits_{p \in P_{\star}} \left(
{\setstretch{1.25}
\begin{array}{llll}
best_{b_{R}} \big(& \big( R(p), &w_{R} \cdot \textbf{rank}_{R(p)} \big)&\big) \ \cup \\
best_{b_{C}} \big(& \big( C(p), &w_{C} \cdot \textbf{rank}_{C(p)} \big)&\big) \ \cup \\
best_{b_{A}} \big(& \big( A(p), &w_{A} \cdot \textbf{rank}_{A(p)} \big)&\big)
\end{array}}
\right)
\end{array}
结果是
但我更希望它看起来像这样:
我不确定array
这是否是最好的选择,但我没有找到更好的方法。有没有办法将第二个数组向下移动,或者我应该使用其他方法?
答案1
你不想要array
,但是aligned
:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\functionnameX}[1]{\mathit{#1}}
\newcommand{\functionnameY}[1]{\mathbf{#1}}
\newcommand{\best}{\functionnameX{best}}
\newcommand{\rank}{\functionnameY{rank}}
\newcommand{\fetcher}{\functionnameY{fetcher}}
\begin{document}
\[
\begin{aligned}
\fetcher\colon \mathcal{T} &\to \mathcal{T} \\
(P_{\star}, w) &\mapsto
\bigcup_{p \in P_{\star}}
\begin{aligned}[t]
\Bigl[&\best_{b_{R}} \bigl((R(p), w_{R} \cdot \rank_{R(p)})\bigr) \cup {} \\
&\best_{b_{C}} \bigl((C(p), w_{C} \cdot \rank_{C(p)})\bigr) \cup {}\\
&\best_{b_{A}} \bigl((A(p), w_{A} \cdot \rank_{A(p)})\bigr)\Bigr]
\end{aligned}
\end{aligned}
\]
\end{document}
注意,在开始分隔符前面使用\bigl
or ,在结束分隔符前面使用or 。我对以下论点的双括号有些怀疑\Bigr
\bigr
\Bigr
最好的。
还要注意,通过在前言中使用适当的定义,可以实现函数名称的统一外观。使用比\functionnameX
或\functionnameY
更好的名称来赋予它们一些语义,以帮助选择其中一个。
答案2
使用\begin{array}[t]
,使其与顶行对齐,\left( \right)
如果不需要,则删除,如第二幅图所示。(如果您想在顶部对齐的数组周围放置括号,那么该delarray
包可以提供帮助。)