使用 \textbf 根据小数点对齐数字,并在表格中标出星号

使用 \textbf 根据小数点对齐数字,并在表格中标出星号

我被下面的问题困扰了。

我想根据小数对齐数字。

问题是我在某些列中存在\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对齐版本,并定义了粗体数学以使用(粗体标准宽度字符)而不是(粗体和更宽的字符),以便数字对齐;\boldmathbbx

在此处输入图片描述

\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}

相关内容