因此,目前我在数组周围使用花括号,并在数组的部分内容旁边使用竖线\multicolumn
:
\[
f_{i_k}(a)=
\left\{
\begin{array}{|c|c|c|r}
\multicolumn{1}{c}{k=1} & \multicolumn{1}{c}{k=2} & \multicolumn{1}{c}{k=3} \\
A'(a), & B(a), & C(a), &i=1 \\
A(a), & B'(a), & C(a), &i=2 \\
A(a), & B(a), & C'(a), &i=3
\end{array}
\right.
\]
这给了我这个:
但是我希望花括号仅延伸到带有竖线的行,即底部三行。
有什么想法可以实现吗?简单地将\left\{
和放在\right.
数组中似乎不起作用
答案1
这是一个使用嵌套数组的解决方案,需要手动调整。我将使用blkarray
包提供另一种自动解决方案。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
f_{i_k}(a)=
\begin{array}{c}
\begin{array}{cccr}
k = 1 & \,k = 2\, & \,k = 3 & \hspace{1.2em} \\
\end{array}\\
\left \{
\begin{array}{|c|c|c|r}
A'(a), & B(a), & C(a), &i=1 \\
A(a), & B'(a), & C(a), &i=2 \\
A(a), & B(a), & C'(a), &i=3
\end{array}
\right.
\end{array}
\]
\end{document}
使用\usepackage{blkarray}
,这是另一种选择:
\[
f_{i_k}(a) =
\begin{blockarray}{ccccr}
&k=1 & k=2 & k=3 & \\
\begin{block}{@{}c\{@{}|c|c|c|r}
&A'(a), & B(a) , & C(a) , & i=1 \\
&A(a) , & B'(a), & C(a) , & i=2 \\
&A(a) , & B(a) , & C'(a), & i=3 \\
\end{block}
\end{blockarray}
\]
结果略有不同:
答案2
这是一个{NiceArray}
使用 的解决方案nicematrix
。
我已经使用了{NiceArray}
键first-row
,因此在“第一行”中没有垂直规则。
对于垂直括号,我使用了环境\SubMatrix
中可用的命令。\CodeAfter
{NiceArray}
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[
f_{i_k}(a)= \quad
\begin{NiceArray}{|c|c|c|r}[first-row]
k=1 & k=2 & k=3 \\
A'(a), & B(a), & C(a), &i=1 \\
A(a), & B'(a), & C(a), &i=2 \\
A(a), & B(a), & C'(a), &i=3
\CodeAfter \SubMatrix{\{}{1-1}{3-1}{.}[left-xshift=0.5em]
\end{NiceArray}
\]
\end{document}
您需要多次编译(因为nicematrix
使用 PGF/Tikz 节点)。
如果您希望将等号与括号对齐,请使用以下键baseline
:
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[
f_{i_k}(a)= \quad
\begin{NiceArray}{|c|c|c|r}[first-row,baseline=2]
k=1 & k=2 & k=3 \\
A'(a), & B(a), & C(a), &i=1 \\
A(a), & B'(a), & C(a), &i=2 \\
A(a), & B(a), & C'(a), &i=3
\CodeAfter \SubMatrix{\{}{1-1}{3-1}{.}[left-xshift=0.5em]
\end{NiceArray}
\]
\end{document}