我有下表:
使用以下代码创建:
\begin{table}[htb]
\scriptsize
\centering
\begin{tabular}{b{0.18\linewidth}|b{0.05\linewidth}|b{0.2\linewidth}|b{0.2\linewidth}|b{0.2\linewidth}}
\toprule
\multicolumn{1}{M}{Interviewee} & \multicolumn{1}{M}{Party} & \multicolumn{1}{M}{Date} & \multicolumn{1}{M}{Position} & \multicolumn{1}{M}{Interviewer} \\
\cmidrule(r){1-1} \cmidrule(r){2-2} \cmidrule(r){3-3} \cmidrule(r){4-4} \cmidrule(r){5-5}
Ana Gomes & PS & December 6, 2013 & MEP since 2004 & Teste \\
\bottomrule
\end{tabular}
\end{table}
我的问题是我想让第二列的宽度更小一些。我正在设置0.05\linewidth
定义宽度,但不知为何它没有低于0.1\linewidth
答案1
我建议您使用一个tabularx
环境,将其宽度设置为\textwidth
,并使用l
列类型作为第二列。这样,第二列将具有最小宽度。X
对其他 4 列使用列的修改形式。
\documentclass{article}
\usepackage{booktabs,tabularx,ragged2e}
\renewcommand{\tabularxcolumn}[1]{b{#1}} % to emulate the OP's setup
\newcolumntype{Y}{>{\RaggedRight\arraybackslash}X}
\begin{document}
\begin{table}[htb]
\footnotesize
\begin{tabularx}{\textwidth}{@{} Y l YYY @{}}
\toprule
Interviewee & Party & Date & Position & Interviewer \\
\midrule
Ana Gomes & PS & December 6, 2013 & MEP since 2004 & Teste \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}