我想在表格中使用由 textcomp 包中的 \textlangle 和 \textrangle 生成的尖括号。我使用 siunitx 来处理数字、对齐等,但在 \textlangle 后出现了不必要的空格。我认为这是因为我没有将其指定为输入符号,但当我尝试这样做时却出现错误。MWE 在此处(我使用的是 XeLaTeX,但很乐意不使用它):
\documentclass{article}
\usepackage[a4paper, margin=0.9in]{geometry}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{lscape}
\usepackage{threeparttable}
\usepackage{caption}
\usepackage{textcomp}
\usepackage{siunitx}
\sisetup{
detect-all,
group-digits = false,
input-symbols = ( ) [ ] - + ,
table-align-text-post = false,
input-signs = ,
}
\begin{document}
\thispagestyle{empty}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{table}\centering
\begin{threeparttable}
\vspace{.75ex}
\begin{tabular}{>{\hspace{0pt}}p{2.5cm}*{7}{S[table-format=1.3,table-column-width=15mm]}}
\toprule
&\multicolumn{1}{c}{(1)} &\multicolumn{1}{c}{(2)} &\multicolumn{1}{c}{(3)} &\multicolumn{1}{c}{(4)} &\multicolumn{1}{c}{(5)} &\multicolumn{1}{c}{(6)} &\multicolumn{1}{c}{(7)} \\
\midrule
$\alpha$ & 0.044 & & 0.27\sym{***}& 0.28\sym{***}& & & \\
& (0.11) & & (0.082) & (0.082) & & & \\
&\textlangle{}0.68\textrangle{} & &\textlangle{}0.0021\textrangle{} &\textlangle{}0.0016\textrangle{} & & & \\
& 0.070 & & 0.50 & 0.51 & & & \\
&{[}{-0.26 {,}0.41}{]} & &{[}{0.20 {,}0.79}{]} &{[}{0.22 {,}0.80}{]} & & & \\
$\beta$ & 0.044 & & 0.27\sym{***}& 0.28\sym{***}& & & \\
& (0.11) & & (0.082) & (0.082) & & & \\
&\textlangle{}0.68\textrangle{} & &\textlangle{}0.0021\textrangle{} &\textlangle{}0.0016\textrangle{} & & & \\
& 0.070 & & 0.50 & 0.51 & & & \\
&{[}{-0.26 {,}0.41}{]} & &{[}{0.20 {,}0.79}{]} &{[}{0.22 {,}0.80}{]} & & & \\
$\gamma$ & 0.044 & & 0.27\sym{***}& 0.28\sym{***}& & & \\
& (0.11) & & (0.082) & (0.082) & & & \\
&\textlangle{}0.68\textrangle{} & &\textlangle{}0.0021\textrangle{} &\textlangle{}0.0016\textrangle{} & & & \\
& 0.070 & & 0.50 & 0.51 & & & \\
&{[}{-0.26 {,}0.41}{]} & &{[}{0.20 {,}0.79}{]} &{[}{0.22 {,}0.80}{]} & & & \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
答案1
这对我有用:
\documentclass{article}
\usepackage[a4paper, margin=0.9in]{geometry}
\usepackage{booktabs}
\usepackage{textcomp}
\usepackage{siunitx}
\usepackage{etoolbox}
\newrobustcmd{\lan}{\textlangle}
\newrobustcmd{\ran}{\textrangle}
\sisetup{
detect-all,
group-digits = false,
input-symbols = ( ) [ ] - + \lan \ran,
table-align-text-post = false,
}
\newcommand{\sym}[1]{\ensuremath{^{#1}}}
\begin{document}
\begin{table}
\centering
\begin{tabular}{
@{}
w{l}{15mm}
*{7}{S[table-column-width=18mm]}
}
\toprule
& {(1)} & {(2)} & {(3)} & {(4)} & {(5)} & {(6)} & {(7)} \\
\midrule
$\alpha$
& 0.044 & & 0.27\sym{***} & 0.28\sym{***} & & & \\
& (0.11) & & (0.082) & (0.082) & & & \\
&\lan 0.68\ran & &\lan 0.0021\ran &\lan 0.0016\ran & & & \\
& 0.070 & & 0.50 & 0.51 & & & \\
&{$[-0.26{,}0.41]$} & &{$[0.20{,}0.79]$} &{$[0.22{,}0.80]$} & & & \\
$\beta$
& 0.044 & & 0.27\sym{***}& 0.28\sym{***} & & & \\
& (0.11) & & (0.082) & (0.082) & & & \\
&\lan 0.68\ran & &\lan 0.0021\ran &\lan 0.0016\ran & & & \\
& 0.070 & & 0.50 & 0.51 & & & \\
&{$[-0.26{,}0.41]$} & &{$[0.20{,}0.79]$} &{$[0.22{,}0.80]$} & & & \\
$\gamma$
& 0.044 & & 0.27\sym{***} & 0.28\sym{***}& & & \\
& (0.11) & & (0.082) & (0.082) & & & \\
&\lan 0.68\ran & &\lan 0.0021\ran &\lan 0.0016\ran & & & \\
& 0.070 & & 0.50 & 0.51 & & & \\
&{$[-0.26{,}0.41]$} & &{$[0.20{,}0.79]$} &{$[0.22{,}0.80]$} & & & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
{$[-0.26{,}0.41]$}
注意,每五行的间隔更简单(更好) 。 也是\sym
以正确的方式定义的。