Sehr breite Spalten mit dcolumn Paket

Sehr breite Spalten mit dcolumn Paket

Ich möchte, dass die folgende Tabelle perfekt zentriert im Rand steht und zwischen den einzelnen Spalten ein ungefähr gleichmäßiger Abstand besteht.

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

Antwort1

Mir ist nicht ganz klar, was erforderlich ist. Es sieht so aus, als hätten Sie vier Datenspalten: zwei mit den Daten selbst und zwei mit einer Art Fehler (oder ähnlichem). Ich würde daher diese Struktur verwenden, wobei der wiederholte Teil @aus dem arrayPaket verwendet wird:

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

Für die erste Datenspalte habe ich Platz für zwei „Ziffern“ vor dem Dezimaltrennzeichen reserviert, um das Minuszeichen zu ermöglichen. Die anderen Abstände sind einfach: einfach die Anzahl der tatsächlichen Ziffern.

Bildbeschreibung hier eingeben

verwandte Informationen