列宽不会低于固定大小

列宽不会低于固定大小

我有下表:

在此处输入图片描述

使用以下代码创建:

\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} 

相关内容