表格格式

表格格式

我想创建一个这样的表格:

在此处输入图片描述

以下是代码:

\begin{table}[h]
\begin{threeparttable}
\caption{\textit{Sample Selection}}
\centering
\begin{tabular}{lcccccccc}
\toprule\toprule
& (I) & (II) &  (III) & (IV) & (V) & (VI) & (VII) & (VIII) \\
Variables & ADA Model & GCONCERN Model & MEET Model & LOGFEES Model & ADA Model & GCONCERN Model & MEET Model & LOGFEES Model\\\midrule 
NLEAD & 0.000& -0.037& 0.0301& 0.006&&&& \\
& (0.15) & (-0.16) & (0.35)  & (0.36) &&&& \\
CLEAD &&&& 0.000 &-0.038 & -0.098 & 0.020  \\
&&&& (0.22) & (-0.21) & (-0.92)  & (1.43) \\
Observations & 75,188 & 6,077 & 11,165 & 24,279 & 23,306 & 3,856 & 5,632 & 16,388\\
Adjusted $R^2$ & 0.045 & 0.149 & 0.026 & 0.694 & 0.041 & 0.155 & 0.027 & 0.711\\
\bottomrule
\end{tabular} 
\begin{tablenotes}
      \small
      \item This is where authors provide additional information about
      the data, including whatever notes are needed.
    \end{tablenotes}
\end{threeparttable}
\end{table}

我正在使用 booktabs 和 caption 包。我遇到的一些问题如下:

  1. 尽管我得到了粗体表 7,但它不是大写的,也不在单独的行上
  2. 我的表格中有很多空格,因此无法在输出中看到完整的表格。如何减少列之间的间距?
  3. 我在 caption 和 toprule 以及 note 和 bottomrule 之间找到了空格。如何重新定义空格距离。我知道我可以使用 vspace,但我想重新定义 space 选项。谢谢。

答案1

这是一个(希望)几乎完整的解决方案,包括定义一个新的 display标题样式,然后加载makecell(允许在单元格中使用\\),siunitx根据 S列类型垂直对齐小数点标记,更有趣的是,microtype在标题中留出一些字母间距。

但结果并不完美,因为括号的位置不太好——我不得不在其中一个单元格中进行手动更正,但我认为这是可以接受的。

    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[lf, mathtabular]{MinionPro}

    \usepackage[nomarginpar, textwidth = 15cm]{geometry}
    \usepackage{array, threeparttable, booktabs, caption}

    \usepackage{makecell}%
    \usepackage{siunitx}%

    \usepackage{microtype}
    \DeclareCaptionFormat{display}{\textls*[250]{\bfseries\MakeUppercase{#1}}\\[0.8ex]#3}
    \captionsetup{format=display, skip =-0.2ex}

    \begin{document}
    \setcounter{table}{6}

    \begin{table}[h]
    \centering\small%\renewcommand{\tabcolsep}{5pt}
    \begin{threeparttable}
    \caption{\textit{Sample Selection}}
    %
    \sisetup{table-figures-integer =1,table-figures-decimal =3, table-number-alignment=center, %
    table-align-text-pre=false,table-align-text-post=false,table-space-text-pre={(}, table-space-text-post={)}}%, parse-numbers=false
    \begin{tabular}{@{}l*{8}{S}@{}}
    \toprule\toprule%
    Variables & {\thead{(I)\\\emph{ADA}\\Model (1.43)}} &{\thead{(II)\\\emph{GCONCERN}\\Model}} & {\thead{(III)\\\emph{MEET}\\Model}} & {\thead{(IV)\\\emph{LOGFEES}\\Model}} & {\thead{(V)\\\emph{ADA}\\Model}} & {\thead{(VI)\\\emph{GCONCERN}\\Model}} & {\thead{(VII)\\\emph{MEET}\\Model}} & {\thead{(VIII)\\\emph{LOGFEES}\\Model}}\\
    \midrule
    \addlinespace
    \emph{NLEAD} & 0.000 & -0.037 & 0.0301 & 0.006 & & & & \\%
    &{(}0.15{)} & {(}-0.16{)}& {(}0.35{)} & {(}0.36{)} & & & & \\%
    \addlinespace
    \emph{CLEAD} & & & & & 0.000 & -0.038 & -0.098 & 0.020 \\
    & & & & & {(}0.22{)} & {(}0.21{)} & {(}0.92{)} & {(\kern -0.025em}1.43{)} \\
    \addlinespace
    Observations & {75,188}&{6,077} & {11,165} & {24,279} & {23,306} & {3,856} & {5,632} & {16,388}\\
    \addlinespace
    Adjusted $R²$ & 0.045 & 0.149 & 0.026 & 0.694 & 0.041 & 0.155 & 0.027 & 0.711\\%
    \addlinespace
    \bottomrule
    \end{tabular}
    %
    \begin{tablenotes}
          \small
          \item This is where authors provide additional information about
          the data, including whatever notes are needed.
        \end{tablenotes}
    \end{threeparttable}
    \end{table}

    \end{document} 

在此处输入图片描述

答案2

通过以下方式加载字幕包,我已经能够获得我想要的字幕:

\usepackage[bf,tablename=TABLE,labelsep=newline,aboveskip=0pt]{caption}

这里,bf 使标签“Table”变为粗体,tablename = TABLE 将默认标签更改为 TABLE,labelsep=newline 在新行开始标题,aboveskip=0pt 减少标题和 topmargin 之间的距离。

为了在表格下生成注释,我使用了 threeparttable 包。问题中的代码已更新以反映相同的内容。

仍在努力解决其他问题。

相关内容