在 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}