我正在尝试将一些单元格加粗。有些单元格可能带有尾随星号,这也应该考虑在内。我尝试了这个帖子,但这对我的情况似乎没有多大帮助。我不确定我在这里做错了什么。
另外还有一个问题,我还想知道我是否可以\sisetup{}
每次都为每个单独的表使用不同的值,或者此命令是否设置全局值。如果它设置了全局值,我如何确保设置仅适用于该表?
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{threeparttable}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning}
\usepackage{etoolbox}
\robustify\bfseries
\begin{document}
\begin{table}[hb]
\begin{threeparttable}
\sisetup{table-format=.4,add-integer-zero=false,detect-weight=true,detect-inline-weight=math}
\begin{tabular}{lSSS|SSSS|SS}
\midrule
prof & -.1746* & .1606 & .1240 & .0556 & .1498* & .2858 * & .1204 & .1545* & .1842* \\
stud & .0005 & \bfseries{.1918} & .0206 & .0281 & .0647 & \bfseries{.3651*} & -.0312 & \bfseries{.1778*} & .0992
\end{tabular}
\begin{tablenotes}[flushleft]\item* $p<.05$\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
答案1
(我没有考虑垂直线)
与您的 MWE 相比,以下 MWE 进行了以下更改:
- 定义为
\B
用于代替命令的强大命令\bfseries
- 添加的是
mode=text
- 重新定义为
table-format
- 添加的是 * 的空间
\documentclass{book}
\usepackage{siunitx}
\usepackage{booktabs, tabularx, threeparttable}
\usepackage{etoolbox}
\newrobustcmd\B{\DeclareFontSeriesDefault[rm]{bf}{b}\bfseries} %
\begin{document}
\begin{table}[hb]
\sisetup{detect-weight, % <--
mode=text, % <--
table-format=-0.4, % <--
add-integer-zero=false,
table-space-text-post={*} % <--
}
\begin{threeparttable}
\begin{tabular}{l SSS|SSSS|SS}
\toprule
prof & -.1746* & .1606 & .1240 & .0556 & .1498* & .2858* & .1204 & .1545* & .1842* \\
stud & .0005 &\B .1918 & .0206 & .0281 & .0647 &\B .3651* & -.0312 &\B .1778* & .0992 \\
\bottomrule
\end{tabular}
\begin{tablenotes}[flushleft]\footnotesize
\item[*] $p<.05$
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}