列が変化するフル幅のテーブルを取得しようとしています

列が変化するフル幅のテーブルを取得しようとしています

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 つの項目を均等に配置し、2 番目の行に 6 つの項目を配置し、3 番目の行に左に 1 つの項目、右に 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。特に、垂直方向の罫線はほとんどの場合、賢明な選択ではないことに注意してください。

関連情報