当使用具有较长内容的多列时,其他边缘列上的间距相等

当使用具有较长内容的多列时,其他边缘列上的间距相等
\documentclass{article}
\usepackage{amsmath}

\begin{document}
    \begin{equation*}
        \begin{array}{|r|c|l|}
            \multicolumn{3}{c}{%
               AAAAAAAAAAAAA 
            }\\
            a & b & c\\
            a & b & c
        \end{array}
    \end{equation*}
\end{document}

此代码输出如下:

我的输出

这会扩展右侧的列。我怎样才能使左列和右列同样扩展?(例如“a|b|c”应该位于“AAAAAA”中间)

例子:

预期输出

答案1

以下是让 LaTeX 执行列宽计算的一种方法。全面的的宽度array设置为指令的参数\multicolumn{3}{|c|}{...}。要点是使用以长度参数为参数的列类型,而不是基本的lcr列类型。

在此处输入图片描述

\documentclass{article}

\usepackage{array} % for 'w' column type
\newlength{\mylen}
\settowidth\mylen{$AAAAAAAAAAAAAAA$}
\addtolength\mylen{\dimexpr-4\arraycolsep-2\arrayrulewidth\relax}
\setlength\mylen{\dimexpr\mylen/3\relax}

\newcolumntype{L}{w{l}{\mylen}}
\newcolumntype{C}{w{c}{\mylen}}
\newcolumntype{R}{w{r}{\mylen}}

\begin{document}
\[
\begin{array}{|R|C|L|}
    \multicolumn{3}{|c|}{AAAAAAAAAAAAAAA}\\
    \hline
    a & b & c\\
    \dots & \dots & \dots \\
    a & b & c
\end{array}
\]
\end{document}

附录:如果您想要的只是a|b|c更紧凑地排版材料,我建议您采用嵌套array方法。

在此处输入图片描述

\documentclass{article}
\begin{document}
\[
  \begin{array}{|c|}
    AAAAAAAAAAAAA \\ 
    \hline
    \begin{array}{r|c|l}
        a & b & c\\
        a & b & c
    \end{array}
  \end{array}
\]
\end{document}

相关内容