我被下面的问题困扰了。
我想根据小数对齐数字。
问题是我在某些列中存在\mathbf
语句以及或或$^{***}$
。$^{**}$
$^{*}$
有没有办法轻松地对齐数字?我在下表中提供了示例。
\setlength\LTleft{0pt} % default: \parindent
\setlength\LTright{0pt} % default: \fill
\begin{center}
\begin{longtable}{@{\extracolsep{\fill}}*{1}{l}*{12}{c}}
\caption{\textbf{Table}}\\\hline
&\multicolumn{3}{c}{\emph{Panel A }} & \multicolumn{3}{c}{\emph{Panel B }}\\
$Variable_{j,t} & $\mathbf{2.545}^{***}$ & & $0.730$ & $\mathbf{0.553}^{*}$ & & $0.409$ \\
& $(0.374)$ & & $(1.777)$ & $(0.326)$ & & $(1.329)$ \\
$Variable3$ & & $\mathbf{1.932}^{***}$ & $1.218$ & & $0.156$ & $-0.249$ \\
& & $(0.423)$ & $(1.829)$ & & $(0.349)$ & $(1.315)$ \\
& & & & $(0.126)$ & $(0.122)$ & $(0.123)$ \\
$pvalue$ & 0.032 & 0.6811 & - & 0.016 &0.760 & - \\
\hline
\end{longtable}
\end{center}
答案1
您的代码有更多问题。通过与以下内容进行比较来找到它们姆韦在其中我使用siunitx
包来定义列类型、booktabs
规则以及etoolbox
粗体数字命令的稳健性:
\documentclass{article}
\usepackage{array, booktabs, longtable}
\usepackage{siunitx}
\usepackage{etoolbox}% <-- new
\newcommand{\B}{\fontseries{b}\selectfont} % renew def. for non-extended bold font
\robustify\B
\begin{document}
\setlength\LTleft{0pt} % default: \parindent
\setlength\LTright{0pt} % default: \fill
\begin{longtable}{@{} >{$}l<{$}
*{6}{S[input-symbols = {(- )},
table-space-text-post={(},
table-space-text-post ={***},
detect-weight,
table-format=1.3]}
@{}}
\caption{Table}\\
\toprule
&\multicolumn{3}{c}{\emph{Panel A }} & \multicolumn{3}{c}{\emph{Panel B}} \\
\cmidrule(lr){2-4}\cmidrule(lr){5-7}
\mathit{Variable}_{j,t} & \B 2.545$^{***}$ & & 0.730 & \B 0.553$^*$ & & 0.409 \\
& (0.374) & & (1.777) & 0.326 & & (1.329) \\
\mathit{Variable3} & & \B 1.932$^{***}$ & 1.218 & & 0.156 & -0.249 \\
& & (0.423) & (1.829) & & (0.349) & (1.315) \\
& & & & (0.126) & (0.122) & (0.123) \\
\mathit{pvalue} & 0.032 & 0.6811 & {--} & 0.016 & 0.760 & {--} \\
\bottomrule
\end{longtable}
\end{document}
答案2
这定义了一种使用而不是普通数学的dcolumns
对齐版本,并定义了粗体数学以使用(粗体标准宽度字符)而不是(粗体和更宽的字符),以便数字对齐;\boldmath
b
bx
\documentclass{article}
\usepackage{dcolumn}
\SetSymbolFont{operators}{bold}{OT1}{cmr} {b}{n}
\newcolumntype{d}{D..}
\makeatletter
\newcolumntype{b}[1]{>{\boldmath\DC@{.}{.}{#1}}c<{\DC@end}}
\makeatother
\begin{document}
\begin{tabular}{ld{3.4}}
aaa &1.2 \\
aa & 012.3^{*{*}*} \\
aa & 012.3 \\
x & \multicolumn{1}{b{3.2}}{12.34} \\
a & 654.78
\end{tabular}
\end{document}
\documentclass{article}
\usepackage{dcolumn}
\SetSymbolFont{operators}{bold}{OT1}{cmr} {b}{n}
\newcolumntype{d}{D..}
\makeatletter
\newcolumntype{b}[1]{>{\boldmath\DC@{.}{.}{#1}}c<{\DC@end}}
\makeatother
\begin{document}
\begin{tabular}{ld{3.4}}
aaa &1.2 \\
aa & 012.3^{*{*}*} \\
aa & 012.3 \\
x & \multicolumn{1}{b{3.4}}{12.34} \\
a & 654.78
\end{tabular}
\end{document}