我的表格标题对齐有问题。在这里我想使用表格标题函数强制换行\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}