表格中的意外列间距行为

表格中的意外列间距行为

在 LaTeX 中创建表格时,我遇到了一些意外行为。我从下面的 MWE 中的表 1 开始。但是,我不喜欢这种外观,因为它没有填满整个页面的宽度。

我的理解tabular是,通过添加@{\extracolsep{\fill}},我将插入恰到好处的空间,以便表格环境填满整个宽度。然而,令我惊讶的是,其他列之间的间距我周围充满@{}。我原本期望这些列(MWE 中的(2 和 3)以及(4 和 5))保持靠近。

一些进一步的实验似乎表明,这个“填充”列的位置很重要,因为 MWE 中的表 3 的行为与我预期的一样。具体来说,第 4 列和第 5 列被推开,但第 2 列和第 3 列仍然紧密相连。

如何将第 1 列和第 2 列分开,而不影响其他列的定位?为什么表 2 不是正确的做法?

\documentclass{article}
\begin{document}
\begin{table}
    \centering
    % Table 1
    \begin{tabular*}{\linewidth}{@{}lc@{}rc@{}r@{}}
        Left & Center & Right & Center & Right \\
        \hline
        Text & Text & Text & Text & Text \\
    \end{tabular*}

    % Table 2
    \begin{tabular*}{\linewidth}{@{}l@{\extracolsep{\fill}}c@{}rc@{}r@{}}
        Left & Center & Right & Center & Right \\
        \hline
        Text & Text & Text & Text & Text \\
    \end{tabular*}

    % Table 3
    \begin{tabular*}{\linewidth}{@{}lc@{}rc@{\extracolsep{\fill}}r@{}}
        Left & Center & Right & Center & Right \\
        \hline
        Text & Text & Text & Text & Text \\
    \end{tabular*}

\end{table}
\end{document}

答案1

据我了解,你正在寻找类似

\documentclass{article}
\begin{document}
\begin{table}
    \centering
    % Table 2
    \begin{tabular*}{\linewidth}{@{}l@{\extracolsep{\fill}}c@{\extracolsep{0pt}}rc@{}r@{}}
        Left & Center & Right & Center & Right \\
        \hline
        Text & Text & Text & Text & Text \\
    \end{tabular*}
\end{table}
\end{document}

相关内容