是否可以使用 sinuitx 提供的带有 S 列的行样式?当我尝试以下操作时,S 列不会对齐数字(它们甚至不被识别为实际数字):
\documentclass{article}
\usepackage{array}
\usepackage{siunitx}
\newcolumntype{+}{>{\global\let\currentrowstyle\relax}}
\newcolumntype{^}{>{\currentrowstyle}}
\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}%
#1\ignorespaces
}
\begin{document}
\begin{tabular}{+l^c^r^S}
\rowstyle{\bfseries}
A & B & C & {Number}\\
a & a & a & 3.14 \\
b & b & b & 12.1 \\
c & c & c & .333 \\
\end{tabular}
\end{document}
我还尝试使用其他符号作为 columntype 命令 - 但没有成功。如果没有 rowstyle,S-column 也可以正常工作。
也许使用 dcolumn 有一个解决方案,但是使用 icomma 时报告了问题,并且我希望在我的整个文档中都有 siunitx 的格式。
答案1
\documentclass{article}
\usepackage{array}
\usepackage{siunitx}
\newcolumntype{+}{>{\global\let\currentrowstyle\empty}}
\newcolumntype{^}{>{\currentrowstyle}}
\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}%
#1\ignorespaces
}
\begin{document}
\begin{tabular}{+l^c^r^S}
\rowstyle{\bfseries}
A & B & C & {Number}\\
a & a & a & 3.14 \\
b & b & b & 12.1 \\
c & c & c & .333 \\
\end{tabular}
\end{document}