我正在处理report
documentclass 中的表格。下面是我的部分代码:
\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}
,其结果是: