将表格标题与表格顶部对齐

将表格标题与表格顶部对齐

我的表格标题对齐有问题。在这里我想使用表格标题函数强制换行\shortstack。到目前为止,这种方法也有效。但是,我想将标题与表格顶部对齐。我\shortstack还没有找到该函数的有效替代方案。

这里提供了解决方案,但由于某种原因,它们对我的情况不起作用: 如何在表格单元格内添加强制换行符

有人可以帮我把标题对齐到顶部吗?(另外可能还可以左对齐?)

这是我的代码:

\documentclass[]{article}
\usepackage[margin=1in]{geometry}
\usepackage{floatrow} \floatsetup[figure]{capposition=top} \floatsetup[table]{capposition=top} \usepackage{setspace}
\usepackage{siunitx} \newcolumntype{d}{S[table-format=2.1]}
\usepackage{booktabs}
\usepackage{array}
\usepackage{multirow}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{threeparttablex}
\usepackage[normalem]{ulem}
\usepackage{makecell}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage[usestackEOL]{stackengine}

\begin{document}
\begin{tabu} to \linewidth {>{\raggedright}l|d|dddd}
\toprule
\shortstack{CAAR\\Window} & \shortstack{All\\transaction\\forms} & \shortstack{Acquisition Of\\ Partial Interest} & \shortstack{Acquisition Of\\ Majority Assets} &  \shortstack{Acquisition Of \\ Remaining Interest} & \shortstack{Merger}\\
\midrule
{(-15,-2)} & 1.7*** & 1.3** & 1.8** & 2.2*** & 2.0***\\
{(-10,-1)} & 1.9*** & 0.9** & 2.2*** & 2.4*** & 2.5***\\
{(-5,-1)} & 1.3*** & 0.9*** & 1.2*** & 1.4*** & 1.7***\\
{(-5,+5)} & 13.3*** & 5.7*** & 12.2*** & 14.7*** & 20.9***\\
{(-2,+2)} & 12.6*** & 5.5*** & 11.1*** & 13.8*** & 19.9***\\
{(-1,+1)} & 11.8*** & 5.0*** & 9.8*** & 11.9*** & 19.4***\\
{(0,0)} & 8.7*** & 3.0*** & 6.3*** & 7.0*** & 16.0***\\
{(0,+10)} & 12.1*** & 4.9*** & 10.7*** & 13.5*** & 19.4***\\
{(1,+10)} & 3.4*** & 1.8*** & 4.4*** & 6.5*** & 3.5***\\
{(2,+15)} & 1.2*** & 0.4 & 1.6** & 2.1*** & 1.4***\\
\bottomrule
\end{tabu}
\end{document}

在此处输入图片描述


我已经使用了\thead\makecell函数,但是表格标题发生了奇怪的移动:

在此处输入图片描述

答案1

  • 我不会使用软件包tabu。它不再维护,尽管存在一些与新版本软件包不兼容的修复array,但不建议使用。
  • 在你的情况下我宁愿使用tabularx
  • 为了对齐数字,我将使用包S中定义的列类型siunitx
  • 每个包只加载一次就足够了 :-),根据用途对包进行分组也是明智的(请参阅下面的 MWE)
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{booktabs, makecell, multirow, tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\usepackage[referable]{threeparttablex}
\NewExpandableDocumentCommand\mcc{mO{C}m}{\multicolumn{#1}{#2}{#3}}
\usepackage{siunitx}
\usepackage[normalem]{ulem}
\usepackage[usestackEOL]{stackengine}

\begin{document}
    \begin{table}[ht]
    \sisetup{table-format=2.1,
             table-space-text-post={***}
             } 
    \setcellgapes{2pt}
    \makegapedcells 
    \setlength\tabcolsep{3pt} 
\begin{tabularx}{\linewidth}{>{$}r<{$}@{\,}>{$}l<{$} | S | *{4}{S} @{}}
    \Xhline{1.2pt}
\mcc{2}[c|]{\makecell[t]{CAAR\\Window}} 
    & \mcc{1}[c|]{\makecell[t]{All\\transaction\\forms}} 
        & \mcc{1}{\makecell[t]{Acquisition Of\\ Partial Interest}} 
            & \mcc{1}{\makecell[t]{Acquisition Of\\ Majority Assets}} 
                &  \mcc{1}{\makecell[t]{Acquisition Of \\ Remaining Interest}} 
                    & \mcc{1}{\makecell[t]{Merger}}\\
    \Xhline{0.8pt}
(-15,   & -2)   &  1.7*** & 1.3**  &  1.8**  &  2.2*** &  2.0***    \\
(-10,   & -1)   &  1.9*** & 0.9**  &  2.2*** &  2.4*** &  2.5***    \\
 (-5,   & -1)   &  1.3*** & 0.9*** &  1.2*** &  1.4*** &  1.7***    \\
 (-5,   & +5)   & 13.3*** & 5.7*** & 12.2*** & 14.7*** & 20.9***    \\
 (-2,   & +2)   & 12.6*** & 5.5*** & 11.1*** & 13.8*** & 19.9***    \\
 (-1,   & +1)   & 11.8*** & 5.0*** &  9.8*** & 11.9*** & 19.4***    \\
  (0,   & 0)    &  8.7*** & 3.0*** &  6.3*** &  7.0*** & 16.0***    \\
  (0,   & +10)  & 12.1*** & 4.9*** & 10.7*** & 13.5*** & 19.4***    \\
  (1,   & +10)  &  3.4*** & 1.8*** &  4.4*** &  6.5*** &  3.5***    \\
  (2,   & +15)  &  1.2*** & 0.4    &  1.6**  &  2.1*** &  1.4***    \\
    \Xhline{1.2pt}
\end{tabularx}
    \end{table}
\end{document}

在此处输入图片描述

答案2

您的问题是那些d列,我相信 --- 将它们更改为l使用\multicolumn,并且\makecell可以起作用:

\documentclass[]{article}
\usepackage[margin=1in]{geometry}
\usepackage{floatrow} \floatsetup[figure]{capposition=top} \floatsetup[table]{capposition=top} \usepackage{setspace}
\usepackage{siunitx} \newcolumntype{d}{S[table-format=2.1]}
\usepackage{booktabs}
\usepackage{array}
\usepackage{multirow}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{threeparttablex}
\usepackage[normalem]{ulem}
\usepackage{makecell}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage[usestackEOL]{stackengine}

\begin{document}
\begin{tabu} to \linewidth {>{\raggedright}l|d|dddd}
\toprule
\multicolumn1{l|}{\makecell[t]{CAAR\\Window}} & \multicolumn1{l|}{\makecell[t]{All\\transaction\\forms}} & \multicolumn1l{\makecell[t]{Acquisition Of\\ Partial Interest}} & \multicolumn1l{\makecell[t]{Acquisition Of\\ Majority Assets}} &  \multicolumn1l{\makecell[t]{Acquisition Of \\ Remaining Interest}} & \multicolumn1l{\makecell[t]{Merger}}\\
\midrule
{(-15,-2)} & 1.7*** & 1.3** & 1.8** & 2.2*** & 2.0***\\
{(-10,-1)} & 1.9*** & 0.9** & 2.2*** & 2.4*** & 2.5***\\
{(-5,-1)} & 1.3*** & 0.9*** & 1.2*** & 1.4*** & 1.7***\\
{(-5,+5)} & 13.3*** & 5.7*** & 12.2*** & 14.7*** & 20.9***\\
{(-2,+2)} & 12.6*** & 5.5*** & 11.1*** & 13.8*** & 19.9***\\
{(-1,+1)} & 11.8*** & 5.0*** & 9.8*** & 11.9*** & 19.4***\\
{(0,0)} & 8.7*** & 3.0*** & 6.3*** & 7.0*** & 16.0***\\
{(0,+10)} & 12.1*** & 4.9*** & 10.7*** & 13.5*** & 19.4***\\
{(1,+10)} & 3.4*** & 1.8*** & 4.4*** & 6.5*** & 3.5***\\
{(2,+15)} & 1.2*** & 0.4 & 1.6** & 2.1*** & 1.4***\\
\bottomrule
\end{tabu}
\end{document}

在此处输入图片描述

相关内容