使用换行功能将线宽均匀分布到表格列中

使用换行功能将线宽均匀分布到表格列中

我有下表,但似乎无法将其均匀分布到各列。最简单的方法是什么?

其他问题似乎表明p{( 1/# of cols )\linewidth},但这似乎对我不起作用

\begin{table}[t]
\begin{tabular}{p{0.14\linewidth}|p{0.14\linewidth}p{0.14\linewidth}|p{0.14\linewidth}p{0.14\linewidth}|p{0.14\linewidth}p{0.14\linewidth}}
% some data that's very long                   
\end{tabular}
\end{table}

由于某种原因,.14(大约为 1/7)太短了,而 .15 也太短了。有没有自动缩放的方法?

这是 CVPR 2022 论文模板,供参考。

答案1

tabularx

\documentclass{article}
\usepackage{tabularx}

\begin{document}
\begin{table}[ht]
\begin{tabularx}{\linewidth}{X|
                            XX|
                            XX|
                            XX}
\hline
1   & 2 & 3 & 4 & 5 & 6 & 7 \\
\hline 
\end{tabularx}
\end{table}
\end{document}

在此处输入图片描述

(红线表示页面布局)

或使用tblr以下tabularray包:

\documentclass{article}
\usepackage{tabularray}

\begin{document}
\begin{table}[ht]
\begin{tblr}{hlines,
             colspec = {X|XX|XX|XX}
             }
1   & 2 & 3 & 4 & 5 & 6 & 7 \\
\end{tblr}
\end{table}
\end{document}

在此处输入图片描述

结果几乎相同。不同之处在于单元格内容周围的垂直空间。

答案2

您还需要考虑列之间的填充。

\documentclass{article}
\usepackage{array}% recommended

\usepackage{tabularx}% for the second realization

\usepackage{showframe}% for showing the page boundaries

\newlength{\mycolwd}

\begin{document}

\begin{table}[htp]

% we want 7 columns, so we subtract twelve \tabcolsep 
% and 3 rule widths from the column width
% and divide by seven
\setlength{\mycolwd}{%
  \dimexpr(\columnwidth-12\tabcolsep-3\arrayrulewidth)/7\relax
}

\begin{tabular}{
  @{}% no padding at the left
  p{\mycolwd}|p{\mycolwd}
  p{\mycolwd}|p{\mycolwd}
  p{\mycolwd}|p{\mycolwd}
  p{\mycolwd}
  @{}% no padding at the right
}
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f \\
\end{tabular}

\caption{First way}

\end{table}

\begin{table}[htp]

\begin{tabularx}{\columnwidth}{
  @{}% no padding at the left
  X|X
  X|X
  X|X
  X
  @{}% no padding at the right
}
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f &
aa b c dd eee f \\
\end{tabularx}

\caption{Second way}

\end{table}

\end{document}

您会发现第二种方法不需要计算。

在此处输入图片描述

相关内容