手动减少列间距

手动减少列间距

我正在处理reportdocumentclass 中的表格。下面是我的部分代码:

\documentclass[12pt]{report}

\usepackage[table]{xcolor} 

\setlength{\arrayrulewidth}{1mm}

\renewcommand{\arraystretch}{1.5} 


\begin{document}


\begin{table}
\begin{tabular}{l p{6cm} c m{3cm} r m{3cm}  }
\hline \\ 
 Country &   Parameter A & Parameter B  \\ [0.5ex]
\hline 

Quantity of x  &    0.8   & 25.6  \\ 

Quantity of y  &    100   & 9.4   \\  

Quantity of z  &    10    & 12.6   \\ 

Quantity of a  &  100   & 30    \\ 




\hline
\end{tabular}
\caption{Table 1}

\end{table}

\end{document}

我的问题是第 2 列和第 3 列之间的距离太大。我怎样才能让它们稍微靠近一点,同时给第 1 列留出更多空间,因为我在第 1 列中要写的内容更多?我在网上和论坛上读了很多答案,但我想我在这里遗漏了一些非常基本的东西。我尝试了很多方法,\begin{tabular}{l p{6cm} c m{3cm} r m{3cm} }但都无济于事。

答案1

正如评论中提到的,您在表中声明了太多列。我删除了其中三列。如果您想在一列中写入长文本,您可以使用一p{width}列来控制它以满足您的需求。

以下是我建议的输入表格:

% arara: pdflatex

\documentclass[12pt]{report}
\usepackage{lmodern}
\usepackage{microtype} % for better kerning in narrow columns
\usepackage{booktabs}
\usepackage{caption}
\usepackage{siunitx}

\begin{document}    
    \begin{table}
        \centering
        \begin{tabular}{p{3cm}S[table-format=3.1]S[table-format=2.1]} % adapt this 3cm to your needs
            \toprule 
            Country         & {Parameter A} & {Parameter B} \\
            \midrule            
            Quantity of $x$ & 0.8           & 25.6          \\          
            Quantity of $y$ & 100           & 9.4           \\              
            Quantity of $z$ & 10            & 12.6          \\                      
            Quantity of $a$ and some more writing if you like & 100 & 30 \\             
            \bottomrule
        \end{tabular}
        \caption{Table 1}       
    \end{table} 
\end{document}

在此处输入图片描述

我在这里添加了这个包microtype,以便在包含长文本的窄单元格中获得更好的字距调整。如果您有那么多空间,您可以调整第一列的宽度,直到看起来不错为止。如果您得到的结果像我的屏幕截图中那样难看,或者您希望所有“数量...”水平对齐,您应该将最后一个单元格(或第一行)弄得右边参差不齐(感谢 Barbara Beeton 对此提出异议)。

这可能看起来像\multicolumn{1}{>{\raggedright}p{3cm}}{Quantity of $a$ and some more writing if you like},其结果是:

在此处输入图片描述

相关内容