将行与不同宽度的列对齐

将行与不同宽度的列对齐

我一直无法制作出合适的表格,其中的文本宽度会发生变化并且具有不同的大小。

这是我使用环境时的表格tabulary在此处输入图片描述

我想让列的大小相同,并在每行中正确对齐。似乎连字符会弄乱对齐。此外,第一列名称model 1被分成两行。

同样在第二部分中,从和hline开始cohort size,列分成两行而不是变宽以适合文本。

我使用以下

\begin{center}
\begin{table*}
\centering  
\begin{tabulary}{\textwidth}{LCCCCCC}  
\hline 
\textbf{} &  \textbf{Model 1}  & \textbf{Model 2} & \textbf{Model 3} & \textbf{Model 4} & \textbf{Model 5} & \textbf{Model 6}  \\ 
\textbf{} & \textit{Baseline}  &   \textit{Human Capital}& \textit{Gender} &  \textit{Social Capital} &    \textit{Symbolic Capital} &    \textit{Human Capital (Ext.)}  
\\  
\hline 
start year        &  0.0(0.0) &     0.0(0.0) &     0.0(0.0) &     0.0(0.0) &     0.0(0.0) &     0.0(0.0) \\[8pt] 
productivity      &           &  $-$0.67(0.01) &  $-$0.67(0.01) &  $-$0.69(0.01) &  $-$0.67(0.01) &  $-$0.67(0.01) \\[8pt] 
recognition       &           &    0.02(0.0) &    0.02(0.0) &    0.01(0.0) &    0.02(0.0) &    0.04(0.0) \\[8pt] 
male              &           &              &   0.05(0.01) &   0.04(0.01) &   0.06(0.01) &   0.05(0.01) \\[8pt] 
female            &           &              &  $-$0.05(0.02) &  $-$0.05(0.01) &  $-$0.06(0.01) &  $-$0.06(0.02) \\[8pt] 
none              &           &              &   0.01(0.02) &   0.01(0.01) &   0.01(0.02) &   0.01(0.02) \\[8pt] 
degree            &           &              &              &    0.03(0.0) &    0.04(0.0) &    0.04(0.0) \\[8pt] 
coauthor hindex   &           &              &              &   $-$0.01(0.0) &    $-$0.0(0.0) &    $-$0.0(0.0) \\[8pt] 
top-venue         &           &              &              &              &  $-$0.33(0.03) &   $-$0.3(0.04) \\[8pt] 
quality           &           &              &              &              &              &    $-$0.0(0.0) \\[8pt] \hline
cohort size       &    292,659 &       292,659 &       292,659 &       292,659 &       292,659 &       292,659 \\[8pt]
\% dropouts        &  0.63 &     0.63 &     0.63 &     0.63 &     0.63 &     0.63 \\[8pt]
F1 &     0.77   &     0.81     &    0.81     &   0.81      &    0.81       &   0.81      \\[8pt]
ROC AUC &     0.48   &     0.75     &    0.75     &   0.75      &    0.76       &   0.76     \\[8pt]
Average precision &      0.62 &         0.78 &         0.79 &         0.79 &          0.8 &         0.81 \\[8pt]\hline 
\end{tabulary}
\caption{\label{tab:my label} my caption}
\end{table*}
    \end{center}

这是我使用 的结果\begin{tabularx}{\textwidth}{XXXXXXX}。看起来好一点!另外,在第二部分中,从 开始hline,然后cohort size,列分成两行,而不是变宽以适合文本。

在此处输入图片描述

我也尝试使用 更改列大小,%\newcolumntype{x}[1]{>{\raggedleft\hspace{0pt}}p{3}}但没有成功。任何想法都非常感谢!

更新(临时) 尝试了 @Zarko 解决方案后,列和行对齐看起来不错,但表格与页面的对齐不正确。表格不在页面的中心,行没有延伸到末尾。我收到错误 overfull \hbox (68.48..) too wide in alignment in line..

这是文档类。 在此处输入图片描述

更新2 这是我使用推荐代码时的结果和代码

\documentclass[pdftex,a4paper]{scrartcl}

\usepackage{abstract}
\usepackage{color}
\usepackage{comment}
\usepackage[pdftex]{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage{array}%
\usepackage{relsize}
\usepackage{setspace}
\usepackage{booktabs, makecell}
\usepackage{siunitx}
\newcommand\chead[1]{\multicolumn{2}{c}{\bfseries#1}}
\newcommand\mci[1]{\multicolumn{2}{c}{\itshape\makecell[t]{#1}}}
\newcommand\mcc[1]{\multicolumn{2}{c}{#1}}


%\title{Temporal Changes in Inequality and the Predictability of Success in Science: A Study of 30 Computer Science Cohorts}
\title{test}


\begin{document}

\maketitle

    \begin{table*}
    \centering
    \setlength\tabcolsep{0pt}
    \renewcommand\arraystretch{1.1}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} l*{6}{S[table-format=+1.2, table-auto-round]@{}l}}
    \toprule
    & \chead{Model 1}   & \chead{Model 2}   & \chead{Model 3}
    & \chead{Model 4}   & \chead{Model 5}   & \chead{Model 6}               \\
    & \mci{Baseline}    & \mci{Human\\ Capital}
                                            & \mci{Gender}
    & \mci{Social\\ Capital}
                        & \mci{Symbolic\\ Capital}
                                            & \mci{Human\\ Capital\\ (Ext.)}\\
    \midrule
start year
    & 0.0   & (0.0) & 0.0   & (0.0) & 0.0   & (0.0) & 0.0 
    & (0.0) & 0.0   & (0.0) & 0.0   & (0.0)         \\
productivity
    &       &       & -0.67 & (0.01) & -0.67 & (0.01)& -0.69 
    & (0.01)& -0.67 & (0.01)&  -0.67 & (0.01)       \\
recognition
    &       &       & 0.02  & (0.0) & 0.02  & (0.0) & 0.01 
    & (0.0) & 0.02  & (0.0) & 0.04  & (0.0)         \\
    \addlinespace
male
    &       &       &       &       & 0.05  & (0.01)&   0.04 
    & (0.01)& 0.06  & (0.01)& 0.05  & (0.01)        \\
female
    &       &       &       &       & -0.05 & (0.02)&  -0.05 
    & (0.01)& -0.06 & (0.01)& -0.06 & (0.02)        \\
none
    &       &       &       &       & 0.01  & (0.02)& 0.01 
    & (0.01)& 0.01  & (0.02)& 0.01  & (0.02)        \\
    \addlinespace
degree
    &       &       &       &       &       &       & 0.03  
    & (0.0) & 0.04  & (0.0) & 0.04  & (0.0)         \\
coauthor hindex
    &       &       &       &       &       &       & -0.01 
    & (0.0) & -0.0  & (0.0) & -0.0  & (0.0)         \\
top-venue
    &       &       &       &       &       &       & 
    &       & -0.33 & (0.03)& -0.3  & (0.04)        \\
quality
    &       &       &       &       &       &       & 
    &       &       &       & -0.0  & (0.0)         \\
    \midrule
cohort size
    & \mcc{292,659} & \mcc{292,659} & \mcc{292,659} & \mcc{292,659}   
    & \mcc{292,659} & \mcc{292,659}                 \\
\% dropouts
    & 0.63  &       & 0.63  &       & 0.63  &       & 0.63 
    &       & 0.63  &       & 0.63  &               \\
F1  & 0.77  &       & 0.81  &       & 0.81  &       & 0.81  
    &       & 0.81  &       & 0.81  &               \\
ROC AUC
    & 0.48  &       & 0.75  &       & 0.75  &       & 0.75 
    &       & 0.76  &       & 0.76  &               \\
Average precision
    & 0.62  &       & 0.78  &       & 0.79  &       & 0.79 
    &       & 0.8   &       & 0.81  &               \\
    \bottomrule
\end{tabular*}
\caption{My caption}
\label{tab:my label}
    \end{table*}
\end{document}

在此处输入图片描述

现在水平线没问题了,但是列间距又不行了。

答案1

编辑:

使用tabular表格环境、booktabs水平规则、siunitx在偶数列中对齐小数点处的数字以及makecell列标题,并使用文档的文档类。

由于表格比文本的宽度窄,我将\tabcolsep字体大小减小到 2pt \small

\documentclass[a4paper]{scrartcl}
\usepackage{relsize}
\usepackage{setspace}

\usepackage{booktabs, makecell}
\newcommand\chead[1]{\multicolumn{2}{c}{\bfseries#1}}
\newcommand\mci[1]{\multicolumn{2}{c}{\itshape\makecell[t]{#1}}}
\newcommand\mcc[1]{\multicolumn{2}{c}{#1}}
\usepackage{siunitx}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
    \begin{table}
    \centering
    \small
    \setlength\tabcolsep{2pt}
    \renewcommand\arraystretch{1.1}
\begin{tabular}{@{}
                 l*{6}{S[table-format=+1.2,
                         table-auto-round]@{\,} l}
                @{} }
    \toprule
    & \chead{Model 1}   & \chead{Model 2}   & \chead{Model 3}
    & \chead{Model 4}   & \chead{Model 5}   & \chead{Model 6}               \\
    & \mci{Baseline}    & \mci{Human\\ Capital}
                                            & \mci{Gender}
    & \mci{Social\\ Capital}
                        & \mci{Symbolic\\ Capital}
                                            & \mci{Human\\ Capital\\ (Ext.)}\\
    \midrule
start year
    & 0.0   & (0.0) & 0.0   & (0.0) & 0.0   & (0.0) & 0.0 
    & (0.0) & 0.0   & (0.0) & 0.0   & (0.0)         \\
productivity
    &       &       & -0.67 & (0.01) & -0.67 & (0.01)& -0.69 
    & (0.01)& -0.67 & (0.01)&  -0.67 & (0.01)       \\
recognition
    &       &       & 0.02  & (0.0) & 0.02  & (0.0) & 0.01 
    & (0.0) & 0.02  & (0.0) & 0.04  & (0.0)         \\
    \addlinespace
male
    &       &       &       &       & 0.05  & (0.01)&   0.04 
    & (0.01)& 0.06  & (0.01)& 0.05  & (0.01)        \\
female
    &       &       &       &       & -0.05 & (0.02)&  -0.05 
    & (0.01)& -0.06 & (0.01)& -0.06 & (0.02)        \\
none
    &       &       &       &       & 0.01  & (0.02)& 0.01 
    & (0.01)& 0.01  & (0.02)& 0.01  & (0.02)        \\
    \addlinespace
degree
    &       &       &       &       &       &       & 0.03  
    & (0.0) & 0.04  & (0.0) & 0.04  & (0.0)         \\
coauthor hindex
    &       &       &       &       &       &       & -0.01 
    & (0.0) & -0.0  & (0.0) & -0.0  & (0.0)         \\
top-venue
    &       &       &       &       &       &       & 
    &       & -0.33 & (0.03)& -0.3  & (0.04)        \\
quality
    &       &       &       &       &       &       & 
    &       &       &       & -0.0  & (0.0)         \\
    \midrule
cohort size
    & \mcc{292,659} & \mcc{292,659} & \mcc{292,659} & \mcc{292,659}   
    & \mcc{292,659} & \mcc{292,659}                 \\
\% dropouts
    & 0.63  &       & 0.63  &       & 0.63  &       & 0.63 
    &       & 0.63  &       & 0.63  &               \\
F1  & 0.77  &       & 0.81  &       & 0.81  &       & 0.81  
    &       & 0.81  &       & 0.81  &               \\
ROC AUC
    & 0.48  &       & 0.75  &       & 0.75  &       & 0.75 
    &       & 0.76  &       & 0.76  &               \\
Average precision
    & 0.62  &       & 0.78  &       & 0.79  &       & 0.79 
    &       & 0.8   &       & 0.81  &               \\
    \bottomrule
\end{tabular}
\caption{My caption}
\label{tab:my label}
    \end{table}
\end{document}

在此处输入图片描述

(红线表示文本边框)

相关内容