如何减少两列之间的距离?

如何减少两列之间的距离?

我的表格中有 5 列。因此,我想减少两列之间的距离以使其看起来更美观。在下图中,我想减少第 1 列和第 2 列之间的距离。

我试过了\setlength{\tabcolsep}{5pt},但效果不太好。我希望顶行只占两行,而不是三行。我该怎么做?

在此处输入图片描述

\usepackage{tabularx,booktabs}

\usepackage{array}
\newcolumntype{Z}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}X}
\newcolumntype{C}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}p}

\begin{table}[t]
\caption{Case studies}
\centering
 \begin{tabularx}{\textwidth}{C{3cm}*5{Z}}
    \toprule
 Nature of unreliability &  Sender SST &  Receiver SST &  Implementation SST &  Retransmission Bound \\    

\midrule

Noisy (Single fixed error message) & DSST & DSST & DSST & Unbounded \\
\bottomrule
\end{tabularx}
\label{case-studies}
\end{table}

答案1

要将任意两列之间(例如,第 1 列和第 2 列之间)的列间空白量设置为0,您可以在环境@{}的第二个参数中的相应位置插入tabularx

请注意,由于第 2 列的列类型为“Z”(反过来,它基于“X”列类型),并且第一列具有固定宽度,因此示例代码中第 1 列和第 2 列之间的总列间空白仍然不为零。发生这种情况的原因是 (i) 环境tabularx会扩展相关列的宽度以填充分配的宽度,并且 (ii) 第一列的宽度可能比将其内容排版在一行上绝对必要的宽度更宽。

以下修改后的 MWE 形式实现了这个想法,并且还应用了一些进一步的改进。例如,我将删除第一列之前和最后一列之后不必要的空格,并且我还会将第一\raggedright列左对齐(使用)而不是居中设置,以使其在视觉上与数据列更加不同。

在此处输入图片描述

\documentclass[a4paper]{article}  % change if you're not using A4 paper size
\usepackage[margin=1in]{geometry} % change margin settings to desired values
\usepackage{tabularx,booktabs}
\newcolumntype{Z}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}X}
\newcolumntype{L}{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p}

\begin{document}\pagestyle{empty}
\begin{table}[t]
\caption{Case studies} \label{case-studies}

\smallskip
\begin{tabularx}{\textwidth}{@{} L{4.5cm} @{} *4{Z} @{}}
\toprule
 Nature of unreliability &  Sender SST &  Receiver SST &  Implementation SST &  Retransmission Bound \\
\midrule
Noisy (Single fixed error message) & 
DSST & DSST & DSST & Unbounded \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}

答案2

小修改米科回答:

在此处输入图片描述

\documentclass[a4paper]{article}  
\usepackage[margin=1in]{geometry}
\usepackage{tabularx,booktabs}
\newcolumntype{C}{>{\centering\let\newline\\\arraybackslash}X}% renamed

\begin{document}\pagestyle{empty}
\begin{table}[t]
\caption{Case studies} \label{case-studies}
\smallskip
\begin{tabularx}{\textwidth}{l 
       *2{>{\hsize=0.9\hsize}C} 
           *2{>{\hsize=1.1\hsize}C}
                            }
    \toprule
Nature of unreliability &  Sender SST &  Receiver SST &  Implementation SST &  Retransmission Bound \\
    \midrule
Noisy (Single fixed error message) &
DSST & DSST & DSST & Unbounded \\
    \bottomrule
\end{tabularx}
\end{table}
\end{document}

相关内容