我用以下代码制作了一个表格:
\documentclass[12pt,twoside,a4paper,openright]{report}
\usepackage[portuguese]{babel}
\usepackage[utf8]{inputenc}
\usepackage[inner=3cm,outer=2cm,tmargin=2.0cm,bmargin=2.0cm, includefoot, includehead]{geometry}
\usepackage{booktabs, multicol, multirow}
\usepackage{tabularx}
\usepackage{siunitx}
\sisetup{locale = FR}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Equipamentos e normas utilizados nos testes papeleiros com o objectivo de caracterizar as folhas de papel.}
\begin{tabularx}{\textwidth}{@{}Lcccccc@{}}
\cmidrule[0.8pt]{1-7}
Tamanho de Partícula & H60 & H60 M & H90 & H90 M & H90E & H90E M\\
\cmidrule{1-7}
\si{d_{50}} (\si{$\mu$m}) & 2,1 & 5,1 & 1,3 & 3,4 & 1,3 & 3,4\\
\cmidrule[0.8pt]{1-7}
\end{tabularx}
\label{d50}
\end{table}
\end{document}
但我希望列之间有更多空间。第一列和其他列之间的空间太大。我很难解释我想要什么。
答案1
(我已经彻底修改了这个答案。)
我认为您有三个主要选择:
继续使用
tabularx
环境,但增加长度参数的值\tabcolsep
,该参数设置了列间空白的(硬性)数量。在下面的示例中,我12pt
为此参数选择了:双倍的的默认值6pt
。切换到
tabular*
环境。tabularx
与通过扩展列的宽度直到达到整体分配的宽度(此处textwidth
:)进行操作的环境不同,tabular*
如果提供了看似神秘的指令@{\extracolsep{\fill}}
,则通过扩展列间空白来工作。
我认为这两种选择都不完美,因为它们都没有解决将数字数据与小数点对齐以使信息(更)易于解析的单独需求。因此,你可能需要
- 使用
tabularx
具有扭曲的环境:l
对第一列使用普通列类型,对数据列使用S
列类型(来自包),siunitx
和X
对六个数据列的标题使用(居中版本的)列类型。这将为您提供大量的列间空白和将数据与小数点对齐。
\documentclass[12pt,twoside,a4paper,openright]{report}
\usepackage[portuguese]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[inner=3cm,outer=2cm,tmargin=2.0cm,bmargin=2.0cm, includefoot, includehead]{geometry}
\usepackage{booktabs}
\usepackage{tabularx,ragged2e}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
\newcolumntype{C}{>{\Centering\arraybackslash}X}
\usepackage{siunitx}
\sisetup{locale = FR}
\newcommand\mc[1]{\multicolumn{1}{C}{#1}} % handy shortcut macro
\begin{document}
\begin{table}[htbp]
\caption{Equipamentos e normas utilizados nos testes papeleiros com o objectivo de caracterizar as folhas de papel.} \label{d50}
\bigskip
\verb|1. original form |
\verb| (tabularx, "L" column type for first col., "c" for data columns)|
\begin{tabularx}{\textwidth}{@{}Lcccccc@{}}
\cmidrule[0.8pt]{1-7}
Tamanho de Partícula & H60 & H60 M & H90 & H90 M & H90E & H90E M\\
\cmidrule{1-7}
\si{d_{50}} (\si{$\mu$m}) & 2,1 & 5,1 & 1,3 & 3,4 & 1,3 & 3,4\\
\cmidrule[0.8pt]{1-7}
\end{tabularx}
\bigskip
\setlength\tabcolsep{12pt} % default value: 6pt
\verb|2. tabularx with increased value of \tabcolsep|
\begin{tabularx}{\textwidth}{@{} L *{6}{c} @{}}
\midrule[0.8pt]
Tamanho de Partícula & H60 & H60 M & H90 & H90 M & H90E & H90E M\\
\cmidrule{1-7}
\si{d_{50}} (\si{\micro\meter}) & 2,1 & 5,1 & 1,3 & 3,4 & 1,3 & 3,4\\
\bottomrule[0.8pt]
\end{tabularx}
\bigskip
\setlength\tabcolsep{1pt} %% choose a deliberately small value
\verb|3. tabular* with @{\extracolsep{\fill}}|
\begin{tabular*}{\textwidth}{@{} l @{\extracolsep{\fill}} *{6}{c} @{}}
\midrule[0.8pt]
Tamanho de Partícula\quad\null & H60 & H60 M & H90 & H90 M & H90E & H90E M\\
\cmidrule{1-7}
\si{d_{50}} (\si{\micro\meter}) & 2,1 & 5,1 & 1,3 & 3,4 & 1,3 & 3,4\\
\bottomrule[0.8pt]
\end{tabular*}
\bigskip
\setlength\tabcolsep{6pt} % reset to default value
\verb|4. modified tabularx|
\verb| "l" for first col., "S" for data columns, "C" for data headers row|
\begin{tabularx}{\textwidth}{@{} l *{6}{S} @{}}
\midrule[0.8pt]
Tamanho de Partícula\quad\null &
\mc{H60} & \mc{H60 M} & \mc{H90} &
\mc{H90 M} & \mc{H90E} & \multicolumn{1}{C@{}}{H90E~M}\\
\cmidrule{1-7}
\si{d_{50}} (\si{\micro\meter}) & 2,1 & 5,1 & 1,3 & 3,4 & 1,3 & 3,4\\
\si{d_{500}} (\si{\micro\meter}) & 12,1 & 25,1 & 31,3 & 3,41 & 1,33 & 23,54\\
\bottomrule[0.8pt]
\end{tabularx}
\end{table}
\end{document}
答案2
tabcolsep
要增加列之间的空间,您可以使用环境中的以下语句设置参数的值table
: \setlength{\tabcolsep}{7pt}
\begin{table}[htbp]
\setlength{\tabcolsep}{7pt} %set appropriate space, default is 5pt (most probably).
\renewcommand{\arraystretch}{1.2} %change vertical spacing of tables
\centering
\begin{tabular}{|c|c|c|}
%Table Content
\end{tabular}
\caption{This is a caption}
\label{tab:showingUseOfSpacing}
\end{table}