简要背景:我正在创建一个表,其中包含一些数学模式作为列标题以及带有和不带有括号的数字作为数据。
- 我想将表中的所有数字与其小数对齐,并将列标题也与数字右对齐。
- 同时,我希望我的表格能够水平延伸到整个页面。
我的问题:我不知道如何将对齐与水平拉伸表格到整个页面结合起来。我当前的表格达到了 2.,但没有在小数点处对齐。
\documentclass[12pt]{report}
\usepackage{tabularx} %Used for autofitting column widths to textwidth
\usepackage{ragged2e}
\usepackage{booktabs}
\newcolumntype{R}{>{\RaggedLeft}X}
\begin{document}
\begin{table}[h]
\tiny
\setlength\tabcolsep{0pt} % let LaTeX figure out amount of inter-column whitespace
\begin{tabularx}{\textwidth}{m{0.0005\textwidth} R R R R R R R R R R R}
\toprule
$i$ & $\beta^{1i}$ & $\beta^{2i}$ & $\beta^{3i}$ & $\beta^{4i}$ & $E(c^i)$ & $\sigma(\Delta c^i)$ & $E(r^{e,i})$ & $\sigma(r^i)$ & $trn^i$ & $Size^i$ & $BM^i$ \\
& $(\cdot 100)$ & $(\cdot 100)$ & $(\cdot 100)$ & $(\cdot 100)$ & $(\%)$ & $(\%)$ & $(\%)$ & $(\%)$ & $(\%)$ & $(EUR)$ & \\
\midrule
1 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 \\
& (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
结果是
您能否帮助对齐小数点处的数字,同时保留右对齐的列标题并保持表格延伸到整个页面?
谢谢。C
答案1
借助siunitx
对齐数字,而tabular*
不是tabularx
确保表格与文本宽度一样宽:
\documentclass[12pt]{report}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{table}[h]
\sisetup{table-space-text-pre={(},
table-space-text-post={)},
input-open-uncertainty = ,
input-close-uncertainty = ,
table-format=1.2,
table-text-alignment=right
}
\scriptsize
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}} *{11}{S}}
\toprule
$i$ & {$\beta^{1i}$} & {$\beta^{2i}$} & {$\beta^{3i}$} & {$\beta^{4i}$} & {$E(c^i)$} & {$\sigma(\Delta c^i)$} & {$E(r^{e,i})$} & {$\sigma(r^i)$} & {$trn^i$} & {$Size^i$} & {$BM^i$} \\
& {$(\cdot 100)$} & {$(\cdot 100)$} & {$(\cdot 100)$} & {$(\cdot 100)$} & {$(\%)$} & {$(\%)$} & {$(\%)$} & {$(\%)$} & {$(\%)$} & {$(EUR)$} & \\
\midrule
1 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 \\
& (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) & (1.49) \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
答案2
使用该tabularx
包:
\documentclass[12pt]{report}
\usepackage{siunitx}
\usepackage{ragged2e}
\usepackage{booktabs, tabularx}
\newcolumntype{R}{>{\RaggedLeft}X}
\newcommand\mcx[1]{\multicolumn{1}{>{\Centering}X}{#1}}
\begin{document}
\begin{table}[ht]
\footnotesize
\sisetup{table-space-text-pre={(},
table-space-text-post={)},
input-open-uncertainty = ,
input-close-uncertainty = ,
table-format=1.2,
}
\setlength\tabcolsep{3pt}
\begin{tabularx}{\textwidth}{@{} r *{11}{S} @{}}
\toprule
$i$ & \mcx{$\beta^{1i}$} & \mcx{$\beta^{2i}$} & \mcx{$\beta^{3i}$}
& \mcx{$\beta^{4i}$} & \mcx{$E(c^i)$} & \mcx{$\sigma(\Delta c^i)$}
& \mcx{$E(r^{e,i})$} & \mcx{$\sigma(r^i)$} & \mcx{$trn^i$}
& \mcx{$Size^i$} & \mcx{$BM^i$} \\
& {$(\cdot 100)$} & {$(\cdot 100)$} & {$(\cdot 100)$} & {$(\cdot 100)$}
& {(\%)} & {(\%)} & {(\%)} & {(\%)} & {(\%)} & {(EUR)} & \\
% table body
\midrule
1 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 \\
& (1.49)& (1.49)& (1.49)& (1.49)& (1.49)& (1.49)& (1.49)& (1.49)& (1.49)& (1.49)& (1.49)\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}