组织表格中的列

组织表格中的列

我用以下代码制作了一个表格:

   \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列类型(来自包),siunitxX对六个数据列的标题使用(居中版本的)列类型。这将为您提供大量的列间空白将数据与小数点对齐。

在此处输入图片描述

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

相关内容