我正在制作Springer
模板,我想创建一个tabularx
table
并固定列宽。我正在制作landscape
页面,我想创建一个包含 34 列的表格:
但问题是,我无法修复表格的宽度,我的表格的结果:
这是我的代码:
\documentclass[twocolumn]{svjour3} % twocolumn
\begin{landscape}
\start{document}
\begin{table} [htp]
\setcellgapes{3pt}
\centering
\scriptsize
\makegapedcells
%0.0255
%0.0745
%0.0145
\begin{tabularx} {\linewidth}{| p{0.072\textwidth}|
*{32}{p{0.011\textwidth}|}
p{0.069\textwidth}|}
\hline
A & \multicolumn{18} {m{0.198\textwidth}|} {A}
& \multicolumn{9} {m{0.099\textwidth}|} {A}
& \multicolumn{5} {m{0.055\textwidth}|} {A}
&Ref
\\
\hline
A & 1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32&Ref
\\
\hline
\end{tabularx}
\end{table}
\end{landscape}
\end{document}
答案1
您可以使用 tabular*,将 tabcolsep 设置为 0pt,然后让 tabular* 使用 计算宽度@{\extracolsep{\fill}}
。如果您需要多行单元格,只需更改wc{0.025\linewidth}
为p{0.025\linewidth}
,其他长度也类似。
\documentclass[twocolumn]{article} % twocolumn
\usepackage{array, pdflscape}
\begin{document}
\begin{landscape}
\begin{table*} [!htp]
\footnotesize
\setlength{\tabcolsep}{0pt}
\begin{tabular*} {\linewidth}{@{\extracolsep{\fill}}| wc{0.03\textwidth}|
*{32}{wc{0.025\textwidth}|}
wc{0.069\textwidth}|}
\hline
A & \multicolumn{18} {c|} {A}
& \multicolumn{9} {c|} {A}
& \multicolumn{5} {c|} {A}
&Ref
\\
\hline
A & 1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32&Ref
\\
\hline
\end{tabular*}
\end{table*}
\end{landscape}
\end{document}
答案2
你至少需要一 X
柱子:
\documentclass[twocolumn]{svjour3} % twocolumn
\usepackage{tabularx,pdflscape}
\begin{document}
\begin{landscape}
\small\noindent
\begin{tabularx}{\linewidth}{|X|*{32}{p{0.011\textwidth}|}X|} \hline
A & \multicolumn{18} {m{0.198\textwidth}|} {A}
& \multicolumn{9} {m{0.099\textwidth}|} {A}
& \multicolumn{5} {m{0.055\textwidth}|} {A}
&Ref\\\hline
A &
1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25&26&27&28&29&30&31&32&Ref\\\hline
\end{tabularx}
\end{landscape}
\end{document}