使用 dcolumn 包可以实现非常宽的列

使用 dcolumn 包可以实现非常宽的列

我希望下表在边距内完全居中,并且每列之间的间距大致相等。

 \documentclass[a4paper,11pt]{article}
  \usepackage{color,amsmath,amsfonts,amssymb}
     \usepackage[english]{babel}
  \usepackage{colortbl}
  \usepackage{booktabs,dcolumn,caption}
  \usepackage{expdlist}  %expanded list environment
  \usepackage{longtable} %multipage table
  \usepackage{setspace} %for \singlespacing
  \usepackage{adjustbox} %center tables
  \usepackage{icomma}

  \usepackage[margin=1in]{geometry}
  \usepackage{setspace}
  \setstretch{1}


 \captionsetup{labelsep=newline,singlelinecheck=false} % optional
 \newcolumntype{d}[1]{D{.}{.}{#1}} % "decimal" column type


 \setlength{\LTleft}{0pt}
 \setlength{\LTright}{0pt} %full margins

 \oddsidemargin 0.5cm %
 \evensidemargin 0.5cm %
 \textwidth 15cm %
 \topmargin  -0.2in  %
 \textheight 23.5cm %
 \headheight 15pt %


 \doublerulesep2pt

 \begin{document}


 \footnotesize

 \begin{longtable}{@{} l @{\extracolsep{\fill}} *{2}{d{5}} @{}}
 \caption{Pearson correlations} \\
 \toprule
 & \multicolumn{1}{l}{$(del1,del2)$}
 & \multicolumn{1}{l}{$(del1,del3)$} \\
 \midrule
 \endfirsthead
 \multicolumn{2}{@{}l}{\emph{(continued)}} \\
 \toprule
 & \multicolumn{1}{l}{$(del1,del2)$}
 & \multicolumn{1}{l}{$(del1,del3)$} \\
 \midrule
 \endhead
 \midrule[\heavyrulewidth]
 \multicolumn{3}{r@{}}{\emph{(continued)}}
 \endfoot
 \bottomrule
 \endlastfoot
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 Hello                & -0.032(Q>0.671) & 0.036(Q>0.620) \\
 \end{longtable}
 %\vspace{-0.8cm}

 {\noindent ....}
 \clearpage



 \end{document}

答案1

我不太清楚需要什么。看起来你有四个数据列:两个是数据本身,两个是某种形式的错误(或类似错误)。因此,我将使用该结构,重复部分使用包@中的数据array

\documentclass{article}
\usepackage{array,booktabs,caption,dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}} % "decimal" column type
\makeatletter
\newcommand*{\colspacing}{\hskip \col@sep}
\makeatother
\begin{document}
\begin{table}
  \caption{Pearson correlations} 
  \centering
  \begin{tabular}
    {
      l      % 'Entry' row
      d{2.3} % First data column
      @{\colspacing $(Q > {}$}d{1.3}@{$)$\colspacing} % First 'Q' column
      d{1.3} % Second data column
      @{\colspacing $(Q > {}$}d{1.3}@{$)$\colspacing} % First 'Q' column
    }
    \toprule 
    & \multicolumn{2}{l}{$(del1,del2)$}
    & \multicolumn{2}{l}{$(del1,del3)$} \\
    \midrule
    Hello & -0.032 & 0.671 & 0.036 & 0.620 \\
    Hello & -0.032 & 0.671 & 0.036 & 0.620 \\
    Hello & -0.032 & 0.671 & 0.036 & 0.620 \\
    Hello & -0.032 & 0.671 & 0.036 & 0.620 \\
    Hello & -0.032 & 0.671 & 0.036 & 0.620 \\
    \bottomrule
  \end{tabular}
\end{table}
\end{document}

对于第一个数据列,我在小数点前预留了两个“数字”的空间,以便输入负号。其他间距很简单:只需输入实际数字即可。

在此处输入图片描述

相关内容