尝试获取具有不同列的全宽表格

尝试获取具有不同列的全宽表格

我正在尝试使用 tabular 或 tabularx 让一个包含 3 个部分的表格均匀地显示出来,但是我得到的却是 3 个不同宽度且堆叠在一起的表格。

\begin{table}
\begin{tabular*}{\linewidth}[b]{lcr}
1 - 50 & \bf{The Balanced Table Header} & Sides: 44 - 1365 \\
\end{tabular*}
\begin{tabular*}{\linewidth}[b]{|c|c|c|c|c|c|}
100 & 101 & 10000000001 & 2000000002 & 3000000003 & 400000000004 \\
\end{tabular*}
\begin{tabular*}{\linewidth}[b]{lr}
BeEF - 20:7:7:16 & 20:7:7:16 - Total
\end{tabular*}
\end{table}

pdflatex 输出

这不是所需要的,我希望表格扩展到最大宽度,但第一行均匀分布 3 个项目,第二行分布 6 个项目,第三行左边分布 1 个项目,右边分布 1 个项目。

我不能让一行上的任何列压垮或扩大其他行的列宽,每行都不能影响上面或下面的行。当然,我希望表格中间有一组相同的行。

对我来说,最简单的方法就是简单地在表内动态地重新定义列布局,但我还没有找到这样做的方法。

有什么想法可以得到一个所有行都具有全宽的表格吗?

答案1

虽然几乎不被推荐,但听起来好像你想要一些大致如下的东西:

丑陋的表格

我认为,相当丑,但似乎满足了要求。

\documentclass{article}
\usepackage{array,tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{document}
\begin{table}
  \begin{tabularx}{\linewidth}{>{\hsize=.75\hsize}L>{\hsize=1.5\hsize}C>{\hsize=.75\hsize}R}
    1 - 50 & \textbf{The Balanced Table Header} & Sides: 44 - 1365
  \end{tabularx}
  \begin{tabularx}{\linewidth}{|l|c|*{3}{C|}R|}
    100 & 101 & 10000000001 & 2000000002 & 3000000003 & 400000000004
  \end{tabularx}
  \begin{tabularx}{\linewidth}{LR}
    BeEF - 20:7:7:16 & 20:7:7:16 - Total
  \end{tabularx}
\end{table}
\end{document}

请考虑阅读booktabs手册并遵循其建议。特别要注意的是,垂直规则很少是一个明智的选择。

相关内容